如何在邮递员测试Get呼叫的响应正文中访问信息

时间:2020-03-12 16:21:27

标签: json postman

下面是响应正文中的JSON格式

{
   "properties":{
      "name":"Jake",
      "id":123,
      "HashData":[
         {
            "Major":"CS",
            "code":234
         }
      ]
   }
}

我尝试使用:

var x = pm.response.json().properties;
console.log(x.HashData); // it returned HashData is [object object] 
console.log(x.HashData.code); // it returned undefined

我还能如何查看或访问数据? 以及如何在补丁中使用此代码,例如要将代码从234更改为567?

1 个答案:

答案 0 :(得分:1)

您需要使用pm对象。 尝试 console.log(x.HashData[0].code); 您的HasData是一个数组

pm.test (
    "Response HashData has a code.",
    function()
    {
        var data = pm.response.json();
        pm.expect(data.properties.HashData[0]).to.have.property('code');

    }
);

如果是对象但不是数组,则需要使用键。

pm.test (
    "Response has name property.",
    function()
    {
        var data = pm.response.json();
        pm.expect(data.properties).to.have.property('name');

    }
);

更多测试文档在这里:https://learning.postman.com/docs/postman/scripts/postman-sandbox-api-reference/

要更改值,您可以执行以下操作:

 data.properties.HashData[0].code = 567