检查嵌套元素的 属性 - Postman 测试
Check property of a nested element - Postman test
请协助从 postman 的 JSON 响应中获取嵌套元素的 属性 类型。以下是我在 POST 之后的回复。
{
"MyList": [
[
{
"id": 1,
"name": "Test"
}
]
]
}
我想检查 name 和 id 属性是否属于数字和字符串类型。下面是我的代码,但出现错误:无法读取 undefined
的 属性 '0'。
pm.test("Check schema and datatype", () =>{
var jsonData = pm.response.json();
pm.expect(typeof(jsonData[0].id)).to.eql('number');
pm.expect(typeof(jsonData[0].name)).to.eql('string');
})
虽然我觉得你的 response body
有点奇怪,但你可以创建一个测试来检查这些数据类型,如下所示:
pm.test("Check schema and datatype", () => {
let jsonData = pm.response.json();
pm.expect(jsonData.MyList[0][0].id).to.be.a('number');
pm.expect(jsonData.MyList[0][0].name).to.be.a('string');
})
这是使用 chai a
方法:
https://www.chaijs.com/api/bdd/#method_a
编辑
要检查数组中对象的大小或数量,您可以使用:
pm.test("Verify number of records returned", () => {
let jsonData = pm.response.json().MyList[0]
pm.expect(jsonData.length).to.equal(1);
});
请协助从 postman 的 JSON 响应中获取嵌套元素的 属性 类型。以下是我在 POST 之后的回复。
{
"MyList": [
[
{
"id": 1,
"name": "Test"
}
]
]
}
我想检查 name 和 id 属性是否属于数字和字符串类型。下面是我的代码,但出现错误:无法读取 undefined
的 属性 '0'。
pm.test("Check schema and datatype", () =>{
var jsonData = pm.response.json();
pm.expect(typeof(jsonData[0].id)).to.eql('number');
pm.expect(typeof(jsonData[0].name)).to.eql('string');
})
虽然我觉得你的 response body
有点奇怪,但你可以创建一个测试来检查这些数据类型,如下所示:
pm.test("Check schema and datatype", () => {
let jsonData = pm.response.json();
pm.expect(jsonData.MyList[0][0].id).to.be.a('number');
pm.expect(jsonData.MyList[0][0].name).to.be.a('string');
})
这是使用 chai a
方法:
https://www.chaijs.com/api/bdd/#method_a
编辑
要检查数组中对象的大小或数量,您可以使用:
pm.test("Verify number of records returned", () => {
let jsonData = pm.response.json().MyList[0]
pm.expect(jsonData.length).to.equal(1);
});