Ко всем статьям

Мобильные прокси для Selenium: индивидуальные IP для geo‑QA

2026-02-09
Мобильные прокси для Selenium: индивидуальные IP для geo‑QA

Что такое Selenium, где он применяется, как задавать proxy в WebDriver и зачем QA‑команде индивидуальные мобильные IP для проверки локализации и капч.

Что такое Selenium и зачем он нужен

Selenium — набор инструментов для автоматизации браузера: тестовый код управляет Chrome/Firefox/Edge так, как это делает пользователь. Его используют в web‑QA для проверки критичных сценариев (логин, регистрация, корзина, оплата), в регрессе после релизов и для мониторинга (регулярно открывать страницы и фиксировать ошибки).

Сильная сторона Selenium в том, что он работает «как браузер»: выполняет JavaScript, обрабатывает редиректы, cookie и LocalStorage, а также воспроизводит поведение антибот‑механизмов лучше, чем простой HTTP‑клиент.

Типовые задачи: QA, регресс, мониторинг, локализация

  • Функциональное web‑QA: end‑to‑end сценарии «нашёл → добавил → оплатил».
  • Регресс‑наборы: быстрый прогон основных путей после изменений.
  • Smoke‑тесты: короткая проверка перед деплоем.
  • Мониторинг: доступность страниц, ошибки фронта, деградации.
  • Geo‑проверки: язык, валюта, доставка, методы оплаты, контент.

Режимы запуска и почему это важно для proxy

  • Локально: драйвер и браузер на вашей машине.
  • Headless: запуск без окна (часто в CI), быстрее и дешевле, но иногда отличается поведение сайта.
  • Selenium Grid / RemoteWebDriver: браузеры на удалённых нодах (Docker/VM), удобно масштабировать параллельно.

Во всех режимах прокси надёжнее задавать на старте сессии WebDriver через options/capabilities, как описано в спецификации WebDriver и документации Selenium.

Где указывается proxy в Selenium

  • W3C proxy capability: объект «proxy» внутри capabilities — самый переносимый вариант.
  • Класс Proxy в Selenium: задаёт http/ssl/socks/noProxy и передаётся в драйвер/опции.
  • Нативные флаги браузера: в Chromium есть --proxy-server, --no-proxy-server и авто‑детект.

Режимы proxy по WebDriver: manual, pac, autodetect, direct

На практике в QA чаще всего используют manual (явно задать адрес и порт). PAC и autodetect полезны в корпоративных сетях, но снижают воспроизводимость в CI. «direct» удобно, чтобы гарантированно отключить системные настройки.

Почему именно мобильные прокси

Мобильные прокси дают выход в интернет через IP мобильных операторов (4G/5G). Это важно, когда вы хотите воспроизвести сценарий «как у мобильного пользователя» не только по User‑Agent, но и по сетевым признакам: репутация IP, особенности NAT/CGNAT, маршрутизация и геопривязка.

Индивидуальные mobile proxy (условно «один канал/модем на одну команду или поток») полезны тем, что тесты меньше влияют друг на друга: меньше случайных капч из‑за чужого трафика и проще разбирать расхождения между странами.

Geo‑QA на мобильных IP: что обычно отличается

  • валюта и цены;
  • наличие товаров/услуг и складов;
  • доступные способы доставки и оплаты;
  • локальные дисклеймеры, баннеры, тексты;
  • поведение антибота: капчи/дополнительные проверки.

Sticky IP для тестов: когда нужен

Sticky IP — это удержание одной исходной IP в течение заданного времени. Для Selenium это критично для многошаговых сценариев (регистрация → подтверждение → чекаут): смена IP посередине может сломать сессию или вызвать дополнительную проверку. Но слишком длинная «липкость» иногда мешает массовым прогонам — тогда sticky‑период лучше привязать к началу тест‑кейса.

Grid и Docker: важные нюансы доступности прокси

  • прокси должен быть доступен с ноды, где реально запущен браузер;
  • не путайте маршрут «тест → Grid» и «браузер → интернет через прокси»;
  • секреты (логин/пароль) храните в переменных CI, а не в репозитории;
  • артефакты (скриншоты/логи) разносите по странам и потокам.

Кейс: QA проверяет регистрацию и чекаут в 3 странах

Команда тестирует продукт в трёх странах и хочет фиксировать расхождения в контенте и ценах именно «с мобильного интернета».

  • 3 индивидуальных мобильных прокси (по одному на страну), sticky 30 минут;
  • отдельные прогоны в CI по параметру COUNTRY;
  • одинаковые версии браузера/драйвера и одинаковые тест‑данные.

В каждом прогоне логируют: страну и текущий IP, язык/валюту, цены на контрольные товары, методы доставки/оплаты, наличие капчи при регистрации и редиректы на локальные домены. Типовые находки — отличающиеся цены из‑за налогов/промо, недоступность оплаты в одной стране или капча, которая проявляется только на мобильных IP.

Практические советы для воспроизводимости

  • стартуйте с «чистого» профиля и очищайте cookie/local storage между странами;
  • одна sticky‑сессия на один параллельный поток;
  • увеличьте таймауты и отделяйте сетевые сбои от багов;
  • не перегружайте один мобильный канал десятками тестов одновременно;
  • добавьте в отчёт IP/страну/время и способ задания прокси (capabilities/flags).