Последние двоичные файлы ChromeDriver упакованы в виде zip-файлов для различных хост-платформ.
Более ранние версии ChromeDriver можно найти в разделе «Загрузки» .
Поддерживаемые приложения
ChromeDriver поддерживает запуск тестов в браузере Chrome (версия 30+) и приложениях на основе WebView, начиная с Android 4.4 (KitKat) , в которых включена веб-отладка и JavaScript .
Вы можете установить приложение Chrome отсюда:
Стабильная версия: https://play.google.com/store/apps/details?id=com.android.chrome.
Языковые привязки Selenium WebDriver
Для написания тестов необходимо установить стандартные языковые привязки WebDriver проекта Selenium для выбранного вами языка. Эта библиотека доступна в вашем локальном менеджере пакетов или проекте Selenium .
Например, привязки языка для Python можно установить с помощью pip.
$ pip install selenium
Android SDK
SDK можно загрузить с сайта Developer.android.com/sdk/ .
Требования к устройству
Начиная с версии Chrome 33, рутированное устройство не требуется. При выполнении тестов в более ранних версиях Chrome устройства должны быть рутированы, поскольку ChromeDriver требовал доступ на запись в каталог /data/local
для установки аргументов командной строки Chrome.
Запустите ChromeDriver
Запустите сервер Android Debug Bridge (adb) из Android SDK:
$ adb start-server
При тестировании приложения Chrome до версии 33 убедитесь, что оболочка adb имеет доступ на чтение и запись в каталог
/data/local
на устройстве:$ adb shell su -c chmod 777 /data/local
Мы рекомендуем запускать ChromeDriver через библиотеку Selenium, хотя вы также можете запустить его вручную из командной строки.
$ ./chromedriver
Варианты только для Android
Следующие параметры Chrome применимы как к приложениям Chrome, так и к приложениям WebView:
-
androidPackage
: имя пакета приложения Chrome или WebView. -
androidDeviceSerial
: (необязательно) Серийный номер устройства, на котором нужно запустить приложение (см. раздел «Несколько устройств» ниже). -
androidUseRunningApp
: (Необязательно) Прикрепите к уже работающему приложению вместо запуска приложения с чистым каталогом данных.
Следующие возможности применимы только к приложениям WebView.
- androidActivity : имя действия, в котором размещен WebView.
- androidProcess : (Необязательно) Имя процесса действия, в котором размещен WebView (как указано в ps). Если оно не указано, предполагается, что имя процесса такое же, как
androidPackage
.
Запустить тест
Тесты должны передавать имя пакета приложения в ChromeDriver через параметр androidPackage
. Например, минимальный тест Python выглядит так:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
driver = webdriver.Chrome('./chromedriver', options=options)
driver.get('https://google.com')
driver.quit()
Несколько устройств
Чтобы использовать определенное устройство для сеанса, укажите androidDeviceSerial
в качестве параметра Chrome.
Если серийный номер не указан, сервер случайным образом выбирает неиспользуемое устройство для связи с каждым сеансом. Ошибка возвращается, если на всех устройствах уже есть активные сеансы, поэтому тесты должны обязательно вызывать выход по завершении.
Подключитесь к wd/hub
Если ваши тесты предполагают подключение к wd/hub
, вы можете добавить --url-base=wd/hub
при запуске сервера:
$ ./chromedriver --url-base=wd/hub