Браузер не открывается в Jenkins при выполнении теста на селен - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь запустить задание в Jenkins, который выполняет сценарий Selenium.Он работал нормально в течение нескольких месяцев, но сегодня он просто перестал работать по неизвестной причине.Эта работа запускает первый тест, как всегда, а затем застревает.Я не получаю никаких ошибок, просто ничего не происходит после этого:

TEST STARTED: test
-------------------------------------------------------------------
[main] INFO net.serenitybdd.core.Serenity - TEST NUMBER: 1
März 26, 2019 3:02:23 NACHM. org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 46182
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
März 26, 2019 3:02:25 NACHM. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C

Я понял, что каждый раз, когда я запускаю работу с Chrome, новые Google Chrome процессы добавляют в диспетчер задач,поэтому я предполагаю, что хромированные окна появляются.Также, когда я убиваю эти процессы, я получаю следующее:

...
[1553694146.113][SEVERE]: Timed out receiving message from renderer: 10.000
[1553694146.113][WARNING]: screenshot failed, retrying
[1553694156.113][SEVERE]: Timed out receiving message from renderer: 10.000
[1553694166.118][SEVERE]: Timed out receiving message from renderer: 10.000
[1553694166.118][WARNING]: screenshot failed, retrying
[main] WARN net.thucydides.core.webdriver.WebDriverFacade - Failed to take screenshot (unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
 (Session info: chrome=73.0.3683.86)
 (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17763 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-5QTQGUC', ip: '192.168.178.23', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.1'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:\WINDOWS\TEMP\scoped_dir5...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:3697}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 73.0.3683.86, webStorageEnabled: true}
Session ID: da5e7153b21e4cb075843ac4e541ab6f)
[main] ERROR net.thucydides.core.steps.ConsoleLoggingListener -
...

Я пытался обновить Jenkins и все плагины, обновил мой браузер и веб-драйвер, отключил брандмауэр и антивирус.Пока ничего не помогло.Я все еще могу выполнить все локальные тесты через ide и понятия не имею, что пошло не так с Jenkins, что я не могу запустить свои тесты.

Есть идеи, что могло пойти не так и какс этим бороться?

PS в Firefox работает нормально, но мне тоже нужен хром

Ответы [ 4 ]

1 голос
/ 26 марта 2019

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

Во-первых, вы не должны устанавливать jenkins как приложение Windows.. Даже если вы сделаете это, но не включите флажок «Разрешить службе взаимодействовать с рабочим столом» на вкладке «Вход в систему», то Jenkins не будет отображать запущенные тесты в браузере.где найти эту вкладку -

1) В службе Windows выберите службу jenkins

2) Откройте окно свойств службы -> Вход в систему -> установите флажок «Разрешить службе взаимодействовать сdesktop "

После этого вы должны перезагрузить сервис jenkins.

Лучший подход Вы должны развернуть Jenkins из файла войны следующим образом:

1) Загрузите jenkins.war с официального сайта Jenkins

2) Разверните его с помощью командной строки: java -jar {directoryOfJenkinsFile} /jenkins.war

3) Теперь вы можетеполучить доступ к администрированию jenkins на http: // localhost: 8080

0 голосов
/ 29 марта 2019

В основном это связано с проблемой совместимости (селен и версия драйвера Chrome).Пожалуйста, обратитесь к http://chromedriver.chromium.org/downloads

Селен Тайм-аут получения сообщения от рендерера

0 голосов
/ 28 марта 2019

Итак. Я нашел проблему, и это ошибка Chronium. Более подробную информацию можно найти здесь . Я постараюсь понизить версию webdriver и chrome до более старой версии и поделюсь результатом.

EDIT: Я понизил свой Chrome до Version 72.0.3626.81, а хромедрайвер - до ChromeDriver 2.46. Хорошо работает.

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

0 голосов
/ 27 марта 2019

Это сообщение об ошибке ...

März 26, 2019 3:02:23 NACHM. org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 46182
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
März 26, 2019 3:02:25 NACHM. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C

... подразумевает, что вы использовали экземпляр класса DesiredCapabilities() и приведены для chrome , но при создании сеансаобнаруженный диалект был W3C

Как общее сознание:

  • Chrome и ChromeDriver является OSS жалоба
  • Принимая во внимание, что GeckoDriver / Firefox и IEDriverServer / Internet Explorer равен W3C жалоба.

Ваш кодовый блок помог бы нам лучше отладить проблему.Возможно, вы использовали класс DesiredCapabilities() и преобразовали для хром , но во время инициализации вы вызвали FirefoxDriver() как:

WebDriver driver =  new FirefoxDriver();

Решение

Измените инициализацию WebDriver следующим образом:

WebDriver driver = new ChromeDriver();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...