Sytuacja kobiet w IT w 2024 roku
15.10.20213 min
Justyna Szatan

Justyna SzatanRedakcja Bulldogjob

Selenium 4.0 - sprawdź co zmienia aktualizacja

5 lat czekania i wreszcie jest, cały na zielono — Selenium 4.0. Sprawdź, co się zmienia.

Selenium 4.0 - sprawdź co zmienia aktualizacja

13 października 2021 nastąpiła ta wiekopomna chwila i wreszcie mamy to — stabilną wersję Selenium 4.0. Dostępna jest dla najpopularniejszych języków programowania. Zaparzcie sobie herbaty, usiądźcie wygodnie i sprawdźcie, co się zmienia.

Na Selenium 4.0 musieliśmy czekać aż 5 lat. Autorom zależało na zapewnieniu wstecznej kompatybilności publicznego API nowej wersji z tymi w 3.x. Dlatego praktycznie wszystko będzie działało po staremu. Jest jednak parę różnic. Autorzy narzędzia przygotowali instrukcję jak zaktualizować Selenium w swoich projektach. 

Autorzy narzędzia sugerują programistom, aby przestali korzystać ze starego drivera dla Firefoxa, jako iż obecnie nie współpracuje z najnowszymi wersjami czerwonego lisa. Selenium 4.0 będzie od teraz explicite informować, że stary driver jest przestarzały, sugerując korzystanie wyłącznie z GeckoDrivera.

Jakie zmiany wprowadza Selenium 4.0?

Wreszcie pojawią się precyzyjniejsze lokalizatory relacyjne, pozwalające na wyszukiwanie sąsiadów wyrenderowanych blisko wybranych elementów. Od teraz metoda findElement akceptuje lokalizatory with(By), pozwalając na wyszukiwanie obiektów umiejscowionych nad (above), pod (below), po lewej (toLeftOf), po prawej (toRightOf) lub gdziekolwiek blisko (near) wybranego elementu. Wprowadzone lokalizatory powinny uodpornić trochę Wasze testy na zmiany wprowadzane w drzewie DOM (twórcy inspirowali się Sahi).

Selenium Grid

Pozwala na szybsze i równoległe uruchamianie testów na wielu komputerach (wirtualnych i rzeczywistych) uwzględniając konfiguracje różnych przeglądarek. Jeśli jeszcze z nim nie pracowaliście — koniecznie skorzystajcie z poniższych linków i poznajcie jego działanie na przykładach:


Zachęceni wynikami projektów Zalenium i Selenoid twórcy wprowadzili zmiany w Selenium Grid, dzięki którym jest łatwiejszy w zarządzaniu i konserwacji infrastruktury. Czego możecie  się spodziewać?

  • nowego interfejsu użytkownika na bazie GraphQL z łatwiejszym wyszukiwaniem, przydatnym w tworzeniu własnych wizualizacji,
  • podglądu VNC na żywo,
  • zintegrowanej usługi OpenTelemetry do dokładniejszego śledzenia testów,
  • dodano prostszy i wygodniejszy sposób zarządzania wieloma oknami w ramach tej samej sesji,
  • usunięcia obsługi natywnej Opery i PhantomJS,
  • możliwości zrobienia zrzutu ekranu konkretnego elementu sieci (WebElement),
  • modyfikacji metody Timeout() i pollingEvery() na TIMEUNIT z Duration.

Dalsze plany rozwoju Selenium

Zespół Selenium, przy wsparciu community i sponsorów pracuje nad większym projektem — WebDriver BiDi z różnymi dostawcami przeglądarek, by testy były bardziej “mobilne”. Wszystko zgodnie ze standardami W3C. Docelowo ma zastąpić Chrome DevTools Protocol. Obecnie wykorzystuje CDP wsparty klasami pomocniczymi. Listę dotychczasowych interfejsów API obsługiwanych przez WebDriver Bidi oraz mutacje przechwytywania zdarzeń wywołań zwrotnych za pomocą console.log znajdziesz tutaj.

Walczą też o przywrócenie Selenium IDE (wycofanego w 2017 r.) - narzędzia do nagrywania i odtwarzania. Aktualizacja ma dotyczyć ulepszenia interfejsu, eksportowania kodu dla oficjalnych powiązanych języków i współpracę z przeglądarkami Firefox, Chrome, IE, Safari i Edge.

Podsumowanie

Dużym plusem są starania zapewnienia kompatybilności publicznego API z poprzednimi wersjami. Dzięki temu podbicie wersji do 4 można zrobić bardzo niewielkim kosztem i zacząć korzystać z nowych lokalizatorów czy ulepszeń Selenium Grid. Jak oceniacie wprowadzone zmiany? Podzielcie się z nami swoimi opiniami w komentarzu ?

<p>Loading...</p>