Narzędzia - Selenium i przeglądarki internetowe

Automatyzacja testów aplikacji internetowych odbywa się zazwyczaj z wykorzystaniem biblioteki Selenium WebDriver, a do ich przygotowania i uruchomienia wykorzystywane są różne przeglądarki internetowe. W tym artykule przedstawię przygotowanie środowiska do testów w oparciu o Selenium WebDriver oraz przeglądarki Chrome i Firefox.

Selenium to zbiór narzędzi i bibliotek wspierających automatyzację przeglądarek internetowych. Dostarcza podstawy do implementacji specyfikacji W3C WebDriver. Automatyzacja przeglądarek jest możliwa dzięki WebDriver API, który jest protokołem definiującym niezależny od technologii interfejs do ich kontrolowania. Każdy z tego typu programów jest wspierany przez odpowiednią implementację WebDriver API, nazywaną sterownikiem (driver), która do komunikacji z przeglądarką używa API dostarczonego przez jej producenta. Przykładami takich sterowników są geckodriver dla Mozilla Firefox oraz chromedriver dla Google Chrome.

Przeglądarki internetowe

Przeglądarka internetowa jest niezbędna podczas tworzenia testów z użyciem Selenium WebDriver. Przy automatyzacji testów aplikacji internetowych możesz używać kilku różnych przeglądarek. Ja zwykle pracuję z Chrome oraz Firefox. Przed rozpoczęciem pracy upewnij się, że zainstalowałeś najnowsze wersje obu programów.

Tip: W środowisku testowym zalecam wyłączenie automatycznych aktualizacji przeglądarki Firefox. Najlepiej jest pozwolić przeglądarce na sprawdzenie aktualizacji, ale bez automatycznej instalacji. Dlaczego? Niektóre aktualizacje nie są zsynchronizowane z aktualizacjami sterowników Selenium WebDriver, a brak kompatybilności pomiędzy nową wersją przeglądarki i dotychczasową wersją sterownika może spowodować, że testy przestaną prawidłowo funkcjonować lub nawet nie będą się uruchamiać.

Przenośne przeglądarki internetowe (dostępne dla systemu Windows)

Dla lepszej kontroli nad środowiskiem testowym, która jest kluczowa w automatyzacji, polecam używanie przeglądarek przenośnych (ang. portable). Dzięki temu zyskasz między innymi możliwość instalacji tej samej przeglądarki w różnych wersjach oraz możliwość skutecznego zadbania o kompatybilność używanych wersji przeglądarek i sterowników. Podczas uruchamiania testów z Selenium WebDriver istnieje możliwość wskazania lokalizacji przeglądarki oraz sterownika do niej.

Najpopularniejsze przeglądarki w wersji portable:

Tip: Przygotowując środowisko do automatyzacji testów, zastanów się nad utworzeniem jednego katalogu (np. selenium-dev), w którym zainstalujesz wszystkie niezbędne narzędzia, w tym przenośne przeglądarki i ich sterowniki.

Pobrane przeglądarki zainstaluj w wybranym katalogu (np. selenium-dev/browsers).

Sterowniki przeglądarek

Większość sterowników wymaga niezależnej aplikacji do komunikacji z przeglądarką intenetową. Sterowniki możesz pobrać ze stron ich twórców.

Pobrane sterowniki zapisz w wybranym katalogu (np. selenium-dev/drivers). Aby Selenium WebDriver mogło działać poprawnie, będziesz musiał podać mu lokalizację właściwego sterownika przeglądarki.

Tip: Lokalizację sterownika można wskazać przez umieszczenie go w katalogu dostępnym z poziomu zmiennej systemowej PATH lub przez parametr uruchomienia Selenium WebDriver.

Tip: W większości przypadków sterowniki tworzone są niezależnie od przeglądarek internetowych. Dlatego musisz zwrócić uwagę na informację o wersji przeglądarki, która jest wspierana przez dany sterownik, zamieszczoną na stronie internetowej sterownika.

Jeżeli już pobrałeś i rozpakowałeś wszystkie sterowniki, to upewnij się, że katalog, który je zawiera, jest dostępny z poziomu zmiennej systemowej PATH.

Jak dodać katalog do PATH w Windows 10?

  • W Windows 10 uruchom wyszukiwanie (wciśnij Win+S lub Win), wpisz Edit environment variables i uruchom znaleziony program.
  • W User variables zmień wartość zmiennej PATH dodając po średniku ; pełną ścieżkę do katalogu ze sterownikami, np. C:\selenium-dev\drivers
  • Uruchom Cmder i wykonaj komendę geckodriver

Jeśli konfiguracja zmiennej PATH jest poprawna, to geckodriver pownien się uruchomić, niezależnie od tego, w którym katalogu wpisałeś komendę. Jeśli na ekranie pojawią się komunikaty podobne do tych poniżej, oznacza to, że geckodriver uruchomił się prawidłowo i nasłuchuje na komendy na porcie 4444. W analogiczny sposób sprawdź, czy pozostałe sterowniki również uruchamiają się bez przeszkód.

1
2
3
λ geckodriver
1521659824074 geckodriver INFO geckodriver 0.19.1
1521659824111 geckodriver INFO Listening on 127.0.0.1:4444
Rafał Borowiec

Nazywam się Rafał Borowiec. Jestem w branży IT od ponad 10 lat, przygodę rozpoczynałem jako tester oprogramowania. Oprócz testowania oprogramowania i zapewniania jakości, specjalizuję się w wytwarzaniu oprogramowania oraz zarządzaniu projektami i zespołami. Chętnie dzielę się wiedzą, prowadzę blog dotyczący programowania, jestem wykładowcą oraz trenerem IT. Występuję również jako prelegent na wydarzeniach branżowych, dotyczących zarówno zapewnienia jakości, testowania, jak i programowania.