Перейти до основного вмісту

Драйвери браузерів

Для запуску автоматизації на основі протоколу WebDriver вам потрібно налаштувати драйвери браузерів, які перекладають команди автоматизації та можуть виконувати їх у браузері.

Автоматичне налаштування

Починаючи з WebdriverIO v8.14 і вище, більше немає потреби вручну завантажувати та налаштовувати будь-які драйвери браузерів, оскільки це виконується WebdriverIO. Все, що вам потрібно зробити, це вказати браузер, який ви хочете тестувати, і WebdriverIO зробить все інше.

Налаштування рівня автоматизації

WebdriverIO має три рівні автоматизації:

1. Завантаження та встановлення браузера за допомогою @puppeteer/browsers.

Якщо ви вказуєте комбінацію browserName/browserVersion у конфігурації capabilities, WebdriverIO завантажить і встановить запитану комбінацію, незалежно від того, чи існує вже встановлена версія на комп'ютері. Якщо ви опустите browserVersion, WebdriverIO спочатку спробує знайти та використати існуючу установку за допомогою locate-app, інакше він завантажить і встановить поточну стабільну версію браузера. Для отримання додаткової інформації про browserVersion дивіться тут.

обережно

Автоматичне налаштування браузера не підтримує Microsoft Edge. На даний момент підтримуються лише Chrome, Chromium і Firefox.

Якщо у вас є встановлення браузера в місці, яке не може бути автоматично виявлено WebdriverIO, ви можете вказати бінарний файл браузера, що відключить автоматичне завантаження та встановлення.

{
capabilities: [
{
browserName: 'chrome', // або 'firefox' чи 'chromium'
'goog:chromeOptions': { // або 'moz:firefoxOptions' чи 'wdio:chromedriverOptions'
binary: '/path/to/chrome'
},
}
]
}

2. Завантаження та встановлення драйвера за допомогою Chromedriver, Edgedriver або Geckodriver.

WebdriverIO завжди виконуватиме це, якщо binary драйвера не вказано в конфігурації:

{
capabilities: [
{
browserName: 'chrome', // або 'firefox', 'msedge', 'safari', 'chromium'
'wdio:chromedriverOptions': { // або 'wdio:geckodriverOptions', 'wdio:edgedriverOptions'
binary: '/path/to/chromedriver' // або 'geckodriver', 'msedgedriver'
}
}
]
}
інфо

WebdriverIO не буде автоматично завантажувати драйвер Safari, оскільки він вже встановлений на macOS.

обережно

Уникайте вказування binary для браузера і одночасного пропуску відповідного binary драйвера або навпаки. Якщо вказано лише одне зі значень binary, WebdriverIO спробує використати або завантажити сумісний браузер/драйвер. Однак, у деяких сценаріях це може призвести до несумісної комбінації. Тому рекомендується завжди вказувати обидва значення, щоб уникнути проблем, спричинених несумісністю версій.

3. Запуск/зупинка драйвера.

За замовчуванням WebdriverIO автоматично запускатиме та зупинятиме драйвер, використовуючи будь-який вільний порт. Вказування будь-якого з наступних параметрів конфігурації відключить цю функцію, що означає, що вам потрібно буде вручну запускати та зупиняти драйвер:

  • Будь-яке значення для port.
  • Будь-яке значення, відмінне від значення за замовчуванням для protocol, hostname, path.
  • Будь-яке значення для user і key.

Ручне налаштування

Нижче описано, як ви все ще можете налаштувати кожний драйвер окремо. Ви можете знайти список з усіма драйверами в README awesome-selenium.

порада

Якщо ви шукаєте налаштування мобільних та інших платформ UI, перегляньте наш посібник з налаштування Appium.

Chromedriver

Для автоматизації Chrome ви можете завантажити Chromedriver безпосередньо на веб-сайті проекту або через пакет NPM:

npm install -g chromedriver

Потім ви можете запустити його за допомогою:

chromedriver --port=4444 --verbose

Geckodriver

Для автоматизації Firefox завантажте останню версію geckodriver для вашого середовища та розпакуйте її в каталозі вашого проекту:

npm install geckodriver

Примітка: Інші випуски geckodriver доступні тут. Після завантаження ви можете запустити драйвер за допомогою:

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

Edgedriver

Ви можете завантажити драйвер для Microsoft Edge на веб-сайті проекту або як пакет NPM через:

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

Safaridriver

Safaridriver попередньо встановлений на вашому MacOS і може бути запущений безпосередньо за допомогою:

safaridriver -p 4444

Welcome! How can I help?

WebdriverIO AI Copilot