ERR_TIMED_OUT при использовании selenide-proxy 7.7.3

Ситуация: проект, который использует selenide-selenoid и selenide-proxy версии 7.4.0 сломался прокси, выдавая ERR_TIMED_OUT в Chromium при попытке открытия любого адреса.

Я нашел эту тему, обновился до 7.7.3 и надеялся, что это решит ситуацию, однако изменений не произошло.

На всякий случай проверил с разными версиями Chrome: 117, 124 и 133 версий – никакой динамики.

Также набрел на эту заметку и привел версии всех зависимостей к одной единственной – эффекта не оказало.

Вот демо проект, в котором можно воспроизвести проблему (runProxyUseCase, если вдруг демо разрастется).

Если явно задать Configuration.proxyEnabled = false – всё прекрасно работает!

Версии ОС и софта следующие:

  • win 11 x64, java 21, kotlin 1.9.25
  • Selenide 7.7.3
  • Selenium 4.29.0
  • chrome 134.0.6944.2 windows

P.S. кажется я плохо искал и почти сразу после создания темы увидел такой тред, в котором разбирается кажется похожая проблема.

1 лайк

У меня другая ситуация.
Взял этот демо проект - тест не запускается из-за этой настройки:

selenide.remote=http://localhost:4444/wd/hub

Потому, что у меня нет такого сервиса на localhost:4444.
Как только я эту строчку удаляю, то тест сразу запускается - и с прокси, и без.

Андрей, благодарю за ответ!

Вы верно отметили, что порт 4444 в демо-проекте не занят: там должен висеть selenoid, который я решил убрать для демо, но вообще для целевого проекта он нужен :slight_smile:

Впрочем, даже когда я убрал эту строку из конфига, ситуация никак не изменилась.

Также я добавил в пару кейсов в проект для selenoid и обновил readme для локального сетапа – возможно проблема в нём и ошибку можно будет найти без запуска кода)
Если что, дополнительные кейсы у меня так же не отрабатывают ожидаемым образом: с нормальной загрузкой страницы.

Не знаю, что я ещё могу сделать.
Когда я удаляю строку “Configuration.remote”, всё работает.

А вообще проект Selenoid больше не поддерживается, перелезайте с него.
Мой совет - вообще не нужны никакие тулы для этого. Запускайте браузер локально (там же, где и тесты).
Один из вариантов: GitHub - selenide-examples/tests-in-docker: How to run Selenium tests in docker containers

P.S. Команда mvn package падает:

Configured Dockerfile “/Users/andrei/temp/selenide-demos/Dockerfile” (resolved to “/Users/andrei/temp/selenide-demos/Dockerfile”) doesn’t exist → [Help 1]

Андрей, спасибо за ответ!

Видимо у меня какая-то локальная проблема с сетапом.
По поводу Selenoid: я готов рассмотреть вариант слезть с него и запускать локально, но меня очень волнует возможность запуска браузера в docker-окружении на архитектуре arm64 в headless режиме.

P.S. Кажется я мог сделать это несколько лет назад. :sweat_smile:
Спасибо за наводку!

@asolntsev вчера проверил запуск демо-проекта на другой машине и там было что-то про сертификаты.
Верно ли понял, что новые серты надо явным образом добавить в центр сертификатов, руководствуясь README?

Нет.
В этом README вообще ничего не сказано про добавление сертов ни в какие в центры. :slight_smile:
Этот README написан для тех, кому придётся через 10 лет генерировать новые сертификаты.

Лично я вообще никакие сертификаты никогда никуда не добавлял. Благодаря тому, что Селенид по умолчанию проставляет вебдрайверу настройку acceptInsecureCerts=true, браузер и так доверяет всем сертификатам, без всякого добавления.