#javascript #testing #postman
#javascript #тестирование #postman
Вопрос:
Можно ли распечатать результат теста в Postman? У меня есть тест, написанный в тестовых сценариях, и я хочу иметь возможность выводить значение ключа, который не выполняется при запуске теста.
Возможно ли это?
Спасибо.
Ответ №1:
Вы можете использовать эти тесты для отображения предупреждения на вкладке результатов тестирования:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
или
pm.test("Content does not have IP address.", function(){
pm.expect(pm.response.text()).to.not.include("IP Address");
});
Ответ №2:
Да, вы можете:
var jsonData = JSON.parse(responseBody);
tests["value is " jsonData.value] = jsonData.value === 100;
Также вы можете распечатать значение из среды, например:
const value = postman.getEnvironmentVariable('value');
tests["value should be " value] = jsonData.value === 100;
Если вы хотите, вы можете использовать функции ES6 для тестовых сценариев в Postman. Итак, давайте проведем рефакторинг:
tests[`value is ${jsonData.value}`] = jsonData.value === 100;
Ответ №3:
1 для Огужана Киркали.pm.test / pm.expect — это новейший, BDD и классный синтаксис, доступный в Postman для написания тестов.
Я добавляю точность в сообщение Oguzhan, этот синтаксис позволяет определить сообщение в случае сбоя проверки, используя этот синтаксис:
pm.test("Content does not have IP address.", function(){
return pm.expect(pm.response.text(), "Content has IP address").to.not.include("IP Address");
});
Последняя деталь:
Лучше отправлять «ВОЗВРАТ» в последнем pm.expect() или после всех pm.expect() , иначе вы получите некоторые ошибки, если будете выполнять циклические проверки.
Пример:
pm.test("Content does not have IP address.", function(){
pm.expect(pm.response.text()).to.not.include("IP Address");
return pm.expect(pm.response, "Response status code is not correct").to.have.status(200);
});
//OR
pm.test("Content does not have IP address.", function(){
pm.expect(pm.response.text()).to.not.include("IP Address");
pm.expect(pm.response, "Response status code is not correct").to.have.status(200);
return true;
});