Ответ
Charles Proxy — это кроссплатформенный отладчик HTTP/HTTPS-трафика, который выступает в роли прокси-сервера между клиентом (браузер, мобильное приложение) и сервером. Основное назначение — анализ, отладка и модификация сетевых запросов.
Ключевые функции для тестировщика:
- Перехват и логирование трафика: Просмотр всех HTTP/HTTPS запросов и ответов в удобном структурированном виде (заголовки, тело, cookies).
- Модификация "на лету": Изменение параметров запроса, заголовков или тела ответа для тестирования различных сценариев.
- Замедление сети (Throttling): Имитация медленного соединения (3G, Edge) для проверки поведения приложения.
- SSL-проксирование: Расшифровка HTTPS-трафика для его анализа (требует установки сертификата Charles на устройство).
- Повтор запросов (Repeat): Многократная отправка одного запроса для нагрузочного тестирования или воспроизведения ошибки.
Типичный сценарий использования:
- Запустить Charles.
- Настроить устройство или браузер на использование Charles как прокси.
- Установить SSL-сертификат Charles на устройство для расшифровки HTTPS.
- Начать работу с приложением и анализировать трафик.
Пример перехваченного запроса в Charles:
GET /api/v1/products?category=books HTTP/1.1
Host: api.store.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
User-Agent: Mozilla/5.0
Применение в тестировании:
- Тестирование API: Валидация формата запросов и ответов.
- Отладка: Поиск причин ошибок (например, 4xx/5xx коды ответов).
- Безопасность: Проверка, не передаются ли чувствительные данные в открытом виде.
- Производительность: Анализ размера ответов и времени загрузки.