У меня проблемы с запуском теста на селен с использованием Google Chrome без заголовка, доступа к сайту, доступному только через прокси-сервер.
TLDR: Chrome без монитора не может получить доступ к сайтам через прокси-сервересли не запущен fiddler
При попытке диагностировать проблему, я обнаружил странный набор обстоятельств, заставляющих ее работать:
- Internet Explorer настроен на использование прокси иДоступ к сайту возможен только при включенном прокси.Без набора прокси-сервера Internet Explorer подключение к сайту вообще отсутствует.
- Chrome использует настройки прокси-сервера Internet Explorer, поэтому доступ к сайту с помощью Chrome зависит от установленного прокси-сервера Internet Explorer.
Пока установлен прокси-сервер Internet Explorer:
- Когда тесты Selenium выполняются с Chrome (не без заголовка), доступ к сайту осуществляется успешно.
- Когдатесты Selenium выполняются с Chrome (без заголовка), сайт не доступен (время ожидания истекло).
- Если конфигурация прокси-сервера передана в Chrome * (без заголовка), сайт не будет успешно доступен.
- Если конфигурация прокси-сервера не передана в chrome (без заголовка), сайт не будет успешно доступен.
Если мы установим fiddler на сервер, настройки прокси-сервера будут заменены прокси-сервером Fiddler, и внезапно тесты селена, выполняющиеся через хром (без заголовка), будут успешно работать.И:
- Если конфигурация прокси-сервера передана в chrome * (без заголовка), доступ к сайту осуществляется успешно.
Если конфигурация прокси-сервера не пройдена черезв chrome (без заголовка) доступ к сайту выполнен успешно.
Конфигурация прокси-сервера, переданная в chrome с использованием chrome_options.add_argument.
Примечания: - Расширения chrome не включены.
Сайт использует HTTP, поэтому нет никаких проблем, вызванных сертификатами
Доступ к веб-сайту по маршруту, для которого не требуется прокси-сервер, например, с наших рабочих столов, работает Chrome Headless.
Я пробовал это на двух разных серверах, сидентичное поведение.
Прокси-сервер не требует аутентификации.
Таким образом, Chrome Headless не может получить доступ к сайтам через прокси-сервер, если только fiddlerбежит.У кого-нибудь есть идея, почему это может быть, и как я могу заставить это работать без запуска Fiddler?