Postman 邮递员-如何检查响应正文中的值>;0
我对邮递员来说是个新手,我正在努力寻找以下问题的答案 我有一个返回如下数据的查询:Postman 邮递员-如何检查响应正文中的值>;0,postman,postman-testcase,Postman,Postman Testcase,我对邮递员来说是个新手,我正在努力寻找以下问题的答案 我有一个返回如下数据的查询: { "dailyProcessing":{ "2020-10-01":{ "Database":{ "list0":0, "list1":0, "list2":300,
{
"dailyProcessing":{
"2020-10-01":{
"Database":{
"list0":0,
"list1":0,
"list2":300,
"list3":0,
"list4":0
}
},
"2020-10-02":{
"Database":{
"list0":0,
"list1":0,
"list2":0,
"list3":0,
"list4":400
}
}
}
}
我需要编写一个测试,检查其中一个值是否返回一个大于0的数字,并且不确定格式应该是什么
使用的列表是随机的,因此它不能特定于一个列表,但始终会使用一个列表,如果在响应中没有看到大于0的值,我们需要进行标记,因为它将识别处理中的问题
我有少量的知识,所以我试着把这些东西放在一起,比如
pm.expect(pm.response.text()).to.include
但我似乎没有得到我需要的结果
道歉如果这是一件非常简单的事情,我还不知道我要做的到底是什么(即术语)
提前感谢希望此代码对您有所帮助,请将其放在“测试”选项卡中 它将遍历每个属性,导航到数据库属性,然后遍历每个列表项 它将对所有可用项执行此操作,直到满足一个条件,条件是列表项值大于0 一旦满足条件,它将从两个循环中断,然后断言满足的条件为真 如果所有值都为0,则循环完成,则该条件将不满足,测试将失败
var dailyProcessing = JSON.parse(responseBody);
var conditionMet = false;
for (var key in dailyProcessing)
{
console.log(Object.keys(dailyProcessing).length)
console.log(key)
for(var item in dailyProcessing[key].Database)
{
if(dailyProcessing[key].Database[item] > 0){
conditionMet = true;
break;
}
}
if(conditionMet){
break;
}
}
pm.test("Condition is met", function() {
pm.expect(conditionMet).to.be.true;
});
这非常有用。谢谢你的解释,谢谢你的代表!你可以和邮递员一起做一些很酷的事情,这只是javascript。例如,我为响应体中返回的项目数组创建了动态postman测试,该数组断言属性值设置为某个值,只需创建一个foreach循环,在迭代项目上运行pm.test。我喜欢