【问题标题】:How to check whether one node in API response has same value under all object using postman tests?如何使用邮递员测试检查API响应中的一个节点在所有对象下是否具有相同的值?
【发布时间】:2023-03-12 22:18:01
【问题描述】:

假设 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
}

现在,postman 中将进行什么测试以确保角色节点下的所有返回值都等于 OWNER?

【问题讨论】:

  • 你可以在邮递员中运行javascript吗?

标签: javascript testing postman functional-testing qa


【解决方案1】:

你可以添加类似循环的东西来检查它吗?

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 中显示失败。

【讨论】:

  • 别担心!这是非常基本的,但它会做检查。
猜你喜欢
  • 1970-01-01
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 2016-11-14
  • 2019-10-06
相关资源
最近更新 更多