Использование прокси для автоматизированного тестирования веб-сайтов и приложений в разных странах
Socks5Proxy продает приватные дата-центровые прокси для автоматизированного тестирования и QA с оплатой за IP (от $0.4680 за 1 IP в месяц), позволяя проводить повторные тесты с IP из разных стран в Selenium, Playwright, Puppeteer и CI серверах.
Когда нужны прокси для тестирования?
Если сервис доступен в нескольких странах, необходимо тестировать функции, которые работают по-разному в зависимости от страны. Автоматический выбор языка, отображение валюты и цен, список платежных методов, региональные ограничения, экран согласия на использование cookies - все это можно проверить только с IP соответствующей страны.
Прокси нужны и для случаев, когда требуется одновременное обращение с нескольких IP, например, при нагрузочном тестировании или проверке ограничений подключения. Это позволяет убедиться, что лимиты запросов вашего сервиса работают корректно по IP, а правила блокировки по странам применяются верно.
Можно также проверить, как работают интеграции с внешними сервисами - картами, платежами, рекламными скриптами - в разных странах.
Какие прокси подходят для тестирования?
Для повторяющихся тестов рекомендуем частные дата-центровые прокси. IP остаются фиксированными на весь срок плана, что позволяет сравнивать результаты в одинаковых условиях. Безлимитная пропускная способность и одновременные соединения позволяют без проблем запускать тесты в браузере.
Для тестирования поведения, доступного только домашним пользователям (например, антифрод-систем, иначе обрабатывающих дата-центровые подключения), подготовьте приватные ISP прокси. Для нагрузочного тестирования с множества IP экономичнее общие дата-центровые прокси.
| Тестирование | Рекомендуемые товары | Причина |
|---|---|---|
| Тестирование экранов и функций по странам | Private дата-центровые | Повторение одинаковых условий с фиксированным IP |
| Тестирование условий домашнего подключения | Private ISP | IP из диапазонов интернет-провайдеров |
| Тестирование ограничений и нагрузки | Общие дата-центр | Много IP по низкой цене |
| Долгосрочный регрессионный тест | Private дата-центровые ежегодно | Один IP на год |
Как подключить к инструментам автоматизации браузера?
Playwright - самый простой вариант: при открытии браузера в proxy можно сразу указать адрес сервера, имя пользователя и пароль. В Puppeteer адрес передается через аргумент --proxy-server, а имя пользователя и пароль - через page.authenticate.
Selenium с Chrome не поддерживает ввод пароля прокси напрямую, поэтому удобнее использовать IP-авторизацию. Добавьте IPv4 вашего тестового сервера в панели управления - тогда можно подключаться только по ip:port без логина и пароля. Рабочий код для каждого инструмента есть в руководстве.
- Playwright: proxy с server, username, password
- Puppeteer: --proxy-server + page.authenticate
- Selenium + Chrome: IP-авторизация, используется только ip:port
- Для SOCKS5 используйте порт SOCKS5, указанный в каждой строке
Как работать на CI-сервере?
Если исходящий IP CI-сервера фиксирован, зарегистрируйте его в IP-авторизации. Это упрощает управление, так как не нужно хранить пароли в репозиториях или конфигах. В среде с часто меняющимися IP храните имя пользователя и пароль в хранилище секретов и читайте их при запуске тестов.
Получая актуальный список через API при запуске теста и разделяя его по странам, вам не нужно указывать IP в коде теста. Используйте GET /proxies с параметрами страны и протокола, чтобы получить только нужные строки.
Сохраняйте IP и страну в результатах тестов. Так вы сразу увидите, связаны ли ошибки с конкретной страной или IP.
Что нужно учитывать, чтобы результаты были достоверными?
Для каждого тестового сценария фиксируйте язык браузера, временную зону и размер экрана согласно стране IP. Изменения этих параметров могут влиять на результаты тестов.
Для тестов, где задержка сети влияет на результаты, лучше выбрать IP ближе к тестовому серверу. Отдельная запись времени ответа прокси и вашего сервиса поможет определить причину.
Сколько стоят прокси для тестирования?
Начальная цена за 1 IP в месяц для приватных дата-центр прокси $0.4680, приватных ISP прокси $0.5850, в долларах США. Для тестирования в разных странах достаточно нескольких IP, а для постоянных регрессионных тестов годовая оплата сэкономит 30%.
Как создать тестовые сценарии по странам?
Составьте таблицу ожидаемых результатов для каждой тестируемой страны. Например, для IP США - цены в долларах и интерфейс на английском, для IP Германии - цены в евро и интерфейс на немецком, для IP Японии - цены в иенах и интерфейс на японском. Пусть тестовый код открывает страницы через прокси и сравнивает с таблицей.
Добавьте в таблицу элементы, которые появляются или исчезают в зависимости от страны, такие как список способов оплаты, информация о доставке, согласие на использование cookies. Запуская один и тот же сценарий при каждом обновлении, вы сможете обнаружить проблемы, возникающие только в определенных странах, до выпуска.
При сравнении скриншотов лучше иметь эталонные изображения для каждой страны и сравнивать только снимки, сделанные с одного IP, чтобы минимизировать случайные различия.
- Создание таблицы ожидаемых результатов по странам
- Элементы, зависящие от страны (оплата, доставка, согласие)
- Повторение одного сценария в каждом релизе
Как управлять настройками прокси при совместном использовании командой?
Не указывайте IP в коде теста. Вместо этого получайте список по странам через API при запуске теста. Так вам не придется менять код при смене плана или добавлении страны. Храните API-ключи в хранилище секретов CI, а на ПК разработчиков используйте переменные окружения для безопасности.
Если несколько команд используют один аккаунт, разделите планы между командами, чтобы списки не смешивались. Если в результатах тестов указаны план и страна, сразу видно, какая команда их проводила.
Перед тестированием проверьте состояние прокси. Отправьте тестовый запрос через каждый прокси, чтобы определить, связана ли проблема с сервисом или подключением.
Что важно при тестировании?
Проводите нагрузочное тестирование и проверки ограничений подключения только к своим сервисам или с разрешения. Атаки на другие сервисы запрещены и могут привести к блокировке аккаунта.