Внезапно отвалились готовые автотесты на Webdriver 2. Причем валятся в рандомном месте, сессия убивается по таймауту (см. ниже). Ранее всё отрабатывало чётко.
Что имеем:
1.Конфигурация
Webdriver 2.44.0 (TestNG, ANT). Запускается через Jenkins.
Jenkins находится в подсети 192.168..
Виртуалки, на которых крутится Хаб и Нода - 172.16..
Географически находятся примерно в одном городе.
2.Само тестирование происходит только под IE8, IE11 (Win7 с Modern.IE). Никаких других браузеров.
3.Логи и поведение:
а) в рандомном месте тест завершается, предварительно долго подумав, в выводе консоли -
testNGException(t): org.openqa.selenium.WebDriverException: Session [bac743f9-1c35-4cb4-a59c-89fb2eac83af] was terminated due to TIMEOUT
б) если запускать не через Jenkins, а со своего ПК(172.16..), отправив выполнение на хаб виртуалки - выполняется успешно.
в) В основном тестирование происходит под IE11 в один поток. Но для дебага запускал под IE8 - проблема воспроизвелась.
Отсюда следует, что есть какая-то проблема со связью между сервером с Jenkins и виртуалками, в результате чего получаем ошибку с таймаутом. Либо, что очевидно, какой-либо другой таймаут
Вопрос: что попробовать “подкрутить”?
Так в том то и проблема, что идентичная. У меня последняя и я на ней не тестирую. Тут недавно была тема про IE (хоть и несвязанная), где версия была более старой, но тесты падали. Потому, дабы отбросить лишние сомнения, я и заговорил об автоапдейтах.
П.С. Проблемы сети вы ведь можете легко проверить стандартными средствами. И если действительно есть потери пакетов, большие задержки и т.п., то они отразятся и на хабе / нодах. С этого в целом и надо было начинать.
Интереса ради еще попробовал nativeEvents=false.
Валится. На всякий случай даю скрины состояний хаба и ноды.
В декабре был интересный случай в виде плавающей ошибки под IE8, приводившей к вылету IE. После этого - перешли на IE11 для тестирования, а разработчики пофиксили баг с IE8. Так как я в этот период (фикса и бурного изменения системы) был на другом проекте - не уследил в результате чего могли начаться вылеты автотестов.
есть три лог-файла. кроме того, что оно порой не может найти какие-либо элементы (при каждом запуске в разных местах) более ничего криминального не заметил.
еще интереса ради увеличил ImplicitlyWait с 2 до 10сек. не помогло.