Request Mocker изменяет сетевой трафик в браузере, не затрагивая серверную часть — блокируйте запросы, устанавливайте или удаляйте заголовки запросов и ответов, а также возвращайте свои собственные коды состояния, тела и задержки, чтобы вы могли тестировать состояния, которые реальный API не будет создавать по требованию.
До некоторых штатов до боли трудно добраться. Пустой информационной панели нужен пустой ответ, баннеру повторной попытки — 500, скелету загрузки — медленная конечная точка, а интерфейсу — конечная точка, которая еще не существует. Обычно каждый из них означает изменение серверной части, заполненную базу данных или закомментированную строку, которую вы надеетесь не отправлять.
Request Mocker создает эти состояния в браузере. Сопоставьте URL-адрес с помощью подстроки или подстановочных знаков, а затем решите, что произойдет: заблокируйте запрос, чтобы страница увидела ошибку, перезапишите заголовки запроса или ответа на лету или верните стандартный ответ с кодом состояния, типом контента, телом и задержкой по вашему выбору. Страница не может определить разницу, поэтому ваша реальная обработка ошибок, пустые состояния и тайм-ауты работают по-настоящему.
Блокировка и перезапись заголовков используют правила declarativeNetRequest Chrome, поэтому они применяются ко всему, что запрашивает страница, в том числе при перезагрузке. Поддельные ответы подаются для получения и XMLHttpRequest изнутри страницы, и панель регистрирует каждый из них по мере его обработки вместе со счетчиком посещений для каждого правила, поэтому вы можете сразу увидеть, соответствует ли ваше правило тому, что вы думаете.
От правил намеренно легко избавиться. Они сохраняются для каждого сайта, применяются только к текущей вкладке, и каждый из них удаляется в тот момент, когда вы закрываете инструмент — поэтому нет возможности потратить день на отладку проблемы, которая оказывается имитацией, о которой вы забыли.
Не позволяйте никогда покидать запрос, соответствующий URL-адресу и методу, и наблюдайте, как ведет себя страница, когда скрипт, изображение, трекер или вызов API просто никогда не поступает.
Установите или удалите заголовки запроса и ответа — добавьте заголовок авторизации, принудительно установите Cache-Control: no-store или удалите заголовок, чтобы увидеть, что сломалось — без каких-либо изменений на сервере.
Отправьте тело, которое вы пишете, с кодом состояния и выбранным вами типом контента. Идеально подходит для пустых списков, неверных полезных данных и конечных точек, которые еще не существуют.
Верните 500, 429 или 404 по запросу и добавьте задержку в миллисекундах, чтобы задержать ответ, чтобы можно было правильно протестировать состояния загрузки, счетчики и обработку тайм-аута.
Свободно сопоставьте его с фрагментом, например /api/users, или точно с подстановочными знаками, например *.example.com/v1/*, и сузьте любое правило до одного метода HTTP.
Правила принадлежат сайту, на котором вы их создали, и применяются только к текущей вкладке. Закрытие инструмента удаляет все активные правила, поэтому ничто не перехватывает трафик за вашей спиной.
Верните пустой массив для конечной точки списка и посмотрите, отображает ли ваш пользовательский интерфейс правильное пустое состояние или неуклюжую пустую панель.
Сделайте конечную точку возвратом 500 или 429 по требованию, чтобы убедиться, что баннер повторной попытки, всплывающее сообщение и резервная копия действительно отображаются.
Смоделируйте согласованную форму ответа и постройте на ее основе весь интерфейс, пока серверная часть еще пишется.
Заблокируйте аналитику, чат или рекламный скрипт, чтобы проверить, замедляет ли это работу страницы или нарушает макет.
Добавьте двухсекундную задержку к одной конечной точке и посмотрите, как скелетоны, счетчики и таймауты работают при задержке одного вызова.
Щелкните значок Request Mocker в доке DevSuite Pro. Откроется панель с формой правила вверху и сохраненными вами правилами для этого сайта под ней.
Выберите «Блокировать запрос», «Редактировать заголовки» или «Мокировать ответ» и при необходимости ограничьте правило одним методом, например POST.
Введите подстроку, например /api/users, или используйте подстановочные знаки, например *.example.com/v1/*. Выберите, будет ли правило распространяться только на выборку и вызовы XHR или на все типы запросов.
Для заголовков напишите их по одному в строке — Имя: значение, чтобы установить его, Имя: отдельно, чтобы удалить его. Для макета установите статус, задержку, тип контента и тело. Нажмите «Добавить правило», и оно будет применено немедленно.
Перезагрузите или используйте страницу, и в журнале отобразится каждый поддельный ответ по мере его подачи, а рядом с каждым правилом будет указано количество обращений. Переключайте, редактируйте или удаляйте правила по ходу дела; закрытие инструмента очищает их все.
Установите DevSuite Pro бесплатно и разблокируйте более 71 инструментов разработчика для вашего браузера.