Postman 邮递员:想验证以JSON格式从API获取的数据值
我想检查一些验证组合,以确定从类似的API请求中获得的值 如果Postman 邮递员:想验证以JSON格式从API获取的数据值,postman,javascript,json,Postman,Javascript,Json,我想检查一些验证组合,以确定从类似的API请求中获得的值 如果“跟踪”:“是”,则分析>“传输时间”:239应存在 API响应的片段: { "status": 200, "data": [{ "id": 107267, "branchId": "22", "status": "1", "googleETA": "2018-02-01 20:44:51", "runDate": "2018-01-29", "runOfTheDay": "1"
“跟踪”:“是”
,则分析>“传输时间”: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"
}
}]
}
这是一个非常基本的检查,我建议不要在本地环境以外的任何地方使用它
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')
}
}
})
pm.test(“基本检查”,()=>{
var jsonData=pm.response.json().data
对于(i=0;i
由于您的数据在data
数组中只有一个项,您实际上不需要为添加for
循环,但我为您添加了它,这样您就可以看到,如果您有多个项,那么将运行相同的检查。如果tracked
属性为“Yes”,则测试将检查analytics.transitTime
是否不为null。正如我所说,这是一个基本的检查,它没有做很多,但希望这将给你的信息,你需要开始 你试过什么?邮递员文档是一个很好的起点如果tracked
等于No,它会是什么样子?如果tracked为No,那么所有分析值都将为空。我提供的解决方案是否为您提供了足够的信息,让您自己尝试创建这些检查?@DannyDainton it,我知道了如何验证它们,谢谢:)