
Привет! Я Ева Маркелова, тестировщик в KTS.
В этой статье я хочу рассказать про Requestly — мощный инструмент, позволяющий перехватывать и модифицировать HTTP-запросы и ответы без участия разработчиков. Он особенно полезен при тестировании нестандартных сценариев, симуляции ошибок и быстром создании нужных тестовых данных.
Во многих разделах Requestly есть обучающие видео про работу с этим инструментом, однако они не всегда подробно покрывают все его возможности. К тому же, на русском языке материалов о нем довольно мало. Я решила собрать весь свой опыт работы с Requestly в один объемный туториал — от начала работы до конкретных юз-кейсов.
Оглавление
Начало работы
Особенностью Requestly является наличие как десктопного приложения, так и расширения для браузера.
Расширение работает внутри браузера. Десктопное приложение работает в рамках всей системы и работает с любым браузером, приложением и даже с любым устройством, например, смартфоном. Устанавливается оно как на MacOS, так и на Windows.
Ссылка на десктопное приложение
Ссылка на расширение для браузера
Ссылка на документацию
Работа с триал-версией
Мы пользуемся триал-версией, которая доступна 30 дней. По истечении этого срока будет доступен только просмотр созданных правил — создание новых и редактирование/использование уже созданных будет недоступно.
Чтобы активировать бесплатный период каждый месяц, мы создаем временные почты. Обратите внимание: не все сервисы создания временных почт подходят для этой цели. Мы перепробовали несколько вариантов и остановились на TempMail.world. Для корректной работы Requestly при завершении пробного периода не забывайте очищать куки при выходе из «отработанного» аккаунта.
Работа с расширением для браузера
Главный экран

