Bird
Raised Fist0
Postmantesting~15 mins

Environment switching in Postman - Build an Automation Script

Choose your learning style10 modes available
Verify API response changes when switching Postman environments
Preconditions (4)
Step 1: Select the 'Development' environment in Postman
Step 2: Send the GET request to {{baseUrl}}/status
Step 3: Note the response status code and body
Step 4: Switch to the 'Production' environment
Step 5: Send the same GET request again
Step 6: Note the response status code and body
✅ Expected Result: The response status code and body should differ between 'Development' and 'Production' environments, reflecting the different baseUrl values.
Automation Requirements - Postman/Newman
Assertions Needed:
Verify response status code is 200 for both environments
Verify response body contains expected environment-specific data
Verify that the baseUrl variable is correctly used in the request URL
Best Practices:
Use environment variables for base URLs
Use pm.environment.set and pm.environment.get to manage variables
Use pm.test for assertions
Run tests separately for each environment
Avoid hardcoding URLs in requests
Automated Solution
Postman
pm.test('Status code is 200', function () {
    pm.response.to.have.status(200);
});

pm.test('Response body contains environment info', function () {
    const responseJson = pm.response.json();
    const env = pm.environment.name;
    pm.expect(responseJson.environment).to.eql(env);
});

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

The second test parses the JSON response and verifies that the 'environment' field matches the current environment name. This confirms that the request used the correct baseUrl from the environment.

These tests should be run separately with the 'Development' and 'Production' environments selected in Postman to verify environment switching.

Common Mistakes - 3 Pitfalls
Hardcoding the API URL instead of using environment variables
Not selecting the correct environment before running the test
Not using pm.test assertions to verify response data
Bonus Challenge

Now add data-driven testing by running the same test with three different environments: Development, Staging, and Production.

Show Hint

Practice

(1/5)
1. What is the main purpose of environment switching in Postman?
easy
A. To reuse the same requests with different variable values easily
B. To change the Postman app theme
C. To create new collections automatically
D. To export test results to a file

Solution

  1. Step 1: Understand environment switching concept

    Environment switching allows changing variable values without editing requests.
  2. Step 2: Identify the main benefit

    This lets you reuse the same requests with different settings easily.
  3. Final Answer:

    To reuse the same requests with different variable values easily -> Option A
  4. Quick Check:

    Environment switching = reuse requests with different variables [OK]
Hint: Think: same request, different settings [OK]
Common Mistakes:
  • Confusing environment switching with UI themes
  • Thinking it creates new collections
  • Assuming it exports test results
2. Which syntax correctly uses an environment variable in a Postman request URL?
easy
A. https://api.example.com/{{userId}}/data
B. https://api.example.com/$userId/data
C. https://api.example.com/%userId%/data
D. https://api.example.com/userId/data

Solution

  1. Step 1: Recall Postman variable syntax

    Postman uses double curly braces {{variable}} to insert environment variables.
  2. Step 2: Match syntax to options

    Only https://api.example.com/{{userId}}/data uses {{userId}} correctly in the URL.
  3. Final Answer:

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

    Use {{variable}} for environment variables [OK]
Hint: Remember: double curly braces {{}} for variables [OK]
Common Mistakes:
  • Using $variable or %variable% instead of {{variable}}
  • Writing variable name without braces
  • Confusing environment variables with query parameters
3. Given two environments in Postman:
Dev: baseUrl=https://dev.api.com
Prod: baseUrl=https://api.com
And a request URL: {{baseUrl}}/users
What will be the full URL when the 'Prod' environment is selected?
medium
A. https://dev.api.com/users
B. https://api.com/users
C. {{baseUrl}}/users
D. https://users.api.com

Solution

  1. Step 1: Identify the selected environment variable value

    In 'Prod' environment, baseUrl = https://api.com
  2. Step 2: Substitute variable in request URL

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

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

    Selected environment variable replaces {{baseUrl}} [OK]
Hint: Pick variable value from active environment [OK]
Common Mistakes:
  • Using variable value from wrong environment
  • Not replacing variable at all
  • Mixing variable name with URL parts
4. You switched to a new environment in Postman but your request still uses old variable values. What is the most likely cause?
medium
A. Postman does not support environment switching
B. You used incorrect {{variable}} syntax in the request
C. You forgot to select the new environment in the environment dropdown
D. You need to restart Postman to apply environment changes

Solution

  1. Step 1: Understand environment selection in Postman

    Switching environment requires selecting it from the environment dropdown.
  2. Step 2: Identify why old values persist

    If old values appear, likely the new environment was not selected properly.
  3. Final Answer:

    You forgot to select the new environment in the environment dropdown -> Option C
  4. Quick Check:

    Select environment dropdown to switch variables [OK]
Hint: Always check environment dropdown selection [OK]
Common Mistakes:
  • Assuming syntax error causes old values
  • Thinking Postman needs restart
  • Believing environment switching is unsupported
5. You have two environments:
Test: apiUrl=https://test.api.com, token=abc123
Live: apiUrl=https://live.api.com, token=xyz789
You want to run the same collection with both environments automatically in Postman. Which approach is best?
hard
A. Use environment variables but run only with one environment at a time
B. Manually edit requests to change URLs and tokens each time
C. Create separate collections for Test and Live with hardcoded URLs
D. Use Postman Collection Runner and select each environment before running

Solution

  1. Step 1: Understand how to run collections with different environments

    Postman Collection Runner allows selecting environment per run.
  2. Step 2: Identify best practice for automatic environment switching

    Selecting each environment in Collection Runner lets you reuse the same collection easily.
  3. Final Answer:

    Use Postman Collection Runner and select each environment before running -> Option D
  4. Quick Check:

    Collection Runner + environment selection = easy reuse [OK]
Hint: Use Collection Runner with environment selection [OK]
Common Mistakes:
  • Hardcoding URLs instead of using variables
  • Editing requests manually each time
  • Running only one environment without switching
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