Я неожиданно начал видеть неудачные тесты на моих сборках CI:
Selenium::WebDriver::Error::WebDriverError:
invalid session id
После прочтения этой ошибки я понимаю, что это означает, что сервер ожидает сеанс, который не существует.Но мне не ясно, что может / могло бы вызвать это, и поэтому я не уверен, где я должен искать в своем приложении, чтобы решить это.
Например, может ли это означать, что тесты выполняются слишком долго и время сеанса истекло?Или это может быть вызвано параллельным выполнением тестов?Или проблемы с селеном / вебдрайверами?Или ....?
У этой ошибки есть несколько странных характеристик:
- Я работал над новой функцией и постепенно превращал неработающие спецификации в зеленый.10 терпит неудачу, 6, 4, затем вдруг 100+ терпит неудачу с этой ошибкойЯ почти уверен, что ничего не изменил с Selenium.
- Только небольшое количество спецификаций функций не работает.Кажется, каждый раз одни и те же спецификации.
- Кажется, что эта ошибка возникает только в одной конкретной ветви.Если я объединю это в другую ветку и нажму на CI, я не получу эти ошибки.
Справочная информация:
- Я строю на CircleCI.
- Я использую
circleci/ruby:2.5.3-node-browsers
изображение. - Я попытался вручную обновить до последних версий Chrome и chromedriver в моем конфиге CircleCI, но без улучшений.Я также почти уверен, что изображение, которое я использую, уже вытягивает последние версии.
Хотя я нашел обходной путь (используя другую ветку), я был озадачен этой проблемой и хотел бычтобы лучше понять, что происходит.Кто-нибудь может предложить хороший способ систематического изучения и отладки этого?