Bird
Raised Fist0
Postmantesting~15 mins

Query parameters in Postman - Build an Automation Script

Choose your learning style10 modes available
Verify API response with query parameters
Preconditions (2)
Step 1: Open Postman and create a new GET request
Step 2: Enter the URL https://api.example.com/items
Step 3: Add query parameter 'category' with value 'books'
Step 4: Add query parameter 'limit' with value '5'
Step 5: Send the request
Step 6: Observe the response status code and body
✅ Expected Result: Response status code is 200 OK and response body contains a list of 5 items all belonging to category 'books'
Automation Requirements - Postman test scripts (JavaScript)
Assertions Needed:
Verify response status code is 200
Verify response body is an array
Verify each item in response has category 'books'
Verify response array length is 5
Best Practices:
Use pm.* API for assertions
Check response status before parsing body
Use descriptive assertion messages
Keep test scripts simple and readable
Automated Solution
Postman
pm.test('Status code is 200', () => {
    pm.response.to.have.status(200);
});

pm.test('Response body is an array of 5 items', () => {
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.be.an('array', 'Response is not an array');
    pm.expect(jsonData.length).to.eql(5, 'Response array length is not 5');
});

pm.test('All items have category "books"', () => {
    const jsonData = pm.response.json();
    jsonData.forEach(item => {
        pm.expect(item.category).to.eql('books', `Item category is not 'books': ${JSON.stringify(item)}`);
    });
});

The first test checks that the response status code is 200, confirming the request was successful.

The second test parses the response body as JSON and verifies it is an array with exactly 5 items, matching the 'limit' query parameter.

The third test loops through each item in the response array and asserts that the 'category' field equals 'books', matching the 'category' query parameter.

Using descriptive messages helps identify which assertion failed if the test does not pass.

Common Mistakes - 3 Pitfalls
Not verifying the response status code before parsing the body
Hardcoding expected values inside test without using query parameter values
Not checking the response body type before asserting properties
Bonus Challenge

Now add data-driven testing with 3 different sets of query parameters: category=books & limit=5, category=electronics & limit=3, category=clothing & limit=4

Show Hint

Practice

(1/5)
1. What symbol is used to start query parameters in a URL when making an API request in Postman?
easy
A. Question mark (?)
B. Ampersand (&)
C. Hash (#)
D. Slash (/)

Solution

  1. Step 1: Understand URL structure

    Query parameters always start after the base URL with a question mark to separate them from the path.
  2. Step 2: Identify the correct symbol

    The question mark (?) is the standard symbol to begin query parameters in URLs.
  3. Final Answer:

    Question mark (?) -> Option A
  4. Quick Check:

    Query parameters start with ? = C [OK]
Hint: Query parameters always start with ? in URLs [OK]
Common Mistakes:
  • Using & to start query parameters instead of ?
  • Confusing # (fragment) with query start
  • Starting query parameters with /
2. Which of the following is the correct way to add two query parameters named user and id with values alice and 123 respectively in Postman?
easy
A. ?user=alice&id=123
B. &user=alice&id=123
C. ?user=alice#id=123
D. ?user=alice;id=123

Solution

  1. Step 1: Start query parameters with ?

    The first query parameter must start with a question mark (?).
  2. Step 2: Separate multiple parameters with &

    Additional parameters are separated by an ampersand (&), so user=alice&id=123 is correct.
  3. Final Answer:

    ?user=alice&id=123 -> Option A
  4. Quick Check:

    First ? then & between parameters = A [OK]
Hint: Start with ? then separate params with & [OK]
Common Mistakes:
  • Starting with & instead of ?
  • Using # instead of & to separate parameters
  • Using semicolon ; instead of &
3. Given the URL https://api.example.com/data?type=fruit&color=red, what will Postman send as query parameters?
medium
A. No query parameters sent
B. type=fruit only
C. type=fruit and color=red
D. color=red only

Solution

  1. Step 1: Identify all query parameters after ?

    After the question mark, parameters are separated by &. Here, we have type=fruit and color=red.
  2. Step 2: Confirm both parameters are included

    Both parameters will be sent in the request as key-value pairs.
  3. Final Answer:

    type=fruit and color=red -> Option C
  4. Quick Check:

    Both params after ? separated by & = D [OK]
Hint: All params after ? separated by & are sent [OK]
Common Mistakes:
  • Ignoring second parameter after &
  • Thinking only first parameter is sent
  • Confusing fragment (#) with query parameters
4. You wrote the URL https://api.example.com/search?query=books&limit10 in Postman. What is wrong with this query parameter syntax?
medium
A. Extra '&' before 'limit10'
B. Missing '=' between 'limit' and '10'
C. Query parameters should start with '&' not '?'
D. Using '=' instead of ':' between key and value

Solution

  1. Step 1: Check each query parameter format

    Each parameter must be in key=value format. Here, 'limit10' lacks '='.
  2. Step 2: Identify missing '=' sign

    Correct syntax should be 'limit=10' to assign value 10 to key 'limit'.
  3. Final Answer:

    Missing '=' between 'limit' and '10' -> Option B
  4. Quick Check:

    Each param must be key=value, '=' missing = B [OK]
Hint: Check each param has key=value format [OK]
Common Mistakes:
  • Omitting '=' between key and value
  • Starting query with & instead of ?
  • Using ':' instead of '='
5. You want to filter API results in Postman to show only active users with role 'admin' and limit results to 5. Which query parameter string correctly achieves this?
hard
A. ?status=active&role=admin&limit=5&
B. ?status=active&role=admin&limit5
C. ?status=active;role=admin;limit=5
D. ?status=active&role=admin&limit=5

Solution

  1. Step 1: Use correct key=value pairs separated by &

    Each filter must be a key=value pair, separated by &. ?status=active&role=admin&limit=5 uses correct syntax.
  2. Step 2: Avoid syntax errors like missing '=' or wrong separators

    ?status=active&role=admin&limit5 misses '=' in limit, C uses semicolons instead of &, D has extra trailing & which is invalid.
  3. Final Answer:

    ?status=active&role=admin&limit=5 -> Option D
  4. Quick Check:

    All params key=value separated by & = A [OK]
Hint: Use key=value pairs separated by & without extra symbols [OK]
Common Mistakes:
  • Missing '=' in parameters
  • Using semicolons instead of &
  • Adding extra & at the end
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard