如何验证邮递员测试的数组长度

时间:2020-10-13 15:22:48

标签: javascript arraylist postman newman postman-testcase

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

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

list

尝试说未定义

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

任何遗漏的东西:)谢谢

3 个答案:

答案 0 :(得分: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);
});

答案 1 :(得分:0)

任何主意,这是怎么回事

CheckServerStatus

感谢您共享信息,该信息显示为未定义。但是想通了:)

pm.expect(Object.keys(pm.response.json(jsonData.companies[0].salesReps)).length).to.eql(3);
-----output--
getting AssertionError: expected [ Array(4) ] to be true

给我4 以及如何打印所有销售员工姓名 现在如果有这个值怎么打印所有名字?我也在我这边做

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

答案 2 :(得分:-1)

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

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