Перейти к содержимому
Автотесты

Настройка прокси в Selenium WebDriver без скрытых зависимостей

Selenium передаёт настройки прокси через browser options. Важно, чтобы значения относились к браузеру на узле выполнения, а не только к машине, запускающей тест.

3 мин чтенияПроверено и обновлено: 6 августа 2026 г.

Главное за минуту

  • Проверяйте маршрут из среды браузера.
  • Не смешивайте системный прокси и capability без документации.
  • Сетевую достижимость проверяют именно с browser node.
  • Диагностика различает аутентификацию, транспорт, TLS и ответ приложения.

Явная конфигурация

Задавайте proxy type, host и port в options используемого браузера. Конфигурацию храните рядом с описанием тестового окружения, но без секретов.

Опишите конфигурацию типизированными полями protocol, host, port и bypass, а секреты получайте из защищённого хранилища только во время запуска. Проверяйте диапазон порта и допустимые схемы до создания driver. В журнал выводите имя окружения и безопасный идентификатор реквизитов, но не URL с паролем и не заголовок Proxy-Authorization.

Локальный запуск и Grid

В Grid браузер может находиться на другом узле. Адрес localhost тогда указывает на узел браузера, а не на компьютер инженера.

Для Grid составьте таблицу сетевой достижимости между runner, hub, browser node и proxy host. Адрес, доступный с ноутбука инженера, может быть недоступен из контейнера узла. Отдельно проверьте DNS, TCP-подключение и правила исходящего трафика. Используйте нейтральное имя сервиса вместо localhost и закрепите его в конфигурации конкретного окружения.

Диагностический тест

До полного набора проверьте одну разрешённую страницу, ожидаемый код, внешний адрес и второй независимый endpoint. Это отделяет инфраструктуру от логики теста.

Smoke-проверка должна различать 407, отказ TCP, ошибку TLS, HTTP 4xx/5xx и неверный внешний маршрут. Выполните два коротких запроса к разрешённым независимым endpoint и запишите время соединения и общий результат. Если оба endpoint недоступны одинаково, останавливайте suite до тяжёлых сценариев; если падает один, исследуйте целевой сервис отдельно.

Очистка

Завершайте драйвер даже после исключения, чтобы соединения и процессы не накапливались. Реквизиты отзывайте после временного стенда.

Оберните жизненный цикл driver в try/finally и задайте ограниченное время завершения. После прогона контролируйте число процессов браузера, открытых соединений и использованных Grid sessions. Рост этих метрик между сборками означает утечку ресурсов. Временные реквизиты отзывайте после закрытия последней сессии, а не по фиксированному таймеру посреди теста.

Практический чек-лист

  1. 1Проверьте доступность proxy host из browser node.
  2. 2Выполните короткий smoke test.
  3. 3Гарантируйте driver.quit в cleanup.
  4. 4Проверьте два независимых endpoint до suite.
  5. 5Контролируйте процессы и Grid sessions после cleanup.

Источники и документы

Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.

  1. 1.Selenium: Browser Options: Proxy
  2. 2.RFC Editor / IETF: RFC 9110: HTTP Semantics
  3. 3.RFC Editor / IETF: RFC 1928: SOCKS Protocol Version 5

Продолжить чтение

Материалы по близкой теме

Честная проверка

Что на самом деле подтверждает сайт проверки IP

Читать

Практическая проверка

Как проверить HTTP- и SOCKS5-прокси через cURL

Читать

Диагностика

Как построить честный чекер прокси: состояния, таймауты и параллельность

Читать