#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:
- Отключите настройку
Automatically follow redirects
в Postman. - Выполните запрос на
example.com/test-page/test01
- На вкладке 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. отлично! большое вам спасибо. Проблема заключалась в том, что параметр «автоматически следовать перенаправлениям» был включен