WebDriver API
jest protokołem definiującym niezależny od technologii interfejs do kontrolowania przeglądarek. Producenci popularnych przeglądarek często dostarczają własną implementację WebDriver API
, nazywaną sterownikiem (ang. 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
.
Manualne zarządzanie wersjami sterowników w projektach jest czasochłonne i podatne na błędy, dlatego też zalecam używanie narzędzi automatyzujących ten proces. Popularnym narzędziem wykorzystywanym w projektach opartych o technologię Python
jest Webdriver Manager
- biblioteka umożliwiająca automatyczne zarządzanie binariami sterowników wymaganymi przez Selenium WebDriver
.
Działanie Webdriver Manager
Biblioteka Webdriver Manager
rozwiązuje problem zarządzania sterownikami do przeglądarek poprzez automatyczne pobranie sterownika o wskazanej wersji i zapisanie go w lokalnym katalogu (~/.wdm
)
W wyniku tego otrzymujemy środowisko, które jest prawidłowo skonfigurowane i gotowe do automatycznego kontrolowania przeglądarki. Jak więc skorzystać z tej metody?
Dodanie zależności do projektu
Bibliotekę Webdriver Manager
znajdziesz w centralnym repozytorium PyPI. Instalacja pakietu odbywa się przez wykonanie komendy:
1 | pip install webdriver_manager |
Podstawowe wykorzystanie biblioteki w testach
Automatyczne zarządzanie sterownikami jest możliwe przez wykorzystanie odpowiedniej klasy z pakietu webdriver_manager
. Dla przeglądarki Firefox będzie to klasa GeckoDriverManager
, a dla przeglądarki Chrome ChromeDriverManager
.
1 | from webdriver_manager.firefox import GeckoDriverManager |
Metoda install()
zwraca ścieżkę, pod którą znajduje się zainstalowany przez managera sterownik.
Webdriver Manager
aktualnie umożliwia zarządzenie sterownikami do przeglądarek Chrome, Firefox, Opera, oraz Internet Explorer.
Przykładowy test wykorzystujący Webdriver Manager
jest następujący:
1 | import pytest |
Selenium Manager
(od Selenium
w wersji 4.6
)
Selenium Manager
to nowe narzędzie, które automatycznie zarządza sterownikami i pomaga w łatwym uruchomieniu Selenium
. Selenium Manager
skonfiguruje sterowniki dla przeglądarek Chrome
, Firefox
i Edge
, jeśli nie są one dostępne w PATH
, podobnie jak Webdriver Manager
. Narzędzie to jest dostępne od Selenium
w wersji 4.6
.
Więcej informacji na temat
Selenium Manager
znajdziesz na naszym blogu w artykule Selenium Manager - łatwiejszy start z automatyzacją testów Selenium dzięki nowej funkcjonalności.
Podsumowanie
Webdriver Manager
jest biblioteką, która rozwiązuje problem poprawnej konfiguracji środowiska dla testów z użyciem Selenium WebDriver
. Ułatwia ona znacząco tworzenie jak i uruchamianie testów w różnych systemach operacyjnych, z użyciem przeglądarek (i sterowników) w różnych wersjach.
Zobacz również
- Gotowy do użycia szablon projektu
Pytest
,Selenium
,Webdriver Manager
- https://gitlab.com/qalabs/blog/pytest-selenium-template - Strona projektu
Webdriver Manager
- https://github.com/SergeyPirogov/webdriver_manager - Python i PyCharm - https://blog.qalabs.pl/narzedzia/python-pycharm
- Pierwsze kroki z Pytest - https://blog.qalabs.pl/pytest/pytest-pierwsze-kroki