Метод findEl(By.tagName()).getText() вызывает UnreachableBrowserException


(Maxim) #1

Добрый день.
С некоторых пор метод на методе

Assert.assertTrue(findElement(By.tagName("body")).getText().contains(text));

стали валится тесты с ошибок

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.

Выяснилось, что это происходит при вызове getText().
сам элемент By.tagName("body"), естественно, находится. Если искать по cssSelector или XPath, все ок.
Удивительно то, почему вылетает именно эта ошибка? Вследствие нее у меня скипяться остальные тесты, т.к. немогу достучаться до браузера.
Не сталкивались с подобным?
Тесты работают в связке java+testng+selenium+jenkins
Спасибо.


(Artur Korobeynyk) #2

По ходу не вы один. Этот баг ещё существует, на гитхабе он есть, разработчики о нем знают но не могут воспроизвести. Пару дней назад кто-то предложил свое решение. Может вам поможет: http://matejtymes.blogspot.co.uk/2014/10/webdriver-fix-for-unreachablebrowserexc.html


(Stan) #3

arturk, к сожалению вы не правы. Я вступал уже в обсуждение с Мэтью именно по этому поводу. Конкретно приведенный вами пример - решение (очень костыльное) проблемы падения фантомжс-а при большом количестве асинхронных вызовов внутри тестов (если еще точнее то это ошибка гостдрайвера - драйвера, соединяющего фантомжс и селениум). Как раз сам недавно столкнулся с этой проблемой) И проблему топикстаера это не решит вообще никак. Если вдруг кто будет искать и найдет по этой ссылке, авторы фантомжс-а фиксят эту багу только во 2ой версии, которая сейчас в глубокой бэте.


(Stan) #4

по делу ТСа - какой пример html страницы? видим ли текст в боди?


(Maxim) #5

https://github.com/maxslon/copyProject.git

Выложил вариант проекта с проблемой: Error communicating with the remote browser. It may have died.
Просто открывается mamba.ru и проверяется текст на главной странице.
Причем сейчас, если делать driver.getPageSource(); вылетает такая же ошибка. Если запускать локально driver.getPageSource(); - ошибки нет...


(Stan) #6

я правильно понимаю что на мамбе вылетает? попробуй на локально сделанной странице с небольшим количеством текста внутри боди. Есть мнение что вылетает по памяти - слишком много рекурсивных элементов и слишком большое кол-во innerText внутри тэга.