Igg*_*ass 4 javascript json postman
我发送一个请求,该请求发回如下内容:
{
"items": [
{
"id": 86154,
...
},
{
"id": 86194,
...
}
}
Run Code Online (Sandbox Code Playgroud)
我想在 Postman 测试部分计算这个数组的大小。所以我写道:
var body = JSON.parse(pm.response.json());
tests["Count: " + body.items] = true;
Run Code Online (Sandbox Code Playgroud)
正如您在上面看到的,它没有起作用。我对 PostMan 和 Javascript 都很陌生,这可能就是原因。
Dan*_*ton 10
简单的答案是使用新的 API 语法得到同样的结果pm.*:
pm.test(`Count: ${pm.response.json().items.length}`)
Run Code Online (Sandbox Code Playgroud)
您使用的语法不正确JSON.parse(pm.response.json())- 您只需使用pm.response.json()并删除JSON.parse().
要获取对象的数量,您只需使用.length属性。
我不确定您要测试什么,但这个简单的测试将检查或断言数组中是否有 2 个对象(如您的示例):
let body = pm.response.json()
pm.test("Check the Items array length", () => {
pm.expect(body.items.length).to.equal(2)
})
Run Code Online (Sandbox Code Playgroud)
这是使用较新的pm.test()语法,有关此内容以及所有其他pm.*API 方法的更多信息可以在此处找到:
https://learning.postman.com/docs/postman/scripts/postman-sandbox-api-reference/
如果您只想注销该值而不是将其添加到测试中,则可以console.log(pm.response.json().items.length)在Tests选项卡中使用并在 Postman 控制台中查看该值的显示。
| 归档时间: |
|
| 查看次数: |
11464 次 |
| 最近记录: |