К списку
Инструменты QAMiddleТехническое

Как настроить мокирование HTTP-запросов в Charles Proxy

Краткий ответ

Для создания мока в Charles нужно перехватить нужный HTTP-запрос, сохранить его в виде файла, изменить содержимое ответа и настроить Charles использовать этот файл вместо реального ответа сервера. Это позволяет тестировать приложение с контролируемыми данными.

Развёрнуто

Краткий ответ

Чтобы сделать мок в Charles, перехватите нужный HTTP-запрос, сохраните его как локальный файл, затем измените содержимое ответа и активируйте использование этого файла через настройки Charles. Такой подход позволяет имитировать ответы сервера для тестирования.


Как это работает

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

Основные шаги:

  1. Перехват запроса: Запустите Charles и откройте приложение, отправляющее запрос.
  2. Сохранение ответа: В списке запросов выберите нужный, сохраните его ответ в локальный файл.
  3. Редактирование: Отредактируйте сохранённый файл, изменив данные на необходимые для теста.
  4. Настройка подмены: Через меню Tools > Map Local или Tools > Rewrite создайте правило, чтобы Charles вместо реального ответа отдавал сохранённый файл.
Шаг Описание Инструмент Charles
Перехват Захват HTTP-запроса Главное окно с запросами
Сохранение Сохранение тела ответа в файл Контекстное меню запроса
Редактирование Изменение содержимого файла Любой текстовый редактор
Подмена Настройка использования локального файла Map Local или Rewrite

Пример

1. В Charles найти запрос к API (например, /api/user).
2. Сохранить ответ: Правый клик -> Save Response -> user.json
3. Отредактировать user.json, например, изменить поле "name".
4. В Charles открыть Tools -> Map Local -> добавить правило:
   - URL: https://example.com/api/user
   - Локальный файл: путь/к/user.json
5. Включить правило и протестировать приложение — оно получит изменённый ответ.

Что важно знать на собеседовании

  • Charles поддерживает мокирование через Map Local и Rewrite для гибкой подмены ответов.
  • Моки помогают тестировать приложение без зависимости от реального сервера.
  • Можно изменять не только тело ответа, но и заголовки, статус коды.
  • Важно уметь отключать моки, чтобы избежать влияния на другие тесты.
  • Charles работает с HTTPS, но нужно правильно настроить сертификаты для перехвата.

Тема: Инструменты QA | Уровень: middle