Skip to content

How To Use For Loop In Postman

API Testing Blog

Looping Through Data in Postman Tests

Postman’s scripting engine allows you to perform repetitive tasks using loops. This is particularly useful when testing APIs that involve collections or arrays of data.

How to Use the for Loop in Postman Tests

The for loop in Postman executes a block of code repeatedly for each item in a list or array. Here’s the basic syntax:

for (let i = 0; i < array.length; i++) {
// code to be executed for each item in the array
}

Example: Let’s say you have an API endpoint that returns a list of users. You can use a for loop to iterate through each user and perform some actions, like verifying specific properties.

Step 1: Send the API request

Step 2: Add a test script in the “Tests” tab.

Step 3: Define the array containing users.

Step 4: Add the for loop and code to perform actions on each user.

Sample Code:

pm.test("Verify users in the response", () => {
const users = pm.response.json(); // Assuming the response is a JSON array
for (let i = 0; i < users.length; i++) {
const user = users[i];
pm.expect(user.name).to.be.a('string'); // Verify name property is a string
pm.expect(user.age).to.be.a('number'); // Verify age property is a number
}
});

How to Use for...in Loop for Objects

The for...in loop is useful for iterating through the properties of an object.

Example: Let’s say you have an API endpoint that returns a product object with various properties.

Step 1: Send the API request

Step 2: Add a test script in the “Tests” tab.

Step 3: Extract the product object from the response.

Step 4: Add the for...in loop and code to check properties.

Sample Code:

pm.test("Verify product object properties", () => {
const product = pm.response.json();
for (const property in product) {
pm.expect(product[property]).to.not.be.undefined; // Verify that the property exists
}
});

How to Use a for...of Loop for Iterable Objects

The for...of loop is used for iterating over iterable objects like arrays, strings, and sets.

Example: Imagine a scenario where you need to test different values in a list of IDs.

Step 1: Define an array of IDs.

Step 2: Iterate through the array using a for...of loop and send a request for each ID.

Sample Code:

const ids = ['123', '456', '789'];
for (const id of ids) {
pm.sendRequest({
url: `https://api.example.com/users/${id}`,
method: 'GET'
}, (err, res) => {
pm.expect(res.statusCode).to.be.equal(200);
// Add more tests based on response data
});
}

How to Use a while Loop in Postman

In cases where you need to execute code repeatedly until a particular condition is met, the while loop is helpful.

Example: Imagine an API endpoint where you need to fetch data until a specific condition is met. You can check the response with each iteration and exit the loop once the condition is met.

Sample Code:

let page = 1;
while (page <= 10) {
pm.sendRequest({
url: `https://api.example.com/users?page=${page}`,
method: 'GET'
}, (err, res) => {
pm.expect(res.statusCode).to.be.equal(200);
const data = pm.response.json();
// Add tests to process the data
page++;
});
}

Important Note:

The while loop can potentially result in an infinite loop if the condition never becomes false. Be cautious and ensure the loop condition will eventually become false.

Best Practices for Using Loops in Postman Tests

  • Clear Variable Declarations: Use meaningful variable names for loop counters and iterators to make your code easy to understand.
  • Avoid Unnecessary Iterations: Optimize your loop conditions to ensure they only execute the necessary number of times.
  • Use async/await for Asynchronous Operations: When dealing with asynchronous operations like API requests within loops, use async/await to handle the responses correctly.
  • Logging for Debugging: Add pm.test statements or console.log calls within your loops to help debug issues and monitor the loop’s progress.

By mastering the use of loops in Postman tests, you can streamline your API testing efforts and increase the efficiency of your workflow.

API Testing Blog