邮差JSON值检查测试失败

时间:2017-03-01 18:33:07

标签: api testing postman

我有一个API,其响应如下:

"data": {
"catalog_list_items": [
  {
    "catalog_list_items": [
      {
        "catalog_list_items": [
          {
            "title": "L13",
            "content_id": "58a85146b0000ec",
            "sequence_no": 1,
            "language": "hindi",
            "genres": [
              "xxxx"
            ]

我想在postman中创建一个测试,以验证语言键的值是否为'hindi'。我在Postman的测试中写下总是失败的测试。找不到原因。

var jsonData = JSON.parse(responseBody); 
tests["Language is hindi"] = jsonData.data.catalog_list_items[3].language === "hindi";

但是,当我使用类似的结构来测试sequence_no时,它可以正常工作

var jsonData = JSON.parse(responseBody);    
tests["Sequence No is 1"]= jsonData.data.catalog_list_items[3].sequence_no   === 1;

任何人都能为我开灯吗?

1 个答案:

答案 0 :(得分:2)

我可以在你的响应体中看到3级嵌套数组。 所以我不知道你是如何通过这个表达式得到你的价值的:     jsonData.data.catalog_list_items [3]。外语

从上面的响应中获取'language'键的正确表达式应为:

jsonData.data.catalog_list_items[0].catalog_list_items[0].catalog_list_items[0].language