当邮递员测试失败时如何在控制台上获得预期结果和实际结果

时间:2018-08-08 08:14:28

标签: postman postman-collection-runner

正在尝试使用邮递员测试脚本来测试API。 我发现具有挑战性的一件事是测试失败时的预期和实际测试结果。 我应该如何实现。 我尝试使用console.log,但如果测试用例失败,它将无法打印。 如何为所有测试使用单一功能实现更通用的解决方案。

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
    console.log("TestCase: Status Code should be 200"+", 
        Expected: "+"Response code should be 200"+", Actual: "+pm.response.code);
});

2 个答案:

答案 0 :(得分:0)

Postman Sandbox API reference中,您有一个通用示例,希望从服务器获得正常的状态(200):

pm.sendRequest('https://postman-echo.com/get', function (err, res) {

if (err) { console.log(err); }

pm.test('response should be okay to process', function () {

pm.expect(err).to.equal(null);

pm.expect(res).to.have.property('code', 200);

pm.expect(res).to.have.property('status', 'OK');

});
});

答案 1 :(得分:0)

如果测试失败,则该断言错误消息将自动推送到测试结果部分:

Status code is 200 | AssertionError: expected response to have status code 201 but got 200

您可以使用它,但是它只会重复测试失败时Postman告诉您的内容:

pm.test(`Status code is 200 - Actual Status Code: ${pm.response.code}`, () => {
    pm.response.to.have.status(200)
})

Status code is 200 - Actual Status Code: 404 | AssertionError: expected response to have status code 200 but got 404