假设调用返回的json主体包含一些动态键,即
{
"message": "search results matching criteria",
"permission": {
"261ef70e-0a95-4967-b078-81e657e32699": {
"device": {
"read:own": [
"*"
]
},
"account": {
"read:own": [
"*"
]
},
"user": {
"read:own": [
"*"
]
}
}
}
尽管在确定如何在响应的动态向导级别以下验证对象时遇到很多麻烦,我可以很容易地如下验证json。
pm.test("response body to have correct items", function () {
pm.expect(jsonData.message).to.eq("search results matching criteria");
pm.expect(jsonData).to.have.property('permission');
pm.expect(jsonData.permission).to.have.property(pm.variables.get("otherUserId"));
});
理想情况下,您想验证对象的设备,帐户以及用户级别。
有人提示吗?
我尝试了几种方法来尝试引用otherUserId变量,但是没有任何效果。它不是没有解析变量,因此未能通过测试,因为它正在json中寻找一个名为otherUserId的级别,或者由于语法错误而无法运行测试。
答案 0 :(得分:1)
这有效:
pm.expect(jsonData.permission[pm.variables.get("otherUserId")]).to.have.property('device');