PostMan 测试脚本:检查响应内容 JSON

PostMan Test scripts: Inspecting contents of response JSON

这里是 PostMan 6.0.10。我试图更好地理解如何编写测试脚本,并且在阅读了他们的其他内容后 superb documentation 我仍然对如何查询和检查从请求返回的 JSON 响应感到困惑。

具体来说,给定以下 JavaScript 片段:

pm.test("Verify the contents of the response payload are correct", function () {
    // ???
});

我需要能够查询响应 JSON 和:

场景 #1:JSON 响应是一个数组

示例:

[
    {
        "fizz": "buzz",
        "foo": 53
    },
    {
        "fizz": "bozz",
        "foo": 291
    }
]

场景 #2:JSON 响应是单个对象

示例:

{
    "fizz": "buzz",
    "foo": 293
}

知道如何执行这种 JSON 响应负载检查吗?

这是基本的,但应该可以得到动力:

pm.test("Verify payload of example one",  () => {
    pm.expect(pm.response.json()[0].fizz).to.equal('buzz')
    pm.expect(pm.response.json()[0].foo).to.equal(53)
    pm.expect(pm.response.json()[1].fizz).to.equal('bozz')
    pm.expect(pm.response.json()[1].foo).to.equal(291)
});

pm.test("Verify payload of example two",  () => {
    pm.expect(pm.response.json().fizz).to.equal('buzz')
    pm.expect(pm.response.json().foo).to.equal(293)
});

可能值得研究一些基本的 JavaScript 以及如何解析 JSON objects

//你可以这样做

 if (responseCode.code === 200) {
  var jsonDataArray;
  var jsonArray= JSON.parse(responseBody);
 var found=false;

       for (var i = 0;i<jsonArray.length;i++){`enter code here`

     jsonDataArray = jsonArray[i];
     for (var j = 0; j<jsonDataArray.length && found === false;j++){
         if (jsonDataArray[j].fizz === "buzz" && jsonDataArray[j].foo === 53)