我正在尝试使用测试脚本自动化邮递员中的注册场景
我有以下 JsonArray 作为响应:
[
{
"id": 1,
"name": "user_A",
"cntkp": "martin",
"company": "kreativ",
"tel": "12345678",
"email": "[email protected] /cdn-cgi/l/email-protection"
"street": "str. 0001",
"city": "DEF",
}
......
......
......
{
"id": 4,
"name": "user_B",
"cntkp": "martin",
"company": "kreativ",
"tel": "12345678",
"email": "[email protected] /cdn-cgi/l/email-protection"
"street": "str. 0002",
"city": "NJ",
}
......
......
......
{
"id": 10,
"name": "User_C",
"cntkp": "martin",
"company": "kreativ",
"tel": "12345678",
"email": "[email protected] /cdn-cgi/l/email-protection"
"street": "str. 0003",
"city": "ABC",
}
......
]
数组长度可以是动态的并且可以更改(在本示例中为 10),并且想要找到具有特殊电子邮件的对象(数组中的某个位置),然后从该对象获取 ID,并根据该对象中的 JsonData 进行断言(catch元素,例如检查名称)。
我怎样才能做到这一点?
感谢您的支持。
我发送 GET 请求以从注册数据库获取所有数据。
作为响应我得到一个 JsonArray
从 Json 数组我需要断言的特定对象(例如示例中带有电子邮件 user_B 的对象)。
我知道我的电子邮件地址,并根据它我必须从 Object 中找出 ID。
当我知道哪个 ID 是我的 ID 时我可以做到这一点,但如果它是动态的,我不知道如何在邮递员中搜索它的数组来获取 ID
例如,断言公司名称
pm.expect(jsonData[0].company).to.equal(pm.environment.get("regDB_new_company"))
但如果我不知道ID(只知道我的电子邮件),我必须首先找出对象的ID,然后我才能保证这一点。
例如
在这种情况下,首先,通过电子邮件找到对象“[电子邮件受保护] /cdn-cgi/l/email-protection”
然后从该对象获取 ID 元素(在本例中为 4)
然后我想断言对象中的所有数据