В чем разница между Map Local и Map Remote в Charles Proxy?

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

Ответ

Обе функции в Charles Proxy используются для подмены сетевых ответов, но с разными целями.

  • Map Local заменяет ответ от удаленного сервера содержимым локального файла. Используется для тестирования с фиксированными или специфическими данными.

    • Пример: Подмена ответа API GET /api/user локальным JSON-файлом mock_user.json.
    • Как настроить: ToolsMap Local → добавить правило для URL и указать локальный файл.
  • Map Remote перенаправляет запрос с одного URL на другой (изменяет хост, путь или порт). Используется для проксирования запросов на другие среды (например, staging).

    • Пример: Перенаправление всех запросов к production-api.example.com на staging-api.example.com.
    • Как настроить: ToolsMap Remote → задать исходный и целевой URL.
Сравнительная таблица: Критерий Map Local Map Remote
Цель Подмена ответа статичными данными из файла. Перенаправление запроса на другой сервер.
Использование Тестирование UI/логики с заранее заданными данными (успех/ошибка). Работа с альтернативной средой (dev, staging) без изменения кода клиента.
Данные Статические (содержимое файла). Динамические (ответы реального сервера).

Пример JSON-файла для Map Local:

{
  "status": "success",
  "data": {
    "id": 123,
    "name": "Test User"
  }
}