На главном экране Requestly располагаются главные варианты его использования — инструменты HTTP-перехватчика или API-клиента.
HTTP-перехватчик предоставляет возможность:
перенаправлять запросы;
мокать запросы, игнорируя ответы API;
изменять заголовки запросов и ответов;
внедрять пользовательский CSS- и JS-код.
Как и в случае с Postman, с помощью Requestly возможно:
отправлять и тестировать запросы API;
организовывать запросы в коллекции:
использовать среды и переменные для тестирования и разработки и работать совместно в одном пространстве.
Requestly поддерживает различные вариации импорта, например, запросы для тестирования через Charles Proxy или коллекции API из Postman.
Таким образом, Requestly объединяет в себе функционал создания и тестирования API.
Вкладка Rules на главном экране
Данная вкладка позволяет просматривать все созданные правила, сортировать по различным признакам, искать, импортировать, создавать новые и фильтровать.
К каждому правилу можно перейти нажатием на соответствующую строку, откроется детальная страница правила с возможностью редактирования.
Правилами можно делиться как публично, так и посредством рассылки единичным пользователям с использованием почты. Расшаренные правила можно просмотреть на подвкладке Shared lists.
Также на данной вкладке можно создать новое правило по кнопке New Rule. Откроется выпадашка с вариантами создания правил.
Переадресация запроса
Для переадресации запроса необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Redirect Request;
на странице редактирования запроса в строке if request ввести адрес страницы, с которой будет переадресовываться пользователь после ее открытия;
ниже в строке redirects to ввести адрес страницы, на которую будет переадресовываться пользователь после открытия страницы из пункта 2;
сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Подмена строки адреса
Для подмены строки адреса необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Replace String;
в поле If request ввести страницу, с которой будет производиться подмена;
в поле replace ввести страницу, частичный адрес которой будет подменяться при открытии;
в поле with ввести измененный частичный адрес;
сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Работа с Query-параметрами
С помощью инструмента Query Param в Requestly возможно добавить новый параметр, заменить существующий или удалить его. Для подмены query-параметров необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Query Param;
в поле If request ввести адрес, на котором будет редактироваться query-параметр;
в поля параметров ввести наименования параметров, которые необходимо отредактировать, удалить или добавить;
после ввода данных в вышеуказанные поля сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Модификация тела запроса
Для модификации тела запроса необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Modify Request Body;
выбрать вариант архитектуры API, в данном случае Rest API;
в поле If request ввести адрес API, который будет впоследствии редактироваться;
в поле request body внести тело запроса и модифицировать его под нужную задачу;
после ввода данных в вышеуказанные поля сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Модификация тела ответа
Для модификации тела ответа необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Modify Request Body;
выбрать вариант архитектуры API, в данном случае Rest API;
в поле If request ввести адрес API, который будет впоследствии редактироваться;
заполнить поле Response Status Code. Туда можно ввести статус-код ответа и модифицировать его под нужную задачу или оставить неизменным, тогда будет использоваться статус-код ответа сервера при применении правила;
заполнить поле response body. В него можно ввести тело ответа и модифицировать его под нужную задачу либо оставить неизменным, тогда будет использоваться тело ответа сервера при применении правила;
после ввода данных в вышеуказанные поля сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Подмена заголовков запроса
Для подмены заголовков запроса необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Modify Headers;
-
модифицировать header’ы:
можно изменять их как для запросов, так и для ответов сервера. Для переключения между этими вариантами необходимо нажать на Request/Response Headers на вкладке редактирования запроса;
для внесения изменений в header’ы необходимо выбрать вариант действия нажатием на кнопку. Когда выбран хотя бы один вариант модификации, следующие можно добавлять нажатием на Add Modification;
при нажатии на вариант редактирования header’а показывается выпадающий список с вариантами действий (add/remove/override);
при клике в поле Request Header показывается список вариаций header’ов для модификации;
в поле Value при добавлении Request Header добавить значение добавляемого заголовка запроса;
после ввода данных в вышеуказанные поля сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Задержка сетевых запросов
Для имитации задержки сетевых запросов необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Delay Network Requests;
в поле If request ввести запрос, который впоследствии будет отправляться с задержкой;
в поле Delay ввести необходимую задержку отправки запроса в миллисекундах;
после ввода данных в вышеуказанные поля сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Блокировка сетевых запросов
Для блокировки сетевых запросов необходимо:
на вкладке Rules в выпадающем списке по кнопке New Rule выбрать вариант правила Cancel Requests;
в поле If request ввести запрос, который впоследствии будет отправляться с задержкой;
в поле Delay ввести необходимую задержку отправки запроса в миллисекундах;
после ввода данных в вышеуказанные поля сохранить правило нажатием на кнопку Save Rule;
после сохранения правила для его применения ввести адрес целевой страницы для тестирования во вкладке Test и нажать Test Rule. Откроется целевая страница применения правила. Правило применится автоматически, о чем будет свидетельствовать нотификация в правом верхнем углу страницы.
Requestly в DevTools
Requestly также встраивается в консоль разработчика браузерных DevTools.
Для консоли разработчика становятся доступны следующие дополнения:
добавление JavaScript и CSS на страницу запроса;
эмуляция различных user-agent’ов;
выбор и модификация конкретного запроса прямо в DevTools.
Добавление Java-скриптов на странице запроса
Чтобы добавление Java-скриптов на странице запроса, необходимо нажать Add JavaScript to page. Осуществится переход к веб-версии Requestly, где мы сможем настроить данное правило.
Для применения правила необходимо:
задать страницу применения Java-скрипта. При выборе данной функции через консоль разработчика целевая страница применения заполняется автоматически;
-
указать встраиваемый код. Наш запрос для применения Java-скрипта будет выглядеть так:

-
сохранить правило нажатием на Save rule. После сохранения станет доступно применение созданного правила вставки скрипта. В открывшемся окне в поле нужно вставить ссылку на страницу, на которой вы хотите применить созданное правило, а затем нажать Test rule.

Откроется страница, и правило применится автоматически. В правом верхнем углу появится соответствующая нотификация:

