如何在JSON查询中附加数据?

时间:2018-07-28 09:52:38

标签: api postman web-api-testing

我是使用邮差测试Web Rest API的新手。您能帮我解决这个简单的错误吗?错误消息:评估测试脚本时出错:ReferenceError:未定义jsonData。

提前谢谢!

pm.test("User ID is 1 -> " +jsonData[0].userId, function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0].userId).to.eql(1);
});

enter image description here

1 个答案:

答案 0 :(得分:1)

您使用的是邮递员的独立版本还是chrome扩展程序?如果您使用的是chrome扩展名,则会发现pm未定义,as stated here

尽管可能没有完全记住,但是如果您使用的是chrome扩展程序,则可以通过“测试”标签以稍微不同的方式定义“测试逻辑”:

enter image description here

“测试”标签允许您编写在点击“发送”后返回的响应数据上自动运行的测试。

这基本上使您可以在Postmans自己的测试上下文中编写和执行javascript,从而可以定义一些相当复杂的测试逻辑来验证您的响应数据是否返回了预期的结果:

var contentTypeHeaderExists = responseHeaders.hasOwnProperty("Content-Type");

tests["Has Content-Type"] = contentTypeHeaderExists;

if (contentTypeHeaderExists) {
    tests["Content-Type is application/json"] = 
      responseHeaders["Content-Type"].has("application/json");
}

有关使用“测试”标签的更多信息,请参见this blog post-希望对您有所帮助!