邮差测试 - 如何在不定义索引的情况下搜索数组列表

时间:2017-08-01 15:55:46

标签: arrays loops postman

我正在尝试创建一个Postman测试,我有一个响应,其中包含一个返回我需要验证的50多个值的数组,到目前为止,我一直在为每个测试项编写一个测试行项目。

var searchJSON = JSON.parse(responseBody);
tests["check_group_name1"] = /name1/.test(searchJSON.Entity.Group[0].Name);
tests["check_group_name2"] = /name2/.test(searchJSON.Entity.Group[1].Name);
tests["check_group_name3"] = /name3/.test(searchJSON.Entity.Group[2].Name);

问题是,如果/当此API发生变化时,维护和更新每个索引值将是一场噩梦。

有没有办法使用循环验证50+值,而不依赖于数组中的每个索引位置?它甚至可能吗?

这是样本回复的样子:

{
 "Entity":{
   "Group": [
     {
      "Name": "name1",
     },
     {
      "Name: "name2",
     },
     {
      "Name: "name3",
     },
   ],
  }
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

让我们说你从数组开始

[
   {'Name': 'name1'},
   {'Name': 'name2'},
   {'Name': 'name3'}
]

您可以将所有值拉出到像这样的列表中

string json = @"
[
   {'Name': 'name1'},
   {'Name': 'name2'},
   {'Name': 'name3'}
]";

JArray arr = JArray.Parse(json);
List<string> names = arr.Select(token => token.SelectToken("Name").Value<string>()).ToList();

然后,您可以遍历这些值,并使用您喜欢的任何测试逻辑进行检查。