Ответ
Charles Proxy — это инструмент для отладки и анализа сетевого трафика (HTTP/HTTPS), который выступает в роли прокси-сервера между клиентом (браузер, мобильное приложение) и сервером.
Ключевые функции для тестировщика:
- Перехват и инспекция трафика: Просмотр всех запросов и ответов в деталях (URL, заголовки, тело, статус-коды, время). Незаменим для отладки API.
- Модификация трафика "на лету": Возможность подменять параметры запроса, заголовки или тело ответа для тестирования различных сценариев и обработки ошибок.
- Эмуляция сетевых условий: Имитация медленного или нестабильного соединения (throttling) для проверки поведения приложения.
- Работа с HTTPS: Расшифровка HTTPS-трафика (после установки сертификата доверия) для анализа защищённых соединений.
- Запись и повторение (Map Local/Remote): Подмена ответа от сервера локальным файлом или перенаправление запроса на другой адрес.
Пример перехваченного запроса в Charles:
GET /api/v1/products?category=books HTTP/1.1
Host: api.shop.com
User-Agent: TestClient/1.0
Authorization: Bearer eyJhbGciOiJ...
Accept: application/json
Практическое применение: Поиск причин багов, связанных с сетевым взаимодействием, валидация корректности отправляемых данных, тестирование клиента при различных ответах сервера.