Bird
Raised Fist0
Postmantesting~10 mins

Collection variables in Postman - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test verifies that a Postman collection variable is correctly set and used in a request. It checks that the variable value is accessible and the request returns the expected response.

Test Code - Postman Test Script
Postman
pm.test("Collection variable is set and used correctly", function () {
    // Get the collection variable 'baseUrl'
    const baseUrl = pm.collectionVariables.get("baseUrl");
    
    // Check that the variable is not undefined or empty
    pm.expect(baseUrl).to.be.a('string').and.not.empty;
    
    // Send a GET request to the baseUrl + '/status'
    pm.sendRequest(baseUrl + "/status", function (err, res) {
        pm.expect(err).to.be.null;
        pm.expect(res).to.have.property('code', 200);
        pm.expect(res.json()).to.have.property('status', 'ok');
    });
});
Execution Trace - 5 Steps
StepActionSystem StateAssertionResult
1Test startsPostman test script execution begins—PASS
2Retrieve collection variable 'baseUrl' using pm.collectionVariables.getVariable 'baseUrl' is fetched from collection variablesCheck that 'baseUrl' is a non-empty stringPASS
3Send GET request to URL constructed from 'baseUrl' + '/status'Request sent to the server at the constructed URLVerify no error in request and response code is 200PASS
4Check response JSON has property 'status' with value 'ok'Response received with JSON bodyAssert response JSON property 'status' equals 'ok'PASS
5Test endsAll assertions passed—PASS
Failure Scenario
Failing Condition: Collection variable 'baseUrl' is missing or empty, or the GET request returns an error or unexpected response
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test check first in the execution trace?
AThat the collection variable 'baseUrl' exists and is a non-empty string
BThat the response status code is 404
CThat the request URL is hardcoded
DThat the response JSON has a 'message' property
Key Result
Always verify that collection variables are properly set before using them in requests to avoid test failures due to missing or incorrect variable values.

Practice

(1/5)
1. What is the main purpose of collection variables in Postman?
easy
A. To store reusable values accessible by all requests in a collection
B. To store environment-specific URLs only
C. To save responses from API calls automatically
D. To create user interface themes in Postman

Solution

  1. Step 1: Understand what collection variables do

    Collection variables hold values that can be reused across all requests in a collection, making tests easier to manage.
  2. Step 2: Compare options with this purpose

    Only To store reusable values accessible by all requests in a collection describes storing reusable values for all requests, which matches the purpose of collection variables.
  3. Final Answer:

    To store reusable values accessible by all requests in a collection -> Option A
  4. Quick Check:

    Collection variables = reusable values [OK]
Hint: Remember: collection variables share values across all collection requests [OK]
Common Mistakes:
  • Confusing collection variables with environment variables
  • Thinking collection variables store API responses
  • Assuming collection variables control UI settings
2. Which syntax correctly uses a collection variable named api_key inside a request URL in Postman?
easy
A. https://api.example.com/data?key=api_key
B. https://api.example.com/data?key=[api_key]
C. https://api.example.com/data?key=$api_key
D. https://api.example.com/data?key={{api_key}}

Solution

  1. Step 1: Recall Postman variable syntax

    Postman uses double curly braces {{variable_name}} to insert variables into requests.
  2. Step 2: Match syntax with options

    Only https://api.example.com/data?key={{api_key}} uses {{api_key}}, which is the correct way to reference a collection variable.
  3. Final Answer:

    https://api.example.com/data?key={{api_key}} -> Option D
  4. Quick Check:

    Variable syntax = {{variable_name}} [OK]
Hint: Use double curly braces {{}} to insert variables in Postman [OK]
Common Mistakes:
  • Using plain variable name without braces
  • Using square brackets or dollar sign instead of {{}}
  • Confusing environment and collection variable syntax
3. Given a collection variable base_url set to https://api.test.com, what will be the full URL for this request?
GET {{base_url}}/users
medium
A. GET https://api.test.com/users
B. GET {{base_url}}/users
C. GET https://api.test.com{{base_url}}/users
D. GET /users

Solution

  1. Step 1: Substitute the collection variable

    The variable {{base_url}} is replaced by its value https://api.test.com in the request URL.
  2. Step 2: Combine the parts of the URL

    After substitution, the URL becomes https://api.test.com/users as the path /users is appended.
  3. Final Answer:

    GET https://api.test.com/users -> Option A
  4. Quick Check:

    Variable replaced by value = full URL [OK]
Hint: Replace {{variable}} with its value to get the full URL [OK]
Common Mistakes:
  • Not replacing the variable and leaving {{base_url}} as is
  • Appending variable value incorrectly
  • Ignoring the path after the variable
4. You set a collection variable token but your request still sends Authorization: Bearer {{token}} literally without replacing it. What is the likely cause?
medium
A. You used single curly braces instead of double
B. The collection variable token was not saved properly
C. Postman does not support collection variables in headers
D. The variable name is case-insensitive and mismatched

Solution

  1. Step 1: Understand variable replacement behavior

    If Postman sends {{token}} literally, it means the variable was not found or set correctly.
  2. Step 2: Identify common causes

    Most often, the variable was not saved or defined in the collection variables, so Postman cannot replace it.
  3. Final Answer:

    The collection variable token was not saved properly -> Option B
  4. Quick Check:

    Missing variable value = no replacement [OK]
Hint: Check if collection variable is saved before using it [OK]
Common Mistakes:
  • Assuming single braces work for variables
  • Thinking headers can't use variables
  • Ignoring case sensitivity issues
5. You want to use a collection variable user_id in a request body JSON like this:
{ "id": "{{user_id}}", "action": "delete" }

But the API expects id as a number, not a string. How should you fix the request body to send user_id as a number?
hard
A. { "id": "{{user_id}}", "action": "delete" }
B. { "id": '${{user_id}}', "action": "delete" }
C. { "id": {{user_id}}, "action": "delete" }
D. { "id": [{{user_id}}], "action": "delete" }

Solution

  1. Step 1: Understand JSON data types

    In JSON, numbers should not be inside quotes; quotes make them strings.
  2. Step 2: Adjust variable usage in JSON

    Remove quotes around {{user_id}} so Postman inserts the number directly, matching API expectation.
  3. Final Answer:

    { "id": {{user_id}}, "action": "delete" } -> Option C
  4. Quick Check:

    Numbers in JSON = no quotes [OK]
Hint: Remove quotes around {{variable}} to send numbers, not strings [OK]
Common Mistakes:
  • Keeping quotes around numeric variables
  • Using wrong variable syntax with $ or []
  • Sending arrays instead of single values
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