Что можно подменять с помощью прокси-инструмента Charles?

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

Ответ

Charles Proxy позволяет перехватывать и модифицировать трафик между клиентом и сервером для целей тестирования. Подменять можно:

1. Содержимое запросов и ответов

  • Заголовки (Headers): User-Agent, Cookie, Authorization.
  • Тело (Body): JSON, XML, HTML (например, изменить цену товара в ответе API).
  • Параметры URL (Query String): ?id=1&sort=asc.

2. Характеристики ответа

  • Статус-код: Эмуляция ошибок (404, 500, 503).
  • Задержка (Throttling): Имитация медленных сетей (3G, Edge).

Основные методы подмены:

  • Breakpoints: Позволяют приостановить запрос/ответ и отредактировать его вручную перед отправкой.
  • Rewrite Rules: Автоматическая замена значений по заданным правилам (например, замена всех "status":"ok" на "status":"error").
  • Map Local/Remote: Замена ответа от сервера содержимым локального файла (map-local) или перенаправление на другой URL (map-remote).

Пример Rewrite Rule для подмены тела ответа:

Type: Body
Where: Response
Match: "balance":s*d+
Replace: "balance": 0