如何在邮递员中验证数组响应?



当响应为{product id : 123456789}

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

pm.test("Body is correct", function () {pm.response.to.have.body("{product id : 123456789}");});

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

下面两者都不起作用——

pm.test("Body is correct", function () {pm.response.to.have.body("[{product id : 123456789}]");});

pm.test("Body is correct", function () {pm.response.to.have.body([{product id : 123456789}]);});

任何想法或特定代码??提前谢谢你!!

pm.test("Test Case Name", function () {
var jsonData = pm.response.json();
var xyz = [{product id : 123456789}];
pm.expect(xyz).to.deep.equal(jsonData);
});

您还可以检查结果是否为数组,甚至可以使用基本的 Javascript 遍历数组。

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      
});

相关内容

  • 没有找到相关文章

最新更新