【问题标题】:How to verify array length for postman test如何验证邮递员测试的数组长度
【发布时间】:2021-01-27 23:12:21
【问题描述】:

我有显示此对象companies[0].salesReps 的 4 个值(图像显示 3)的 json 响应 如何验证邮递员测试的销售员工总数并在控制台上打印他们的姓名。

x.companies[0].salesReps[0].name
x.companies[0].salesReps[1].name
x.companies[0].salesReps[2].name

试过这句话undefined

emp = JSON.parse(responseBody(companies[0].salesReps));
    var listcnt = emp.length;
    console.log(listcnt)

缺少任何东西 :) 谢谢

【问题讨论】:

    标签: javascript arraylist postman newman postman-testcase


    【解决方案1】:

    不确定您的响应正文的结构,但应该这样做。 很高兴在您发布完整的回复正文后对其进行调整。

    const resBody = pm.response.json();
    
    const numberOfSalesEmployees = resBody.companies[0].salesReps.length;
    
    console.log("Number of sales employees:" + numberOfSalesEmployees);
    
    for (var i = 0; i < numberOfSalesEmployees; i++){
        console.log("Name of sales rep " + i + ": " + resBody.companies[0].salesReps[i].name);
    }
    
    pm.test("Number of sales employees is 4", function () {
        pm.expect(numberOfSalesEmployees).to.eql(4);
    });
    

    【讨论】:

    • 感谢 Chris,将所有四个销售员工姓名的输出作为`销售代表姓名 0: [object Object]`
    • 根据要求,请分享您的完整回复正文。只有这样我才能确定如何处理数据并使代码正常工作。
    • 得到它的工作感谢克里斯它指向错误的对象。更新了这一行,现在一切正常:) console.log("Name of sales rep " + i + ": " + (resBody.companies[0]).salesReps[i].name);
    • 酷。更新了我的答案。感谢您接受它,以防它满足您的要求。
    • 接受你的回答:)
    【解决方案2】:

    我认为你最好先解析 responseBody(在尝试访问响应中的数据之前),所以:

    var parsedResponseBody = JSON.parse(responseBody);
    var listCnt = parsedResponseBody.companies[0].salesReps.length;
    

    【讨论】:

    • 这只是计算销售代表的数量。问题还要求验证号码并打印销售代表的姓名。
    猜你喜欢
    • 2020-11-19
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多