Thanks to visit codestin.com
Credit goes to webdriver.io

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

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

Для запуску автоматизації на основі протоколу 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