Какой у вас уровень знания Charles Proxy?

«Какой у вас уровень знания Charles Proxy?» — вопрос из категории Инструменты тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я уверенно владею Charles Proxy и активно применяю его для тестирования и отладки.

Ключевые навыки:

  1. Перехват и анализ трафика: Просмотр HTTP/HTTPS запросов и ответов, их заголовков и тела.
  2. Настройка SSL-проксирования: Установка корневого сертификата Charles на устройство/в эмулятор для расшифровки HTTPS-трафика.
  3. Модификация запросов/ответов:
    • Breakpoints: Остановка запроса или ответа для изменения данных на лету.
    • Rewrite: Автоматическое изменение запросов и ответов по заданным правилам (например, подмена host или заголовков).
  4. Подмена данных:
    • Map Local: Замена ответа от сервера на содержимое локального файла (идеально для тестирования разных сценариев).
    • Map Remote: Перенаправление запросов на другой удаленный адрес.
  5. Эмуляция сетевых условий: Использование Throttling для симуляции медленных сетей (3G, Edge) и проверки поведения приложения.
  6. Фильтрация и организация: Применение фильтров для фокусировки на нужном трафике и сохранение сессий для последующего анализа.

Типичный сценарий использования Map Local для тестирования:

  1. Перехватить API-запрос, возвращающий список товаров.
  2. Кликнуть ПКМ по запросу → Map Local.
  3. Выбрать заранее подготовленный JSON-файл с пустым списком [] или списком с 1000 товаров.
  4. Обновить экран в приложении и проверить, как оно обрабатывает краевые случаи.

Также имею опыт работы с WebSocket-трафиком в Charles.