Как настроить прокси Charles для отладки трафика на Android?

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

Ответ

Да, настраивал. Charles Proxy позволяет перехватывать, анализировать и модифицировать HTTP/HTTPS-трафик с Android-устройства.

Пошаговая настройка:

  1. Настройка Charles на ПК:

    • Установите и запустите Charles.
    • Получите IP-адрес ПК в локальной сети (Help → Local IP Address).
  2. Настройка Android-устройства:

    • Подключите устройство к той же Wi-Fi сети, что и ПК.
    • Перейдите в Настройки → Wi-Fi → долгое нажатие на сеть → Изменить сеть.
    • Прокси: Вручную.
      • Хост: IP-адрес ПК.
      • Порт: 8888 (стандартный порт Charles).
  3. Установка SSL-сертификата (для HTTPS):

    • На устройстве откройте браузер и перейдите по адресу chls.pro/ssl.
    • Скачайте и установите сертификат Charles.
    • В Android 7+ требуется дополнительная настройка:
      • Поместите сертификат в системное хранилище (Настройки → Безопасность → Другие параметры безопасности → Установить сертификаты).
      • Для собственных приложений может потребоваться файл network_security_config.xml.
  4. Настройка SSL Proxying в Charles:

    • Proxy → SSL Proxying Settings → Add.
    • Укажите хост (*) и порт (443).

Пример перехваченного запроса в Charles:

POST /api/login HTTP/1.1
Host: app.example.com
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; SM-G991B)

{"username":"test","password":"12345"}

Практическое применение:

  • Отладка API: проверка запросов/ответов, параметров, заголовков.
  • Модификация трафика: подмена ответов для тестирования различных сценариев.
  • Анализ производительности: замер времени ответа, размеров данных.

Важно: После тестирования отключите прокси в настройках Wi-Fi и удалите сертификат для безопасности.