[Resolved] Chrome driver открывает пустую страницу

Столкнулся со странной проблемой - chromedriver открывает пустую страницу и не выполняет никаких действий, затем через пару минут падает со следующей ошибкой:

Starting ChromeDriver 2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3) on port 37272
Only local connections are allowed.
RemoteTestNG finishing: 62751 ms
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.98 seconds
Build info: version: ‘2.45.0’, revision: ‘5017cb8e7ca8e37638dc3091b2440b90a1d8686f’, time: ‘2015-02-27 09:10:26’
System info: host: ‘Gaman-w7’, ip: ‘192.168.200.70’, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: ‘6.1’, java.version: ‘1.8.0_20’
Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:126)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:139)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:171)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:160)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:149)
at com.softengi.NotariusAutotests.CheckSearchResults(NotariusAutotests.java:103)
Disconnected from the target VM, address: ‘127.0.0.1:4119’, transport: ‘socket’

Process finished with exit code 0

При этом, иногда всё работает как по маслу некоторое время, затем опять проблема возвращается. Другие браузеры работают нормально. Пробовал обновлять chrome и chromedriver до последних версий, это не помогло. Что можете подсказать?

Интереса ради, а при старте появляется попап вверху, что хром закрешился, с предложением восстановить предыдущую сессию?

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

Решали подменой девственного профиля перед новым запуском.

1 лайк

Тесты запускаю с кастомным профилем и такого сообщения нет.

В качестве предположения с портом какие нибудь проблемы ?

Разобрался - почему-то отныне хромдрайвер мне позволяет открывать не более одного инстанса браузера с выбранным профилем, проблема странная, но жить можно. Всем спасибо за ответы.

4 лайка

Подскажите, пожалуйста, как Вы с этим боретесь?
Ошибка воспроизводится легко. Достаточно

  1. Запустить тест, откроется браузер.
  2. Не закрывать браузер.
  3. Открыть новую сессию (обязательно с тем же профилем), запустить тест - в результате через определенный таймаут webdriver валится с “UnknownError: unknown error: Chrome failed to start: crashed”

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

По идее по таймауту селениум сам закрывает не работающий браузер. Но иногда бывает (довольно редко) что не закрывает, убиваю дочерний процесс хромдрайвера от селениума.

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