如何使用邮递员测试检查 API 响应中的一个节点在所有对象下是否具有相同的值?
How to check whether one node in API response has same value under all object using postman tests?
假设 API 请求获取用户 ID、电子邮件地址和他们指定的角色。示例 API 以下请求:
GET: /v1/users HTTP/1.1
Content-Type: application/json
Authorization: bearer {access_token}
针对上述请求,响应如下:
{
"content": [
{
"id": 1,
"email": "random@random.com",
"full_name": "AlbusDumbledore",
"role": "OWNER"
},
{
"id": 40,
"email": "random1@random1.com",
"role": "OWNER"
}
],
"last": false,
"total_elements": 2,
"total_pages": 1,
"sort": null,
"first": true,
"number_of_elements": 2,
"size": 20,
"number": 0
}
现在,邮递员中将进行什么测试以确保角色节点下的所有返回值都等于 OWNER?
你可以添加类似循环的东西来检查它吗?
pm.test("Check role equals OWNER", () => {
var jsonData = pm.response.json()
for (i = 0; i < jsonData.content.length; i++) {
pm.expect(jsonData.content[i].role).to.equal('OWNER')
}
})
如果您发布的架构响应正确,这应该可以检查每个 role
属性 的值。
我更改了其中一个值并再次 运行 测试以向您展示它是否有效 - 如果 属性 不等于 'OWNER',这将在 Postman 中显示失败。
假设 API 请求获取用户 ID、电子邮件地址和他们指定的角色。示例 API 以下请求:
GET: /v1/users HTTP/1.1
Content-Type: application/json
Authorization: bearer {access_token}
针对上述请求,响应如下:
{
"content": [
{
"id": 1,
"email": "random@random.com",
"full_name": "AlbusDumbledore",
"role": "OWNER"
},
{
"id": 40,
"email": "random1@random1.com",
"role": "OWNER"
}
],
"last": false,
"total_elements": 2,
"total_pages": 1,
"sort": null,
"first": true,
"number_of_elements": 2,
"size": 20,
"number": 0
}
现在,邮递员中将进行什么测试以确保角色节点下的所有返回值都等于 OWNER?
你可以添加类似循环的东西来检查它吗?
pm.test("Check role equals OWNER", () => {
var jsonData = pm.response.json()
for (i = 0; i < jsonData.content.length; i++) {
pm.expect(jsonData.content[i].role).to.equal('OWNER')
}
})
如果您发布的架构响应正确,这应该可以检查每个 role
属性 的值。
我更改了其中一个值并再次 运行 测试以向您展示它是否有效 - 如果 属性 不等于 'OWNER',这将在 Postman 中显示失败。