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

Как сделать mock в Charles

1️⃣ Как кратко ответить

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

2️⃣ Подробное объяснение темы

Mocking в Charles позволяет тестировщикам и разработчикам имитировать ответы от сервера, что полезно для тестирования приложений в условиях, когда сервер недоступен или когда необходимо протестировать приложение с определенными данными. Это особенно актуально для QA-инженеров, которые хотят проверить, как приложение будет реагировать на различные сценарии.

Шаги для создания mock в Charles:

  1. Запуск Charles и настройка прокси:

    • Убедитесь, что Charles запущен и настроен как прокси-сервер для вашего устройства или приложения. Это позволит Charles перехватывать все HTTP-запросы и ответы.
  2. Перехват нужного запроса:

    • Воспроизведите действие в приложении, которое отправляет HTTP-запрос, который вы хотите замокировать. Найдите этот запрос в списке запросов в Charles.
  3. Сохранение ответа:

    • Щелкните правой кнопкой мыши на нужном запросе в Charles и выберите "Export" -> "Response...". Сохраните ответ в виде файла на вашем компьютере. Это будет ваш исходный ответ, который вы будете изменять.
  4. Редактирование ответа:

    • Откройте сохраненный файл с ответом в текстовом редакторе и внесите необходимые изменения. Это может быть изменение данных, статуса ответа или заголовков.
  5. Настройка Map Local:

    • В Charles выберите "Tools" -> "Map Local...". В открывшемся окне нажмите "Add".
    • Укажите URL, который вы хотите замокировать, и выберите файл с измененным ответом, который вы сохранили ранее.
    • Убедитесь, что опция "Enable Map Local" включена.
  6. Проверка работы mock:

    • Воспроизведите действие в приложении снова. Charles теперь будет использовать ваш измененный файл ответа вместо реального ответа от сервера. Проверьте, что приложение получает именно те данные, которые вы указали в mock-файле.

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

Предположим, вы тестируете приложение, которое получает список пользователей с сервера. Вы хотите проверить, как приложение будет работать, если сервер вернет пустой список.

  1. Перехватите запрос, который получает список пользователей.
  2. Сохраните ответ, который содержит список пользователей.
  3. Измените содержимое файла, чтобы он содержал пустой массив, например:
    {
      "users": []
    }
    
  4. Настройте Map Local в Charles, чтобы использовать этот файл.
  5. Проверьте, что приложение корректно обрабатывает пустой список пользователей.

Mocking в Charles позволяет гибко тестировать различные сценарии, не завися от реального сервера, что делает процесс тестирования более эффективным и контролируемым.

Тема: Инструменты: Postman, Swagger, Charles и др
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки