具有不带任何消息的json输出。如何仅针对用户特定的值验证测试?我想让我的测试来验证用户,名字,角色以及多少个办公室
{
"Status": "OK",
"Message": "",
"users": [
{
"address": {
"city": "test",
"state": "CL",
"zip": "60585"
},
"mobile": "",
"userId": "789455061",
"email": "test@abc.com",
"enabled": true,
"fax": "",
"firstName": "fortest",
"id": "6ec-asd-132",
"lastName": "test",
"licensedStates": [],
"connectid": "123456",
"organizations": [
{
"OrgID": "110465",
"offices": [
{
"OrgID": "11465",
"address": {
"city": "newcity",
"state": "BL",
"zip": "60585"
},
"id": "",
"name": "Test Data Pvt LTd"
}
],
"id": "789434",
"name": "Test Data Pvt Ltd"
}
],
"phone": "",
"roles": {
"Tester": true,
"Dev": false,
"Manager": false
},
"suffix": "",
"title": ""
}
]
}
将响应json声明为变量。然后尝试,然后也需要角色。
pm.test("testfordata",responsejson.users[0].enabled.is.equal(true);
错误:无法读取'undefined'的'equal'属性
答案 0 :(得分:0)
这是一个非常有针对性的测试,仅基于上面的数据集,没有考虑检查users
数组中的第一个对象以外的情况:
pm.test("testfordata", function () {
let jsonData = pm.response.json();
pm.expect(jsonData.users[0].enabled).to.be.true
pm.expect(jsonData.users[0].firstName).to.equal("fortest")
pm.expect(jsonData.users[0].roles).to.have.keys(["Tester", "Dev", "Manager"])
pm.expect(jsonData.users[0].organizations[0].offices.length).to.equal(1)
});