← Назад к вопросам

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

1.7 Middle🔥 142 комментариев
#Инструменты тестирования#Тестирование API

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Разница между Map Local и Map Remote

В контексте тестирования, особенно при работе с инструментами перехвата и модификации трафика (например Charles Proxy, Fiddler, Mitmproxy), Map Local и Map Remote — это две мощные техники подмены сетевых ответов, но с принципиально разными целями и механизмами работы. Понимание этой разницы критически важно для эффективного проведения тестов, связанных с API, моками, симуляцией различных сценариев и отладкой.

Суть технологий

Обе функции относятся к механизму rewriting (переписывания) HTTP/HTTPS трафика. Их основная задача — перехватить запрос от клиента (например, браузера или мобильного приложения) и подменить оригинальный ответ от сервера на заранее подготовленный.

Map Remote

Map Remote (Подмена удаленного ресурса) — это перенаправление запроса с одного удаленного URL на другой удаленный URL.

  • Принцип работы: Инструмент-прокси перехватывает запрос, соответствующий заданному шаблону (например, api.example.com/v1/data), и перенаправляет его на совершенно другой, реально существующий адрес (например, test-backup.example.com/v1/mock-data). Запрос уходит в интернет, и ответ приходит с удаленного сервера-заменителя.
  • Аналогия: Вы отправляете письмо по адресу "Главный офис", но почтовая служба (прокси) переадресовывает его на "Складской комплекс", и ответ приходит оттуда.
  • Ключевая характеристика: Трафик уходит в сеть. Требуется доступность и работоспособность целевого удаленного сервера.

Пример сценария использования Map Remote:

  • Переключение тестового окружения с продакшн (prod-api.com) на стейджинг (stage-api.com) без изменения кода или конфигурации приложения.
  • Перенаправление запросов к CDN на ваш внутренний сервер для тестирования новых версий статических ресурсов (CSS, JS, изображений).
  • Балансировка нагрузки в тестах, имитируя обращение к разным бэкендам.

Map Local

Map Local (Подмена локальным файлом) — это замена ответа от удаленного сервера содержимым локального файла на компьютере тестировщика.

  • Принцип работы: Инструмент-прокси перехватывает запрос, соответствующий заданному шаблону, не отправляя его в сеть, а мгновенно возвращает клиенту содержимое указанного файла с диска (например, JSON, HTML, XML, изображение).
  • Аналогия: Вы отправляете письмо по адресу "Главный офис", почтовая служба (прокси) его забирает, но вместо пересылки просто подкладывает в ваш почтовый ящик заранее заготовленный ответ со своего стола.
  • Ключевая характеристика: Трафик НЕ уходит в сеть. Работает полностью оффлайн. Скорость ответа крайне высока, так как нет сетевой задержки.

Пример сценария использования Map Local:

  • Мокирование API: Подмена ответа API на заранее подготовленный JSON с определенной структурой данных, ошибками (500 Internal Server Error, 404 Not Found) или пустыми данными для проверки устойчивости фронтенда.
  • Тестирование сценариев: Быстрая проверка поведения приложения при получении специфичных данных (например, длинных строк, особых символов, граничных значений).
  • Отладка и изоляция: Локальная загрузка конкретной версии скрипта или стиля, чтобы проверить исправление бага, не дожидаясь деплоя на сервер.
  • Работа без бэкенда: Фронтенд-разработчики могут продолжать работу, даже если бэкенд-сервис временно недоступен.

Сравнительная таблица

КритерийMap RemoteMap Local
Источник данныхДругой удаленный сервер (в сети).Локальный файл на диске.
Сетевой запросПроисходит к новому адресу.Не происходит. Запрос обрабатывается локально.
ЗависимостиТребует доступности целевого сервера.Не требует сетевых зависимостей.
СкоростьЗависит от скорости сети и удаленного сервера.Максимальная (скорость чтения с диска).
ГибкостьОграничена контентом, который может предоставить живой сервер.Чрезвычайно высокая. Можно создать любой, даже некорректный, ответ.
Типичное применениеПереключение окружений, A/B-тестирование инфраструктуры.Мокирование, тестирование крайних случаев, отладка, разработка оффлайн.

Практический пример в Charles Proxy (конфигурационный вид)

Конфигурация правила Map Remote может выглядеть так:

Map From: https://api.company.com/v2/user/profile
Map To:   https://staging-api.company.net/v2/mock/profile

Запрос уходит на новый адрес, и мы получим реальный, "живой" ответ с staging-сервера.

Конфигурация правила Map Local может выглядеть так:

{
  "Map From": "https://api.company.com/v2/cart/items",
  "Map To": "/Users/tester/mock_data/empty_cart_404.json"
}

Содержимое файла empty_cart_404.json:

{
  "status": "error",
  "code": 404,
  "message": "Cart not found"
}

Запрос не пойдет в сеть, а клиент мгновенно получит этот JSON-объект.

Вывод для QAIn

Выбор между Map Local и Map Remote определяется целью тестирования:

  • Используйте Map Remote, когда вам нужно перенаправить трафик в рамках тестовой инфраструктуры — проверить интеграцию с другим реальным сервисом, сменить окружение или протестировать новый стейджинг.
  • Используйте Map Local, когда вам нужно полностью контролировать ответ, быстро итерировать тестовые данные, имитировать недоступность сервисов или тестировать специфичные (в том числе ошибочные) состояния системы без вмешательства в работу реальных серверов. Это ваш основной инструмент для изолированного мокирования API.