Как подменить данные в ответе сервера с помощью Charles Proxy?

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

Ответ

Charles Proxy позволяет подменять ответы сервера двумя основными способами: Breakpoints и Map Local/Remote.

1. Использование Breakpoints (Точки останова)

Позволяет вручную отредактировать ответ перед его отправкой клиенту.

  1. Включите Proxy → Breakpoint Settings.
  2. Добавьте URL (например, *example.com/api/data*).
  3. При срабатывании запроса Charles приостановит его.
  4. Во вкладке Edit Response можно изменить статус-код, заголовки или тело (например, JSON).
  5. Нажмите Execute, чтобы отправить модифицированный ответ клиенту.

2. Использование Map Local

Автоматически заменяет ответ сервера содержимым локального файла.

  1. В меню выберите Tools → Map Local.
  2. Включите опцию Enable Map Local.
  3. Добавьте новое правило: укажите URL и выберите локальный файл (например, mock_response.json).

Пример содержимого mock_response.json:

{
  "status": "error",
  "code": 500,
  "message": "Серверная ошибка для тестирования"
}

Применение: Тестирование обработки ошибок, проверка UI при различных данных, имитация медленных ответов (через Throttle), отладка фронтенда без бэкенда.