通过Postman中的测试确认JSON响应中的值

时间:2017-07-21 21:12:54

标签: json postman assertion

我的JSON响应正文如下:

[
  {
    "_time": "1499996827804",
    "properties": {
      "length": "80",
      "width": "4500"
    }
  }
]

我正在使用Postman编写测试以断言长度和宽度值_time

我写道:

var data = JSON.parse(responseBody);

tests["Check length value"] = data.length === "80";

但它失败了。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您的数据将以数组形式返回,因此您需要获取数组的第一项。 length也是“properties”对象的子属性。试试这个:

tests["Check length value"] = data[0].properties.length === "80";

答案 1 :(得分:0)

如果你的JSON看起来像这样:

[ { "_time": "1499996827804", "properties": { "length": "80", "width": "4500" } } ]

然后您需要修复测试的data.length === "80"部分。

首先,您的JSON是一个数组,因此您需要选择data[0]以获取响应中的第一个项目({ "_time": "1499996827804", "properties": { "length": "80", "width": "4500" } })。然后,看起来您正在尝试检查响应的length部分,该部分位于properties对象下。所以你的选择器现在应该是这样的:data[0].properties

最后,要访问length部分,请将.length添加到选择器的末尾:data[0].properties.length

把它们放在一起,你应该有:

tests["Check length value"] = data[0].properties.length === "80";

希望它有所帮助!