Ответ
Да, я активно использовал Charles Proxy для тестирования веб- и мобильных приложений. Это инструмент для перехвата, анализа и модификации HTTP/HTTPS-трафика.
Основные сценарии использования в тестировании:
- Отладка API: Просмотр всех исходящих и входящих запросов и ответов в формате JSON/XML, проверка заголовков, статус-кодов и тела запроса.
- Модификация трафика (Breakpoints):
- Подмена параметров запроса (например,
user_idилиamount) для проверки валидации на стороне сервера. - Изменение статус-кода или тела ответа для тестирования реакции клиента на ошибки (500, 404, 403).
- Подмена параметров запроса (например,
- Throttling (ограничение скорости): Эмуляция работы приложения в условиях медленного 3G или нестабильного соединения для проверки таймаутов и отображения лоадеров.
- Map Local / Map Remote:
- Map Local: Подмена ответа от сервера локальным файлом. Использовал для тестирования новых фич, когда бэкенд еще не готов, или для стабильных тестовых данных.
- Map Remote: Перенаправление запросов на другой домен (например, с продакшена на тестовый стенд).
- Работа с SSL: Установка сертификата Charles на тестовые устройства и компьютеры для расшифровки HTTPS-трафика.
Пример практической задачи: При тестировании платежного модуля я использовал Breakpoint на запрос к платежному шлюзу, чтобы подменить успешный ответ ({"status": "success"}) на ответ об ошибке ({"status": "insufficient_funds"}) и убедиться, что приложение корректно обрабатывает этот сценарий и показывает пользователю понятное сообщение.