Bird
Raised Fist0
Postmantesting~15 mins

Variable syntax ({{variable}}) in Postman - Build an Automation Script

Choose your learning style10 modes available
Verify usage of variable syntax {{variable}} in Postman request
Preconditions (2)
Step 1: Open the Postman collection
Step 2: Select the request that uses the URL with {{userId}} variable, e.g., https://api.example.com/users/{{userId}}
Step 3: Send the request
Step 4: Observe the request URL in the Postman console or request details
✅ Expected Result: The request URL should replace {{userId}} with the value '12345' from the environment variable, resulting in https://api.example.com/users/12345
Automation Requirements - Postman test scripts (JavaScript)
Assertions Needed:
Verify that the request URL contains the variable value '12345' instead of the literal '{{userId}}'
Verify the response status code is 200
Best Practices:
Use pm.environment.get('userId') to access variable values
Use pm.test() blocks for assertions
Avoid hardcoding variable values in tests; use environment variables
Log useful information with console.log for debugging
Automated Solution
Postman
pm.test('Request URL uses variable value', function () {
    const requestUrl = pm.request.url.toString();
    const userId = pm.environment.get('userId');
    pm.expect(requestUrl).to.include(userId);
    pm.expect(requestUrl).to.not.include('{{userId}}');
});

pm.test('Response status is 200', function () {
    pm.response.to.have.status(200);
});

The first test checks that the request URL contains the actual value of the environment variable 'userId' instead of the literal string '{{userId}}'. This confirms that Postman correctly replaced the variable syntax before sending the request.

The second test verifies that the response status code is 200, indicating the request was successful.

Using pm.environment.get('userId') ensures the test dynamically uses the variable value from the environment, making the test flexible and maintainable.

Assertions are wrapped in pm.test() blocks for clear reporting in Postman test results.

Common Mistakes - 3 Pitfalls
{'mistake': "Checking for the literal string '{{userId}}' in the request URL instead of the replaced value", 'why_bad': 'This does not verify that the variable was replaced; it only checks the raw template string.', 'correct_approach': "Check that the request URL contains the actual variable value from the environment and does not contain the literal '{{userId}}'."}
{'mistake': 'Hardcoding the variable value in the test instead of retrieving it from the environment', 'why_bad': 'Makes tests brittle and not reusable if the variable value changes.', 'correct_approach': "Use pm.environment.get('userId') to get the current value dynamically."}
Not verifying the response status code
Bonus Challenge

Now add data-driven testing with 3 different userId values to verify variable replacement and response success for each.

Show Hint

Practice

(1/5)
1. What is the correct way to use a variable named userId in a Postman request URL?
easy
A. Use $userId in the URL to insert the variable value.
B. Use [userId] in the URL to insert the variable value.
C. Use {{userId}} in the URL to insert the variable value.
D. Use userId directly without any special syntax.

Solution

  1. Step 1: Understand Postman variable syntax

    Postman uses double curly braces {{variable}} to insert variable values dynamically.
  2. Step 2: Apply syntax to the variable userId

    To use the variable userId, you write {{userId}} in the request URL or body.
  3. Final Answer:

    Use {{userId}} in the URL to insert the variable value. -> Option C
  4. Quick Check:

    Variable syntax = {{variable}} [OK]
Hint: Remember variables always use double curly braces {{}} [OK]
Common Mistakes:
  • Using single brackets or dollar sign instead of {{}}
  • Writing variable name without any braces
  • Confusing variable syntax with other languages
2. Which of the following is the correct syntax to reference a variable named token in Postman?
easy
A. {token}
B. {{token}}
C. [[token]]
D. $token

Solution

  1. Step 1: Recall Postman variable syntax rules

    Postman requires variables to be wrapped in double curly braces to be recognized.
  2. Step 2: Match the correct syntax for variable token

    The correct syntax is {{token}}, which tells Postman to replace it with the variable's value.
  3. Final Answer:

    {{token}} -> Option B
  4. Quick Check:

    Variable reference = {{variable}} [OK]
Hint: Always use double curly braces {{}} for variables [OK]
Common Mistakes:
  • Using single braces or brackets
  • Using dollar sign prefix
  • Forgetting braces entirely
3. Given the environment variable baseUrl is set to https://api.example.com, what will be the full URL when the request uses {{baseUrl}}/users?
medium
A. https://api.example.comusers
B. {{baseUrl}}/users
C. https://api.example.com{{baseUrl}}/users
D. https://api.example.com/users

Solution

  1. Step 1: Understand variable substitution in Postman

    Postman replaces {{baseUrl}} with its set value before sending the request.
  2. Step 2: Substitute {{baseUrl}} with its value

    Since baseUrl is https://api.example.com, the URL becomes https://api.example.com/users.
  3. Final Answer:

    https://api.example.com/users -> Option D
  4. Quick Check:

    Variable replaced URL = https://api.example.com/users [OK]
Hint: Variables replace exactly with their set values [OK]
Common Mistakes:
  • Not replacing variable and leaving {{baseUrl}} as is
  • Concatenating variable value incorrectly
  • Missing slash between baseUrl and path
4. You wrote Authorization: Bearer {token} in the headers, but the token is not replaced. What is the error?
medium
A. Variable syntax is incorrect; should be {{token}}.
B. Token variable is not set anywhere.
C. Bearer keyword is missing.
D. Headers do not support variables.

Solution

  1. Step 1: Check the variable syntax in the header

    The header uses {token} which is missing one pair of curly braces.
  2. Step 2: Correct the syntax to {{token}}

    Postman requires double curly braces to recognize variables, so it should be Authorization: Bearer {{token}}.
  3. Final Answer:

    Variable syntax is incorrect; should be {{token}}. -> Option A
  4. Quick Check:

    Correct variable syntax = {{variable}} [OK]
Hint: Always use double curly braces {{}} for variables in headers too [OK]
Common Mistakes:
  • Using single braces instead of double
  • Assuming variables auto-replace without braces
  • Not setting the variable value before use
5. You want to reuse a variable sessionId inside a JSON body and a header in Postman. Which is the best practice to ensure it works correctly?
hard
A. Set sessionId as an environment variable and use {{sessionId}} in both places.
B. Write sessionId value directly in JSON and header without variables.
C. Use different variable syntaxes in JSON and header for safety.
D. Set sessionId only in the header; JSON will inherit it automatically.

Solution

  1. Step 1: Understand variable scope and reuse in Postman

    Environment variables are accessible throughout the request, including headers and body.
  2. Step 2: Use consistent variable syntax {{sessionId}} in both JSON body and header

    This ensures Postman replaces the variable correctly wherever it appears.
  3. Final Answer:

    Set sessionId as an environment variable and use {{sessionId}} in both places. -> Option A
  4. Quick Check:

    Use environment variables + {{variable}} syntax for reuse [OK]
Hint: Set once as environment variable, use {{variable}} everywhere [OK]
Common Mistakes:
  • Hardcoding values instead of variables
  • Using inconsistent variable syntax
  • Assuming variables auto-share without setting scope
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