org.openqa.selenium.os.UnixProcess checkForError - Selenium не работает над jenkins (openshift linux - ведомый хром) - PullRequest
0 голосов
/ 13 февраля 2019

Селен код работает у меня местный.Однако он не работает над jenkins из-за ошибки подключения к серверу относительно вывода на консоль jenkins.

Дженкинс имеет открытую структуру и хромированный раб.Я установил конфигурацию, с которой селен будет работать на узле Chrome.

Я также записал коды селена как bdd (cucumber).

Вот как инициализируется webDriver:

ChromeOptions options = new ChromeOptions();
System.setProperty("webdriver.chrome.driver","/usr/bin/google-chrome");
options.addArguments("--disable-web-security");
options.addArguments("--ignore-urlfetcher-cert-requests");
options.addArguments("--disable-renderer-backgrounding");
options.addArguments("--disable-infobars");
options.addArguments("--start-maximized");
options.addArguments("--no-sandbox");
if (isHeadless) {
    options.addArguments("--headless");
}
webDriver = new ChromeDriver(options);

Вывод jenkins:

2019-02-12 16:14:54 [main] INFOTestingConfig: 65 - Загрузка TestingConfig

(google-chrome: 7834): Gtk-WARNING **: 16: 14: 57.172: невозможно открыть дисплей: 12 февраля 2019 г. 16:15:15 org.openqa.selenium.os.UnixProcess checkForError SEVERE: org.apache.commons.exec.ExecuteException: процесс завершился с ошибкой: 1 (значение выхода: 1)

сценарий: добавить новый сценарий # функции/AddNewScenario.feature:11 Учитывая, что я уже отображаю новую страницу сценария # AddingNewScenarioTest.iVeAlreadyDisplayScenarioPage () org.openqa.selenium.WebDriverException: истекло время ожидания запуска сервера драйверов.Информация о сборке: версия: '3.5.2', ревизия: '10229a9', время: '2017-08-21T17: 29: 55.15Z' Информация о системе: хост: 'jenkins-agent-blue-1', ip: '127.0.1.1 ', os.name:' Linux ', os.arch:' amd64 ', os.version:' 3.10.0-957.1.3.el7.x86_64 ', java.version:' 1.8.0_161 'Информация о драйвере:driver.version: ChromeDriver в org.openqa.selenium.remote.service.DriverService.waitUntilAvailable (DriverService.java:192) в org.openqa.selenium.remote.service.DriverService.start (DriverService.java:17g at)openqa.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:78) в org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:641) в org.openqa.severstWote.ReRemoteWebDriver.java:254) по адресу org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java:236) по адресу org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:13en. org org org. Org. Org. Org. At. Org. Org. At. Org.chrome.ChromeDriver. (ChromeDriver.java:178) в org.openqa.selenium.chrome.ChromeDriver. (ChromeDriver.java:167) в org.openqa.selenium.chrome.ChromeDriver. (ChromeDriver.java:156) в com.bmw.scmaer.testing.utils.WebBrowser.init (WebBrowser.java:50) в com.bmw.scmaer.testing.steps.: Тайм-аут ожидания [http://localhost:3437/status] доступности через 20004 мс в org.openqa.selenium.net.UrlChecker.waitUntilAvailable (UrlChecker.java:102) в org.openqa.selenium.remote.service.DriverService.waitUntilAvailable (DriverService.java:187) в org.openqa.selenium.remote.service.DriverService.start (DriverService.java:178) в org.openqa.selenium.remote.service.DriverCecutee (ecutorDriverCommandExecutor.java:78) в org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:641) в org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java:254) в org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java:236) в org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:137) в org.open.chrome.ChromeDriver. (ChromeDriver.java:178) в org.openqa.selenium.chrome.ChromeDriver. (ChromeDriver.java:167) в org.openqa.selenium.chrome.ChromeDriver. (ChromeDriver.java:156 вbmw.scmaer.testing.utils.WebBrowser.init (WebBrowser.java:50)

Дополнительный вопрос: почему он пытался подключиться к http://localhost:3437/status?

1 Ответ

0 голосов
/ 13 февраля 2019

Вместо абсолютного расположения двоичного файла google-chrome необходимо передать абсолютное местоположение двоичного файла chromedriver в строке System.setProperty() следующим образом:

System.setProperty("webdriver.chrome.driver","/path/to/chromedriver");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...