我是JSON和Postman的新手,并通过学习曲线继续我的努力。我对另一个简单的操作有疑问。
我创建了一个GET请求,该请求将获得一个JSON响应,如下所示。
在下面的示例中,我想创建一个仅在(主)“ IsArchived”值等于“ true”时通过的测试,否则它将失败
我该怎么办?预先感谢
我已经尝试了以下方法,但是这些方法似乎都不起作用。 这一次失败并出现错误:“未定义响应”
pm.test("Value Equal TRUE", function() {
pm.expect(response.json().IsArchived).to.be.true
});
即使我将下面的响应设置为“ === false”,也始终会通过。
pm.test("Item Is Archived", function() {
if (pm.response.json().IsArchived === true) {
pm.response.to.have.status(200);
}
});
这是我的回复:
{
"Id": 1328,
"Name": "AAA Test",
"Owner": {
"Id": 208,
"Name": "The Boss"
},
"FieldGroups": [
{
"Id": "c81376f0-6ac3-4028-8d61-76a0f815dbf8",
"Name": "General",
"FieldDefinitions": [
{
"Id": 1,
"DisplayName": "Product Name",
"IsArchived": false
},
{
"Id": 2,
"DisplayName": "Short Description",
"IsArchived": false
},
{
"Id": 33,
"DisplayName": "Long Description",
"IsArchived": false
},
]
},
{
"Id": "5ed8746b-0fa8-4022-8216-ad3af17db91f",
"Name": "Somethingelse",
"FieldDefinitions": [
{
"Id": 123,
"DisplayName": "Attribution",
"IsArchived": false
},
{
"Id": 1584,
"DisplayName": "FC1",
"IsArchived": false
},
{
"Id": 623,
"DisplayName": "Sizes",
"IsArchived": false,
"Owner": {
"Id": 208,
"Name": "The Boss"
},
"Unit": "",
"Options": [
{
"Id": 1,
"Value": "XS"
},
{
"Id": 2,
"Value": "S"
},
{
"Id": 3,
"Value": "M"
}
]
}
]
}
],
"IsArchived": false
"Version": 1
}
答案 0 :(得分:0)
这将起作用。
pm.test("Value Equal TRUE", function() {
pm.expect(pm.response.json().IsArchived).to.be.true
});
“未定义响应”
我假设IsArchived元素是响应中的倒数第二个元素。如果不是,则可能需要相应地更改层次结构。