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。我喜欢