Найти в Дзене

Java Selenide. Driver Manager

В этой статье поговорим о автоматическом менеджменте драйверов браузеров. Как его настроить и какие есть фитчи. И так начнем с зависимостей Для внедрении в проект менеджера необходимо добавить в pom.xml, который обычно лежит в корне проекта, в тег <dependencies> следующие строки: <dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>6.0.0</version>
<scope>test</scope>
</dependency> или grandle(для любителей): dependencies {
testImplementation("io.github.bonigarcia:webdrivermanager:6.0.0")
} Поздравляю, мы сделали первый шаг к автоматизированию процесса. Следующий шаг настройка в коде: В большинстве случаев необходимо указать какой драйвер будем использовать и приступать к работе. Ниже оставлю пример настройки драйверов популярных браузеров: WebDriverManager.chromedriver().setup(); // Google Chrome WebDriverManager.safaridriver().setup(); // Safari WebDriverManager.firefoxdriver().setup(); // Mozilla FireFox WebDriverManager.

В этой статье поговорим о автоматическом менеджменте драйверов браузеров. Как его настроить и какие есть фитчи.

Driver Manager
Driver Manager

И так начнем с зависимостей

Зависимости бывают разные
Зависимости бывают разные

Для внедрении в проект менеджера необходимо добавить в pom.xml, который обычно лежит в корне проекта, в тег <dependencies> следующие строки:

<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>6.0.0</version>
<scope>test</scope>
</dependency>

или grandle(для любителей):

dependencies {
testImplementation("io.github.bonigarcia:webdrivermanager:6.0.0")
}

Поздравляю, мы сделали первый шаг к автоматизированию процесса.

Следующий шаг настройка в коде:

В большинстве случаев необходимо указать какой драйвер будем использовать и приступать к работе.

Ниже оставлю пример настройки драйверов популярных браузеров:

WebDriverManager.chromedriver().setup(); // Google Chrome
WebDriverManager.safaridriver().setup(); // Safari
WebDriverManager.firefoxdriver().setup(); // Mozilla FireFox
WebDriverManager.edgedriver().setup(); // MS Edge
WebDriverManager.iedriver().setup(); // Internet Exporer

Этого будет достаточно, чтобы менеджер автоматически скачал и запустил драйвер для установленной версии браузера.

Однако, DriverManager имеет более обширный функционал, давайте рассмотрим наиболее важные, по моему мнению настройки:

1) cachePath(String) - каталог хранения драйверов, т.е. та папка куда скачиваются и откуда запускаются драйвера. По умолчанию (~/.cache/selenium). Для данной настройки существует переменная среды: wdm.cachePath

2) proxy(String) - если ваша организация использует прокси для доступа в интернет, то данная настройка будет "must have". Прокси записывается в виде "{proxyURL}:{port}" или "{username}:{password}@{proxyURL}:{port}"(если нужна авторизация). Переменная среды - wdm.proxy

3) proxyUser(String), proxyPass(String) - возвращаясь к предыдущей настройки, мы затронули аутентификацию прокси через url, однако, для таких любителей, как я, передавать логин и пароль пользователя в разных методах, то вам сюда). Переменная среды - wdm.proxyUser и wdm.proxyPass

4) driverRepositoryUrl(URL) - иногда по тем или иным причинам необходимо указать сторонний репозиторий с драйверами браузеров, в таких случаях используем эту настройку. Переменные среды - wdm.chromeDriverUrl, wdm.operaDriverUrl, wdm.edgeDriverUrl, wdm.geckoDriverUrl, wdm.iExplorerDriverUrl

Подводя итог скажу, что все описанное в этой статье было полезно в моей практике, но существуют и другие фишки, которые возможно понадобятся вам. Для более детальной информации рекомендую сходить на официальный сайт, но предупреждаю, если с английский языком не очень, то включаем функцию переводчика).

И как всегда оставлю ссылку с примерами на Github.

Спасибо, что прочитали, надеюсь, что Вы нашли, что искали)

-3