我想检查我在postman中从API请求中获取的值的某些验证组合
如果"tracked": "Yes"
,那么analytics > "transitTime": 239
应该出现。
API响应的片段:
{
"status": 200,
"data": [{
"id": 107267,
"branchId": "22",
"status": "1",
"googleETA": "2018-02-01 20:44:51",
"runDate": "2018-01-29",
"runOfTheDay": "1",
"ATD": "2018-01-29 14:02",
"simCarrier": "Vodafone",
"pingStatus": "Ok",
"driverName": "test",
"shipperCompanyId": "007",
"ETA": "2018-01-30 12:31:00",
"locationSource": "sim",
"created_at": "2018-01-29 07:05:54",
"updated_at": "2018-01-29 12:35:40",
"tracked": "Yes",
"analytics": {
"loadingTime": 55.62,
"unloadingTime": 0,
"transitTime": 239
},
"trackingStatusAtClosure": {
"Origin": "No",
"Transit": "No",
"Destination": "No"
}
}]
}
答案 0 :(得分:0)
这是一个非常基本的检查,除了在当地环境中练习外,我建议不要在任何地方使用它。
pm.test("Basic Check", () => {
var jsonData = pm.response.json().data
for(i = 0; i < jsonData.length; i++) {
if(jsonData[i].tracked === 'Yes') {
pm.expect(jsonData[i].analytics.transitTime).to.not.be.null
} else {
console.log('Tracked does not equal Yes')
}
}
})
由于您的数据在data
数组中只有一个项目,因此您不需要 来添加for
循环,但我已将其添加到您这样做你可以看到,如果你有多个项目,同样的检查会运行。如果tracked
属性是&#39;是&#39;然后测试是检查analytics.transitTime
是否为空。就像我说的那样,它是一个基本的检查,并没有做很多事情,但希望能为您提供入门所需的信息。