Arrays 如何在POSTMAN中验证阵列响应?

Arrays 如何在POSTMAN中验证阵列响应?,arrays,json,compare,postman,response,Arrays,Json,Compare,Postman,Response,当响应为{product id:123456789} 下面的邮递员代码工作正常- pm.test(“Body是正确的”,函数(){pm.response.to.have.Body({productid:123456789}”);}) 但是当响应是这样的数组时,[{product id:123456789}] 下面两个都不起作用-- pm.test(“Body是正确的”,函数(){pm.response.to.have.Body([{productid:123456789}]) pm.test(“

当响应为
{product id:123456789}

下面的邮递员代码工作正常-

pm.test(“Body是正确的”,函数(){pm.response.to.have.Body({productid:123456789}”);})

但是当响应是这样的数组时,
[{product id:123456789}]

下面两个都不起作用--

pm.test(“Body是正确的”,函数(){pm.response.to.have.Body([{productid:123456789}])

pm.test(“Body是正确的”,函数(){pm.response.to.have.Body([{product id:123456789}]);})


有什么想法或具体的代码??提前谢谢你

您还可以检查结果是否为数组,甚至可以使用基本Javascript在数组中循环

pm.test("Test Case Name", function () {

   var jsonData = pm.response.json();
   var xyz = [{product id : 123456789}];

 pm.expect(xyz).to.deep.equal(jsonData);

});
pm.test('Validate Data is an array', function () {
    const jsonData = pm.response.json();
    pm.expect(jsonData.Data).to.be.an.instanceOf(Array);
    pm.expect(jsonData.Data.length).to.be.greaterThan(0);
});

pm.test('Validate first product id to be 123456789', function () {
    const jsonData = pm.response.json();
    const rec = jsonData.Data[0];
    pm.expect(rec).to.contain('product id: 123456789');

    // If the field/payload is from an API, you can also do one of:                                                 
    // pm.expect(rec.ProductId).to.equal(123456789);    // expecting field from an API 
    // pm.expect(rec.ProductId).to.equal('123456789');  // if data type is a string      
});

真是太棒了@darshit shah谢谢你