Bird
Raised Fist0
Postmantesting~15 mins

Why variables avoid hardcoding in Postman - Automation Benefits in Action

Choose your learning style10 modes available
Verify use of variables instead of hardcoded values in Postman request
Preconditions (2)
Step 1: Open the Postman collection
Step 2: Select the request that uses hardcoded URL and headers
Step 3: Replace the hardcoded URL with a variable {{baseUrl}}
Step 4: Replace the hardcoded header value with a variable {{authToken}}
Step 5: Set the variables baseUrl and authToken in the collection environment
Step 6: Send the request
Step 7: Verify the request uses the variable values from the environment
Step 8: Change the environment variable values
Step 9: Send the request again
Step 10: Verify the request uses the updated variable values
✅ Expected Result: The request should use the variable values from the environment instead of hardcoded values. Changing variables updates the request without editing the request itself.
Automation Requirements - Postman test scripts
Assertions Needed:
Verify request URL contains the environment variable value
Verify request headers contain the environment variable value
Verify response status is 200 OK
Best Practices:
Use environment variables for URLs and tokens
Avoid hardcoding values in requests
Use pm.environment.get() to access variables in scripts
Write assertions in the Tests tab
Automated Solution
Postman
pm.test('Request URL uses baseUrl variable', () => {
    const baseUrl = pm.environment.get('baseUrl');
    pm.expect(pm.request.url.toString()).to.include(baseUrl);
});

pm.test('Authorization header uses authToken variable', () => {
    const authToken = pm.environment.get('authToken');
    const authHeader = pm.request.headers.get('Authorization');
    pm.expect(authHeader).to.include(authToken);
});

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

This Postman test script checks three things:

  • That the request URL includes the baseUrl variable from the environment. This ensures no hardcoded URL is used.
  • That the Authorization header includes the authToken variable, avoiding hardcoded tokens.
  • That the response status code is 200, confirming the request succeeded.

Using pm.environment.get() accesses the current environment variables dynamically. This way, changing variables updates the request without editing the request itself, which is the main reason to avoid hardcoding.

Common Mistakes - 3 Pitfalls
Hardcoding URLs and tokens directly in the request
Not setting environment variables before running tests
Using global variables instead of environment variables for sensitive data
Bonus Challenge

Now add tests to verify that changing environment variables updates the request URL and headers dynamically

Show Hint

Practice

(1/5)
1. Why is it better to use variables instead of hardcoding values in Postman tests?
easy
A. Variables increase the size of the test script.
B. Variables slow down the test execution.
C. Hardcoding values prevents errors.
D. Variables make tests easier to update and reuse.

Solution

  1. Step 1: Understand the role of variables in tests

    Variables store values that can be reused, avoiding repeated fixed values.
  2. Step 2: Compare variables with hardcoding

    Hardcoding requires changing each instance manually, while variables update all uses at once.
  3. Final Answer:

    Variables make tests easier to update and reuse. -> Option D
  4. Quick Check:

    Variables improve maintainability = A [OK]
Hint: Variables save time by updating all values at once [OK]
Common Mistakes:
  • Thinking variables slow down tests
  • Believing hardcoding reduces errors
  • Assuming variables increase script size unnecessarily
2. Which of the following is the correct way to use a variable in a Postman request URL?
easy
A. https://api.example.com/users/{{userId}}
B. https://api.example.com/users/$userId
C. https://api.example.com/users/userId
D. https://api.example.com/users/{userId}

Solution

  1. Step 1: Recall Postman variable syntax

    Postman uses double curly braces {{variableName}} to insert variables.
  2. Step 2: Identify correct URL format

    Only https://api.example.com/users/{{userId}} uses {{userId}} correctly to reference the variable.
  3. Final Answer:

    https://api.example.com/users/{{userId}} -> Option A
  4. Quick Check:

    Use {{variable}} syntax = C [OK]
Hint: Remember variables use {{ }} in Postman URLs [OK]
Common Mistakes:
  • Using $variable instead of {{variable}}
  • Writing variable name without braces
  • Using single braces instead of double
3. Given the environment variable baseUrl set to https://api.test.com, what will be the full request URL if the request uses {{baseUrl}}/items?
medium
A. https://api.test.com/items
B. {{baseUrl}}/items
C. https://api.test.com{{baseUrl}}/items
D. items/{{baseUrl}}

Solution

  1. Step 1: Substitute the variable with its value

    The variable {{baseUrl}} is set to https://api.test.com, so it replaces {{baseUrl}} in the URL.
  2. Step 2: Form the full URL

    Replacing {{baseUrl}} with https://api.test.com gives https://api.test.com/items.
  3. Final Answer:

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

    Variable replaced by value = B [OK]
Hint: Replace {{variable}} with its value to get full URL [OK]
Common Mistakes:
  • Leaving variable as is without substitution
  • Concatenating variable incorrectly
  • Misplacing variable in URL path
4. You have a test script using a variable token but the test fails because the token is not replaced. What is the most likely cause?
medium
A. The test script does not support variables.
B. The variable token was not defined in the environment or collection.
C. The token value is too long for Postman to handle.
D. The variable name was typed correctly with double curly braces.

Solution

  1. Step 1: Check variable definition

    If a variable is not defined in environment or collection, Postman cannot replace it.
  2. Step 2: Rule out other causes

    Correct syntax and script support are usually not the problem; token length is not a typical issue.
  3. Final Answer:

    The variable token was not defined in the environment or collection. -> Option B
  4. Quick Check:

    Undefined variable causes no replacement = D [OK]
Hint: Check if variable is defined before running tests [OK]
Common Mistakes:
  • Assuming syntax error causes missing variable
  • Blaming token length for failure
  • Ignoring variable scope and definition
5. You want to run the same Postman test on different servers without changing the request URL manually. How does using variables help achieve this?
hard
A. Hardcoding the URL is faster than using variables.
B. Variables automatically detect the server location without setup.
C. By storing the server URL in a variable, you can switch environments easily.
D. Variables prevent the test from running on multiple servers.

Solution

  1. Step 1: Understand environment switching

    Using a variable for the server URL allows changing its value per environment without editing requests.
  2. Step 2: Explain benefit of variables

    This makes tests reusable and easy to run on different servers by just switching variable values.
  3. Final Answer:

    By storing the server URL in a variable, you can switch environments easily. -> Option C
  4. Quick Check:

    Variables enable environment flexibility = A [OK]
Hint: Use variables to switch servers without editing requests [OK]
Common Mistakes:
  • Thinking variables auto-detect servers
  • Believing hardcoding is faster
  • Assuming variables limit test runs
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