Как настроить мокирование HTTP-запросов в Charles Proxy
Краткий ответ
Для создания мока в Charles нужно перехватить нужный HTTP-запрос, сохранить его в виде файла, изменить содержимое ответа и настроить Charles использовать этот файл вместо реального ответа сервера. Это позволяет тестировать приложение с контролируемыми данными.
Развёрнуто
Краткий ответ
Чтобы сделать мок в Charles, перехватите нужный HTTP-запрос, сохраните его как локальный файл, затем измените содержимое ответа и активируйте использование этого файла через настройки Charles. Такой подход позволяет имитировать ответы сервера для тестирования.
Как это работает
Charles Proxy позволяет перехватывать HTTP/HTTPS-запросы и изменять их ответы на лету. Для мокирования создается локальная копия ответа — файл с нужными данными, который затем подменяется вместо реального ответа сервера благодаря функции Map Local или Rewrite.
Основные шаги:
- Перехват запроса: Запустите Charles и откройте приложение, отправляющее запрос.
- Сохранение ответа: В списке запросов выберите нужный, сохраните его ответ в локальный файл.
- Редактирование: Отредактируйте сохранённый файл, изменив данные на необходимые для теста.
- Настройка подмены: Через меню
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