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

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

Чтобы проверить эти правила перенаправления, я использую Postman, но не могу найти способ получить перенаправленный URL-адрес из документация по скриптам. 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;
}

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


person MrPickles2009    schedule 08.04.2019    source источник
comment
Я не уверен в вашем конкретном вопросе, но какой код состояния вы получаете (или возвращаете, поскольку это ваш сайт)?   -  person Maayao    schedule 08.04.2019
comment
я получаю код состояния 200 и 404, потому что еще не все страницы созданы.   -  person MrPickles2009    schedule 08.04.2019
comment
Я перенаправляю страницу типа example.com/test-page/test01 на example.com/tests/test01, поэтому независимо от того, существует ли страница или нет, я хочу проверить, правильно ли перенаправляется URL-адрес.   -  person MrPickles2009    schedule 08.04.2019
comment
а при перенаправлении идет код состояния 302? Вы можете попробовать это на другом веб-сайте, который перенаправляет?   -  person Maayao    schedule 08.04.2019
comment
@Maayao Я получаю код состояния 301 (постоянные перенаправления) обратно при отладке в Chrome и сохранении журнала, но в почтальоне он показывает мне только код состояния 200   -  person MrPickles2009    schedule 08.04.2019


Ответы (1)


  1. Отключите настройку Automatically follow redirects в Postman.
  2. Отправьте запрос example.com/test-page/test01
  3. На тестовой вкладке проверьте правильность кода состояния https и заголовка перенаправления:
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");
});
person Christian Baumann    schedule 17.10.2020
comment
идеально! Огромное спасибо. Параметр «автоматически следовать перенаправлениям» был причиной проблемы - person MrPickles2009; 22.10.2020