Получить перенаправленный URL от Postman

#javascript #postman #url-redirection #postman-pre-request-script #postman-testcase

#javascript #postman #url-перенаправление #postman-предварительный запрос-скрипт #postman-testcase

Вопрос:

В настоящее время я переношу свой старый веб-сайт на новый, и я только что создал некоторые правила перенаправления URL-адресов для перенаправления старых ссылок на их страницы на новом веб-сайте.

Чтобы протестировать эти правила перенаправления, я использую Postman, но я не могу найти способ получить перенаправленный URL-адрес из документации Postman’s scripts. REDIRECTED_URL это URL-адрес после обработки правилом перенаправления.

Вот мой текущий тест:

 var root_url = postman.getEnvironmentVariable('root_url');
var oldurl = root_url   postman.getEnvironmentVariable('old_page');
var newurl = root_url   postman.getEnvironmentVariable('new_page');

if (REDIRECTED_URL == newurl)
{
    tests[oldurl   " redirected"] = true;
}
else
{
    tests[oldurl   " failed to redirect"] = false;
}
  

Есть ли способ проверить это в postman или я должен использовать другое приложение?

Комментарии:

1. Я не уверен в вашем конкретном вопросе, но какой код статуса вы получаете (или возвращаете, поскольку это ваш веб-сайт)?

2. я возвращаю код состояния 200 и 404, потому что еще не все страницы созданы.

3. Я перенаправляю страницу, похожую example.com/test-page/test01 на example.com/tests/test01 so, независимо от того, существует страница или нет, я хочу проверить, правильно ли перенаправлен URL-адрес

4. и при перенаправлении отображается код состояния 302? можете ли вы попробовать это на другом веб-сайте, который перенаправляет?

5. @Maayao Я получаю код состояния 301 (постоянные перенаправления) обратно при отладке в Chrome и сохранении журнала, но в postman он показывает мне только код состояния 200

Ответ №1:

  1. Отключите настройку Automatically follow redirects в Postman.
  2. Выполните запрос на example.com/test-page/test01
  3. На вкладке test проверьте правильность кода состояния https и заголовка re-direct:
 pm.test("Status Code is 301", function () {
    pm.response.to.have.status(301);
});

pm.test("Location-header exists", function () {
    pm.expect(postman.getResponseHeader("Location")).to.eq("example.com/tests/test01");
});
  

Комментарии:

1. отлично! большое вам спасибо. Проблема заключалась в том, что параметр «автоматически следовать перенаправлениям» был включен