简体   繁体   中英

How to check whether one node in API response has same value under all object using postman tests?

Suppose a API request fetches a users id, email address and their designated role. Sample API Request below:

GET: /v1/users HTTP/1.1
Content-Type: application/json
Authorization: bearer {access_token}

For the above request, the following is the response:

{
    "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
}

Now, what will be the test in postman to make sure that all the returned values under role node is equal to OWNER?

You could add something like a loop to check for it?

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

This should work to check the value of each role property, if the schema response you posted is correct.

I changed one of the values and ran the test again to show you it working - This will show the failure in Postman if the property is not equal to 'OWNER'.

在此输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM