Запуск Jenkins приводит к сбою тестов Selenium с org.openqa.selenium.WebDriverException: неизвестная ошибка: Chrome не удалось запустить: аварийный выход? - PullRequest
0 голосов
/ 28 января 2020

Я выполняю тесты Selenium для Chrome по трубопроводу Дженкинса на машине CentOs. При запуске он выдает следующую ошибку -

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
   [testng]   (unknown error: DevToolsActivePort file doesn't exist)
   [testng]   (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

Однако, если я запускаю те же тесты с той же командой (которая используется через конвейер Jenkins) с этой машины локально, он завершается успешно.

Для то же самое, я прошел через link1 , link2 , link3 и другие ответы. Из этих ответов помогло только следующее -

chrome_options.add_argument('--headless')

Но этот запуск тестирует с chrome в режиме без головы, что не является моим намерением.

В моем случае, с соответствующим браузером Chrome и версия chromedriver не помогла, также Chrome имеет разрешение на выполнение для всех.

Примечание: У меня включен дисплей компьютера CentOs

Не могли бы вы помочь понять, что вызывает этот сбой? Также, пожалуйста, помогите с тем, какие изменения кода и / или уровня машины я должен сделать для его успеха.

РЕДАКТИРОВАТЬ:

В случае, если это помогает получить больше информации .

ls | grep 'chrome' при /usr/bin дал следующий результат -

lrwxrwxrwx 1 root root          31 Jan 20 12:29 google-chrome -> /etc/alternatives/google-chrome
lrwxrwxrwx 1 root root          32 Jan 20 12:29 google-chrome-stable -> /opt/google/chrome/google-chrome

1 Ответ

0 голосов
/ 28 января 2020

Вы запускаете chromedriver локально на linux машине? Какую версию CentOS вы используете? Если вы этого еще не сделали, вам нужно установить правильный хром-драйвер для linux. Насколько я знаю, если вы хотите работать через Jenkins, вы должны работать в режиме без головы. Но я могу ошибаться. Ниже приведен еще один пост, который может помочь:

Шаги по установке и запуску безголового chrome браузера на Centos 6.5 с использованием chrome драйвера

Ниже приведены мои собственные настройки для chrome опции:

options.addArguments("--headless");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--allow-insecure-localhost");
options.addArguments("--window-size=1920,1080");
options.addArguments("start-maximized");
options.addArguments("enable-automation");
options.addArguments("--disable-infobars");
options.addArguments("--disable-browser-side-navigation");
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");
options.addArguments("--force-device-scale-factor=1");
...