Также в консоли будет выведено заданное значение:

Добавление CSS на странице запроса
Чтобы добавить CSS на странице запроса, в консоли разработчика необходимо нажать на Add CSS to page. Осуществится переход к веб-версии Requestly, где мы сможем настроить данное правило.

Для применения правила необходимо:
задать страницу применения CSS. При выборе данной функции через консоль разработчика целевая страница применения заполняется автоматически;
-
указать встраиваемый код. Наш запрос для применения CSS будет выглядеть так:

сохранить правило нажатием на Save rule. После сохранения станет доступно применение созданного правила вставки скрипта.
-
В открывшемся окне в поле вставить ссылку на страницу, на которой вы хотите применить созданное правило, а затем нажать Test rule.

Откроется страница, и правило применится автоматически. В правом верхнем углу появится соответствующая нотификация.
Страница до применения скрипта:

Страница после применения скрипта:

Эмуляция сторонних девайсов
Requestly позволяет подменять User-Agent, эмулируя необходимое устройство для тестирования. Чтобы перейти к этой функциональности, необходимо в DevTools в Network Inspector выбрать Emulate for different device. Откроется страница настройки данного правила.
Подмена User-Agent позволяет нам изменять девайс или браузер при работе с запросами, а также составлять наш собственный вариант. При выборе типа Device или Browser открывается выпадающий список с типами вариантов устройств и браузеров для эмуляции. Самих вариантов множество: среди устройств доступны смартфоны и планшеты Apple, Android, Windows и даже BlackBerry и Symbian. Среди браузеров — Firefox, Сhrome, Safari, Internet Explorer, Edge и Opera на всех типах операционных систем.

После выбора варианта для подмены User-Agent и проставления запроса для применения в случае обнаружения можно приступать к тестированию.

