Перейти к основному содержанию

Драйверы браузеров

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

совет

Если вы хотите настроить мобильные и другие платформы пользовательского интерфейса, ознакомьтесь с нашим руководством по Настройке 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