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

Как в Charles изменить содержимое сетевого запроса через Breakpoints

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

В Charles для изменения запроса используется функция Breakpoints: на нужном запросе устанавливается точка прерывания, после чего содержимое запроса корректируется вручную и отправляется изменённым на сервер.

Развёрнуто

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

Для подмены запроса в Charles применяется механизм Breakpoints — он останавливает запрос перед отправкой, позволяя вручную изменить его тело или заголовки, а затем отправить обновлённый запрос.


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

В Charles Web Debugging Proxy функция Breakpoints служит для перехвата HTTP(S)-запросов и ответов. При установке Breakpoint на конкретный запрос Charles приостанавливает его выполнение, открывая окно с исходными данными запроса в удобном для редактирования виде.

Пользователь может менять:

  • URL
  • Заголовки
  • Тело запроса

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

Действие Описание
Установка Breakpoint Выбирается запрос, на который ставится точка прерывания
Редактирование В появившемся окне вносятся изменения в запрос
Отправка Модифицированный запрос отправляется на сервер

Пример

1. В Charles откройте вкладку Sequence или Structure.
2. Найдите нужный HTTP-запрос.
3. Правой кнопкой мыши выберите "Breakpoints" -> "Enable Breakpoint".
4. Выполните действие в приложении, чтобы инициировать запрос.
5. Charles остановит запрос и откроет окно с его данными.
6. Измените тело запроса или заголовки по необходимости.
7. Нажмите "Execute" для отправки измененного запроса.

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

  • Breakpoints позволяют вмешиваться в запросы и ответы в реальном времени для гибкой отладки.
  • Изменение запроса через Breakpoints не требует правки клиентского кода.
  • Charles поддерживает перехват как HTTP, так и HTTPS трафика.
  • Особое внимание стоит уделять корректности изменений, чтобы не нарушать протокол.
  • Использование Breakpoints полезно для тестирования негативных сценариев и API с нестандартным поведением.

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