Проект Jenkins, не запущенный из-за истечения времени ожидания Google Chrome

#java #google-chrome #jenkins #selenium-chromedriver

#java #google-chrome #дженкинс #selenium-chromedriver

Вопрос:

Google Chrome обновлен до версии 73.0.3683.86, а драйвер Chrome обновлен до 73.0.3683.68. при запуске java-проекта (TestNG) из Jenkins (как службы) программа выполняется неопределенно долго и не переходит к реальному коду, а время ожидания истекает.

Попытался понизить версию браузера до Chrome 71 и запустил его через ChromeDriver версии 2.46. Это успешно запускает проект. Но автоматические обновления из Chrome запускаются каждую ночь и делают его несовместимым с версией chromedriver (Chrome версии 73 и Chromedriver 2.46 — которые не будут работать).

Пытался обновить Chrome и Chromedriver до последней версии, но это не сработало.

Google Chrome запущен, ДИСПЕТЧЕР ЗАДАЧ показывает несколько запущенных экземпляров Chrome (большее, чем обычно, количество экземпляров, когда Chrome запускается через Jenkins). Удаление случайного экземпляра Google Chrome позволяет программе иногда запускаться. Но наш проект требует автоматического планирования проектов каждый день утром, и, следовательно, вручную отключить экземпляр Chrome невозможно.

Запущен с помощью user Automation Tester Building в workspace D:Code Резервное копирование Код Содержимое общего дохода [Содержимое XXXXXXXXXX] вызов $ cmd / c C:Usersa39974pAppDataLocalTempjenkins8618745924723016687.bat

D:Code Резервное копирование Code XXXXXXXXXX > run.bat

D:Code Резервное копирование Code XXXXXXXXXX > java -cp bin;библиотека /* org.testng.TestNG testng.xml

Запуск ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) на порту 6983 разрешен только для локальных подключений. Пожалуйста, защитите порты, используемые ChromeDriver и связанными с ним тестовыми платформами, чтобы предотвратить доступ вредоносного кода. log4j: ПРЕДУПРЕЖДЕНИЕ Не удалось найти приложения для logger (org.apache.http.client.protocol.RequestAddCookies). log4j: ПРЕДУПРЕЖДЕНИЕ Пожалуйста, правильно инициализируйте систему log4j. log4j: ПРЕДУПРЕЖДЕНИЕ См.http://logging.apache.org/log4j/1.2/faq.html#noconfig для получения дополнительной информации. 28 марта 2019 г. 11:50:44 org.openqa.selenium.remote.ИНФОРМАЦИЯ о СЕАНСЕ СОЗДАНИЯ ProtocolHandshake: обнаруженный диалект: OSS

[1553788844.734] [СЕРЬЕЗНЫЙ]: Время ожидания получения сообщения от средства визуализации: 600.000 [1553789144.734] [СЕРЬЕЗНОЕ]: Время ожидания получения сообщения от средства визуализации: 300.000

Ожидаемый: Chrome не должен быть тайм-аут и продолжать выполнять тестовый скрипт.

Актуально: время ожидания Chrome истекло после длительного запуска.

Ответ №1:

У меня похожая проблема, насколько я понял, после сбоя теста chromedriver закрывается не мгновенно, а только после достижения некоторого значения тайм-аута (для меня около 10 минут), но в более старой версии chromedriver эти закрывающиеся chromedriver не занимали слоты jenkins. В качестве временного исправления я бы посоветовал вам понизить версию Chrome до версии 71 и отключить автоматическое обновление

Комментарии:

1. Спасибо Inl за ваш ответ, проблема в том, что серверы, на которых мы размещаем automation framework, подпадают под групповую политику компании, которая автоматически обновляет Chrome каждую ночь.

Ответ №2:

Учитывая приведенный выше комментарий, я бы посоветовал использовать Chrome версии более 72 и chromedriver версии 2.46.

Или вы можете использовать комбинацию, упомянутую на —

http://chromedriver.chromium.org/downloads

Комментарии:

1. Спасибо, Динеш, за ваш ответ, проблема в том, что серверы, на которых мы размещаем automation framework, подпадают под групповую политику компании, которая автоматически обновляет Chrome каждую ночь. Я использовал Chrome и ChromeDriver, совместимые с той же версией. Однако эта проблема возникает каждый день из-за автоматических обновлений на сервере

Ответ №3:

Я столкнулся с аналогичной проблемой при запуске тестов Selenium в безголовом режиме через Jenkins job. Вывод консоли был следующим:

 Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 36079
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Build timed out (after 5 minutes). Marking the build as failed.
Build was aborted
  

Проблема была исправлена путем добавления «—no-sandbox» к аргументам ChromeOptions.