【问题标题】:How to verify the length of attributes in an array and make sure no extra attributes are displayed?如何验证数组中属性的长度并确保没有显示额外的属性?
【发布时间】:2020-07-10 07:54:54
【问题描述】:

我已将输入的长度验证为 var resp =(body.input).length 并确保它不为 0。但我还想验证每组中只有 firstname、lastname 和 rollno 可用,并且计数将be always 3. 我如何验证这是邮递员测试?

响应正文:

{
"success": true,
"input":[
{
    firstname:"Ram"
    lastname:"Lakshmanan"
    rollno: "11"
},
{
    firstname:"Pravi"
    lastname:"Reshma"
    rollno: "12"
}
]
}

我的测试如下所示:

var i;
for(i=0 ; i< resp ; i++){

   var resp_firstname = body.input[i].firstname;

   pm.test("Verify first name is available and not empty",function(){
      pm.expect(resp_firstname).to.exist;
      pm.expect(resp_firstname).to.not.eql();
}

【问题讨论】:

    标签: javascript postman postman-testcase


    【解决方案1】:

    首先,问题中提供的响应正文不是有效的 JSON。
    有效的 json 数据应如下所示 =

    {
       "success":true,
       "input":[
          {
             "firstname":"Ram",
             "lastname":"Lakshmanan",
             "rollno":"11"
          },
          {
             "firstname":"Pravi",
             "lastname":"Reshma",
             "rollno":"12"
          }
       ]
    }
    

    你可以这样做-

    pm.test("Verify object has expected properties", function () {
        // loop through input array
        for (var i = 0; i < Object.keys(json.input).length; i++) {
            console.log(i);
            pm.expect(json.input[i]).to.have.property("firstname");
            pm.expect(json.input[i]).to.have.property("lastname");
            pm.expect(json.input[1]).to.have.property("rollno");
            //assert length of properties
            pm.expect(Object.keys(json.input[i]).length).to.eql(3);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2023-03-08
      • 2015-07-04
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多