Przejdź do głównej treści

Sterowniki Przeglądarek

Aby uruchomić automatyzację opartą na protokole WebDriver, potrzebujesz sterowników przeglądarek, które tłumaczą polecenia automatyzacji i są w stanie wykonywać je w przeglądarce.

Automatyczna konfiguracja

Od wersji WebdriverIO v8.14 nie ma już potrzeby ręcznego pobierania i konfigurowania sterowników przeglądarek, ponieważ zajmuje się tym WebdriverIO. Wszystko co musisz zrobić, to określić przeglądarkę, którą chcesz testować, a WebdriverIO zajmie się resztą.

Dostosowywanie poziomu automatyzacji

WebdriverIO posiada trzy poziomy automatyzacji:

1. Pobieranie i instalacja przeglądarki za pomocą @puppeteer/browsers.

Jeśli określisz kombinację browserName/browserVersion w konfiguracji capabilities, WebdriverIO pobierze i zainstaluje żądaną kombinację, niezależnie od tego, czy na maszynie istnieje już instalacja. Jeśli pominiesz browserVersion, WebdriverIO najpierw spróbuje zlokalizować i użyć istniejącej instalacji za pomocą locate-app, w przeciwnym razie pobierze i zainstaluje aktualną stabilną wersję przeglądarki. Więcej szczegółów na temat browserVersion znajdziesz tutaj.

ostrożnie

Automatyczna konfiguracja przeglądarki nie obsługuje Microsoft Edge. Obecnie obsługiwane są tylko Chrome, Chromium i Firefox.

Jeśli masz instalację przeglądarki w lokalizacji, która nie może być automatycznie wykryta przez WebdriverIO, możesz określić plik binarny przeglądarki, co wyłączy automatyczne pobieranie i instalację.

{
capabilities: [
{
browserName: 'chrome', // lub 'firefox' lub 'chromium'
'goog:chromeOptions': { // lub 'moz:firefoxOptions' lub 'wdio:chromedriverOptions'
binary: '/path/to/chrome'
},
}
]
}

2. Pobieranie i instalacja sterownika za pomocą Chromedriver, Edgedriver lub Geckodriver.

WebdriverIO zawsze to zrobi, chyba że plik binary sterownika jest określony w konfiguracji:

{
capabilities: [
{
browserName: 'chrome', // lub 'firefox', 'msedge', 'safari', 'chromium'
'wdio:chromedriverOptions': { // lub 'wdio:geckodriverOptions', 'wdio:edgedriverOptions'
binary: '/path/to/chromedriver' // lub 'geckodriver', 'msedgedriver'
}
}
]
}
informacja

WebdriverIO nie pobierze automatycznie sterownika Safari, ponieważ jest on już zainstalowany na macOS.

ostrożnie

Unikaj określania binary dla przeglądarki i pomijania odpowiedniego binary sterownika lub odwrotnie. Jeśli określona jest tylko jedna z wartości binary, WebdriverIO spróbuje użyć lub pobrać przeglądarkę/sterownik kompatybilny z nią. Jednak w niektórych scenariuszach może to skutkować niekompatybilną kombinacją. Dlatego zaleca się, aby zawsze określać obie wartości, aby uniknąć problemów spowodowanych niekompatybilnością wersji.

3. Uruchamianie/zatrzymywanie sterownika.

Domyślnie WebdriverIO automatycznie uruchomi i zatrzyma sterownik, używając dowolnego nieużywanego portu. Określenie którejkolwiek z poniższych konfiguracji wyłączy tę funkcję, co oznacza, że będziesz musiał ręcznie uruchamiać i zatrzymywać sterownik:

Ręczna konfiguracja

Poniżej opisano, jak nadal możesz skonfigurować każdy sterownik indywidualnie. Listę wszystkich sterowników można znaleźć w README awesome-selenium.

wskazówka

Jeśli chcesz skonfigurować platformy mobilne i inne platformy interfejsu użytkownika, zapoznaj się z naszym przewodnikiem Konfiguracja Appium.

Chromedriver

Aby zautomatyzować Chrome, możesz pobrać Chromedriver bezpośrednio ze strony projektu lub za pomocą pakietu NPM:

npm install -g chromedriver

Następnie możesz go uruchomić za pomocą:

chromedriver --port=4444 --verbose

Geckodriver

Aby zautomatyzować Firefox, pobierz najnowszą wersję geckodriver dla swojego środowiska i rozpakuj ją w katalogu projektu:

npm install geckodriver

Uwaga: Inne wersje geckodriver są dostępne tutaj. Po pobraniu możesz uruchomić sterownik za pomocą:

/path/to/binary/geckodriver --port 4444

Edgedriver

Możesz pobrać sterownik dla Microsoft Edge na stronie projektu lub jako pakiet NPM za pomocą:

npm install -g edgedriver
edgedriver --version # prints: Microsoft Edge WebDriver 115.0.1901.203 (a5a2b1779bcfe71f081bc9104cca968d420a89ac)

Safaridriver

Safaridriver jest preinstalowany na MacOS i może być uruchomiony bezpośrednio za pomocą:

safaridriver -p 4444

Welcome! How can I help?

WebdriverIO AI Copilot