Необходимо сохранить правило, ввести адрес страницы для теста и нажать Test Rule.
Rule Executions
Rule Extensions в DevTools в дополнении Requestly позволяет видеть примененные правила на странице, а также переходить к ним по ссылке в запросе.
Работа с десктопным приложением
С помощью десктопного приложения Requestly можно контролировать сетевой трафик по всей системе, не только в браузере.
Перехват трафика из браузеров и настольных приложений
Для перехвата трафика из браузеров и настольных приложений необходимо настроить сопряжение десктопного приложения Requestly с целевым приложением/браузером.
Браузер
Для перехвата трафика из браузеров необходимо:
установить расширение Requestly в целевой браузер для перехвата трафика;
открыть расширение Requestly в целевом браузере;
в модальном окне расширения в браузере выбрать Connect to Desktop App.
При успешном подключении браузера к десктопному приложению Requestly вверху будет отображаться статус Connected.
Настольное приложение
Для Windows
Для перехвата трафика системы необходимо:
-
установить настройки прокси для ПК на Windows:
IP: 127.0.0.1
Port: 8281
скачать и установить сертификат доверия.
После мы сможем перехватывать и работать с трафиком как в браузерах, так и в настольных приложениях.
Пример перехвата запросов Postman в десктопной версии:
Для MacOS
Для перехвата трафика системы необходимо:
-
установить настройки прокси для ПК на MacOS:
IP: 127.0.0.1
Port: 8281
скачать и установить сертификат доверия, проставить доверие сертификату.
Пример перехвата запросов в MacOS:
Работа с запросами в десктопном приложении Requestly
Вкладка Network
Десктопное приложение Requestly позволяет отслеживать и работать с запросами в реальном времени на вкладке Network. После подключения нашего сниффера ко всей системе, к приложению или к браузеру нам становится доступна работа с запросами.
Для отслеживания запросов с конкретного адреса их можно фильтровать по названию, домену или приложению, из которого поступает запрос. Также доступна фильтрация по методу, статус-коду запроса и виду ресурса. После фильтрации отобразятся все запросы по необходимому адресу.
Для работы с запросом необходимо кликнуть по нему левой кнопкой мыши, а затем правой для вызова контекстного меню. В меню можно выбрать тип правила. При нажатии на него открывается модальное окно для настройки и дальнейшего применения, аналогичное работе с расширением для браузера.
При создании правила для конкретного запроса и его повторном вызове оно применится автоматически, о чем будет свидетельствовать зеленый цвет строки запроса. Также примененное правило будет доступно к просмотру по нажатию на иконку типа правила в колонке Rules Applied. После применения правил к запросам их также можно посмотреть по фильтру Modified requests.
При выборе отдельного запроса внизу показывается полная информация о его статус-коде и методе, там же можно детально просмотреть запрос и ответ сервера.
Вкладка Rules
Данная вкладка позволяет просматривать все созданные правила, сортировать по различным признакам, искать, импортировать и создавать новые, а также фильтровать, как и в расширении для браузеров.
При активации действия правила на вкладке Rules оно будет применено при следующем перехвате описанного в правиле URL.
Работа с Android-устройствами
Requestly позволяет работать с Android-устройствами двумя способами: через прокси-подключение и через root-доступ.
Для работы через прокси необходимо:
убедиться, что ваш пк/ноутбук и смартфон подключены к одной сети;
в приложении Requestly на главном экране открыть модалку подключения к сторонним устройствам и программам;
выбрать вкладку Mobile apps&browsers и нажать кнопку Setup Instructions рядом с надписью Android;
на смартфоне открыть настройки сети wi-fi;
выбрать необходимую сеть wi-fi и нажать на иконку изменения настройки сети;
в меню настройки сети wi-fi найти параметры прокси и выбрать настройку «вручную»;
в параметрах прокси указать host и port из Setup instructions для Android в Requestly (например: 172.19.0.1, 8281) и сохранить изменения;
после настройки прокси на смартфоне убедиться в подключении с помощью http://amiusing.requestly.io. При удачном подключении экран будет синим, при неудачном — красным;
скачать сертификат CA с http://requestly.io/ssl;
установить и разрешить доверие сертификату на смартфоне.
После прекращения работы с Requestly необходимо вернуть настройки прокси на смартфоне к изначальным, чтобы избежать сбоев в работе других приложений. Для этого нужно выбрать в меню вариант «Выкл».
Настройка подключения Android-смартфона в приложении на ПК:
Работа с iOS-устройствами
Requestly позволяет работать с iOS-устройствами только через прокси. Для этого необходимо:
убедиться, что ваш пк/ноутбук и смартфон подключены к одной сети;
в приложении Requestly на главном экране открыть модалку подключения Requestly к сторонним устройствам и программам;
выбрать вкладку Mobile apps&browsers и нажать кнопку Setup Instructions рядом с надписью iOS;
на iOS-устройстве открыть Settings → Wi-Fi → Select current Wi-Fi → Configure Proxy;
выбрать необходимую сеть wi-fi и нажать на иконку изменения настройки сети;
в меню настройки сети wi-fi найти параметры прокси, выбрать настройку «вручную»;
в параметрах прокси указать host и port из первого шага Setup instructions для iOS в Requestly (например: 172.19.0.1, 8281) и сохранить изменения;
после настройки прокси на смартфоне убедиться в подключении с помощью http://amiusing.requestly.io. При удачном подключении экран будет синим, при неудачном — красным;
скачать сертификат CA с http://requestly.io/ssl;
установить и разрешить доверие сертификату на смартфоне.
После прекращения работы с Requestly необходимо вернуть настройки прокси на смартфоне к изначальным, чтобы избежать сбоев в работе других приложений. Для этого нужно выбрать в меню вариант «Выкл».
Настройка подключения iOS-смартфона в приложении на ПК:
Итог
Надеюсь, эти инструкции по работе с Requestly помогут вам в работе так же, как помогают мне и моим коллегам. И рекомендую к прочтению другие статьи для тестировщиков в нашем блоге: