Как я могу отладить некоторые неудачные тесты с помощью «Selenium :: WebDriver :: Error :: WebDriverError неверный идентификатор сеанса»? - PullRequest
1 голос
/ 28 сентября 2019

Я неожиданно начал видеть неудачные тесты на моих сборках CI:

Selenium::WebDriver::Error::WebDriverError:
              invalid session id

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

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

У этой ошибки есть несколько странных характеристик:

  1. Я работал над новой функцией и постепенно превращал неработающие спецификации в зеленый.10 терпит неудачу, 6, 4, затем вдруг 100+ терпит неудачу с этой ошибкойЯ почти уверен, что ничего не изменил с Selenium.
  2. Только небольшое количество спецификаций функций не работает.Кажется, каждый раз одни и те же спецификации.
  3. Кажется, что эта ошибка возникает только в одной конкретной ветви.Если я объединю это в другую ветку и нажму на CI, я не получу эти ошибки.

Справочная информация:

  1. Я строю на CircleCI.
  2. Я использую circleci/ruby:2.5.3-node-browsers изображение.
  3. Я попытался вручную обновить до последних версий Chrome и chromedriver в моем конфиге CircleCI, но без улучшений.Я также почти уверен, что изображение, которое я использую, уже вытягивает последние версии.

Хотя я нашел обходной путь (используя другую ветку), я был озадачен этой проблемой и хотел бычтобы лучше понять, что происходит.Кто-нибудь может предложить хороший способ систематического изучения и отладки этого?

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