Я использую плагин webdrivermanager от Boni Garcia для установки драйвера. Когда я использую его для выполнения на своем локальном компьютере, и все работает нормально, но у меня возникают проблемы, когда я пытаюсь сделать то же самое с помощью Jenkins. Подробности ниже:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.3.0</version>
</dependency>
Теперь, когда я пытаюсь выполнить тот же проект Maven через Jenkins, я сталкиваюсь с проблемой. Моя подчиненная машина - это докер.
Сначала я попробовал webdrivermanager позаботиться об установке драйвера chrome, и я получил сообщение о том, что двоичный файл не найден.
ChromeOptions options = new ChromeOptions();
options.addArguments("headless");
options.addArguments("start-maximized");
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver(options);
Ошибка:
org.openqa.selenium.WebDriverException:
unknown error: cannot find Chrome binary
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 3.10.0-862.14.4.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Затем я попытался использовать драйвер изнутри. Я сохранил файл chromedriver в папке драйверов в моей структуре и затем попытался выполнить его, но все равно получил ошибку (на этот раз другая ошибка)
ChromeOptions options = new ChromeOptions();
options.addArguments("headless");
options.addArguments("start-maximized");
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver");
driver = new ChromeDriver(options);
Ошибка:
Running TestSuite
/home/jenkins/workspace/Dental_EIEI_Angular/EIEI Test Jenkins/src/test/resources/drivers/chromedriver: /home/jenkins/workspace/Dental_EIEI_Angular/EIEI Test Jenkins/src/test/resources/drivers/chromedriver: cannot execute binary file
Apr 03, 2019 2:19:23 PM org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 126 (Exit value: 126)