Ответ
Я уверенно владею Charles Proxy и активно применяю его для тестирования и отладки.
Ключевые навыки:
- Перехват и анализ трафика: Просмотр HTTP/HTTPS запросов и ответов, их заголовков и тела.
- Настройка SSL-проксирования: Установка корневого сертификата Charles на устройство/в эмулятор для расшифровки HTTPS-трафика.
- Модификация запросов/ответов:
- Breakpoints: Остановка запроса или ответа для изменения данных на лету.
- Rewrite: Автоматическое изменение запросов и ответов по заданным правилам (например, подмена host или заголовков).
- Подмена данных:
- Map Local: Замена ответа от сервера на содержимое локального файла (идеально для тестирования разных сценариев).
- Map Remote: Перенаправление запросов на другой удаленный адрес.
- Эмуляция сетевых условий: Использование Throttling для симуляции медленных сетей (3G, Edge) и проверки поведения приложения.
- Фильтрация и организация: Применение фильтров для фокусировки на нужном трафике и сохранение сессий для последующего анализа.
Типичный сценарий использования Map Local для тестирования:
- Перехватить API-запрос, возвращающий список товаров.
- Кликнуть ПКМ по запросу → Map Local.
- Выбрать заранее подготовленный JSON-файл с пустым списком
[]или списком с 1000 товаров. - Обновить экран в приложении и проверить, как оно обрабатывает краевые случаи.
Также имею опыт работы с WebSocket-трафиком в Charles.