Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Завершаются тесты по таймауту - проблема со связью?


(Alexander Araslanov) #1

Доброго времени суток, товарищи.

Внезапно отвалились готовые автотесты на 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 и виртуалками, в результате чего получаем ошибку с таймаутом. Либо, что очевидно, какой-либо другой таймаут :smile:
Вопрос: что попробовать “подкрутить”?


(Sergey Korol) #2

Автообновления пробовали отключать?


(Alexander Araslanov) #3

автообновления системы? если да, то тут имеем следующее:

  1. машинка с IE8 не обновлялась;
  2. машинка с IE11 Обновлялась, но удалил все обновления до состояния “когда работало”. Это действие не помогло.

(Sergey Korol) #4


(Максим Малунов) #5

Имхо .

  1. попробовать поменять порты на ноде / хабе .
  2. емнип timeout можно было увеличивать .

(Alexander Araslanov) #6

версия идентична, как я вижу


(Alexander Araslanov) #7

порты используются не стандартные - 1111 и 1110.
таймаут в настройках хаба - с дефолтным(?) значением в “300000”


(Sergey Korol) #8

Так в том то и проблема, что идентичная. У меня последняя и я на ней не тестирую. :wink: Тут недавно была тема про IE (хоть и несвязанная), где версия была более старой, но тесты падали. Потому, дабы отбросить лишние сомнения, я и заговорил об автоапдейтах.

П.С. Проблемы сети вы ведь можете легко проверить стандартными средствами. И если действительно есть потери пакетов, большие задержки и т.п., то они отразятся и на хабе / нодах. С этого в целом и надо было начинать.


(Alexander Araslanov) #9

окей, попробую создать тикет на реинсталл виртуалки - посмотрим что это даст.
о результате отпишусь (если не закручусь-заверчусь :slight_smile: )

по коннективити - сделал пинг 50штук по 64бита - стабильный, без потерь.


(Alexander Araslanov) #10

Поднимаю вопрос.
Откатили машинку, версия IE11 = RTM.
Проблема всё так же повторяется -
Session [***] was terminated due to TIMEOUT

Папка с IEDriver 32bit прописана в path, в реестре запись bfcache сделана. Защищённый режим отключен.
В системном логе и логе IE ошибок нет.

Плюс, появилось еще одно интересное поведение - что некоторые формы драйвер может отправлять “в никуда”/
вот такая чертовщина.


(Alexander Araslanov) #11

Вот еще что вытворяет:
org.openqa.selenium.WebDriverException: session [***] does not exist
хотя спокойно клацало-вводило.

Виртуалка крутится на VMware vSphere.


(Alexander Araslanov) #12

Интереса ради еще попробовал nativeEvents=false.
Валится. На всякий случай даю скрины состояний хаба и ноды.

В декабре был интересный случай в виде плавающей ошибки под IE8, приводившей к вылету IE. После этого - перешли на IE11 для тестирования, а разработчики пофиксили баг с IE8. Так как я в этот период (фикса и бурного изменения системы) был на другом проекте - не уследил в результате чего могли начаться вылеты автотестов.

Еще надеюсь на помощь :slight_smile:


(vmaximv) #13

Это логи какого уровня? Debug?


(Alexander Araslanov) #14

хорошую идею дали, не подумал об этом.
поставил сейчас писать логи уровня DEBUG для драйвера,

  • логи ноды и хаба. посмотрим что получится из всего этого.

(Alexander Araslanov) #15

есть три лог-файла. кроме того, что оно порой не может найти какие-либо элементы (при каждом запуске в разных местах) более ничего криминального не заметил.
еще интереса ради увеличил ImplicitlyWait с 2 до 10сек. не помогло.


(vmaximv) #16

А вы не ищите криминал - вам надо определить виновника “убийства” рабочей сессии. Очевидно что это проще делать методом исключения.