Bird
Raised Fist0
Postmantesting~3 mins

Why Script execution order in Postman? - Purpose & Use Cases

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
The Big Idea

Ever felt lost running scripts manually and wished they just ran in the right order automatically?

The Scenario

Imagine testing an API by manually running each step in Postman one by one, trying to remember which script runs before or after the request. You have to keep track of pre-request scripts, tests, and collection scripts all in your head.

The Problem

This manual approach is slow and confusing. You might run scripts in the wrong order, miss important setup steps, or forget to clean up after tests. It's easy to make mistakes and waste time fixing them.

The Solution

Understanding script execution order in Postman helps you automate the flow. You know exactly when each script runs, so you can set up data before requests, validate responses after, and organize tests cleanly. This makes your testing faster and more reliable.

Before vs After
Before
Run pre-request script manually -> Run request manually -> Run test script manually
After
Pre-request script runs automatically -> Request runs -> Test script runs automatically
What It Enables

It enables smooth, automatic testing flows where setup, execution, and validation happen in the right order without manual intervention.

Real Life Example

When testing a login API, the pre-request script can set a token, the request sends login data, and the test script checks if login succeeded--all running in the correct order automatically.

Key Takeaways

Manual testing scripts in wrong order cause errors and delays.

Knowing script execution order automates and organizes tests.

Automated order improves speed, accuracy, and confidence in tests.

Practice

(1/5)
1. In Postman, which script runs first when you send a request?
Collection Pre-request Script, Folder Pre-request Script, or Request Pre-request Script?
easy
A. Collection Pre-request Script
B. Folder Pre-request Script
C. Request Pre-request Script
D. Test Script

Solution

  1. Step 1: Understand script types in Postman

    Pre-request scripts run before sending the request. They can be set at collection, folder, or request level.
  2. Step 2: Identify execution order of pre-request scripts

    Postman runs pre-request scripts starting from the collection level, then folder, then request level.
  3. Final Answer:

    Collection Pre-request Script -> Option A
  4. Quick Check:

    Pre-request scripts run top-down: Collection first [OK]
Hint: Pre-request scripts run from collection to request level [OK]
Common Mistakes:
  • Thinking request pre-request script runs first
  • Confusing test scripts with pre-request scripts
  • Assuming folder scripts run before collection scripts
2. Which of the following is the correct syntax to add a test script in Postman that checks if the response status is 200?
easy
A. test('Status is 200', () => response.status === 200);
B. pm.check('Status is 200', () => pm.response.status === 200);
C. pm.assert('Status is 200', pm.response.statusCode == 200);
D. pm.test('Status is 200', function () { pm.response.to.have.status(200); });

Solution

  1. Step 1: Recall Postman test script syntax

    Postman uses pm.test() with a callback function to define tests.
  2. Step 2: Verify correct assertion method

    pm.response.to.have.status(200) is the correct way to check status code 200.
  3. Final Answer:

    pm.test('Status is 200', function () { pm.response.to.have.status(200); }); -> Option D
  4. Quick Check:

    Use pm.test() and pm.response.to.have.status() [OK]
Hint: Use pm.test() with pm.response.to.have.status() [OK]
Common Mistakes:
  • Using pm.check() which does not exist
  • Using test() without pm namespace
  • Using pm.assert() which is invalid
3. Given these scripts in Postman:
Collection Pre-request Script: sets variable var1 = 'A'
Folder Pre-request Script: sets var1 = 'B'
Request Pre-request Script: sets var1 = 'C'
After sending the request, what is the value of var1 in the test script?
medium
A. 'C'
B. 'B'
C. Undefined
D. 'A'

Solution

  1. Step 1: Understand script execution order for pre-request scripts

    Pre-request scripts run in order: collection, then folder, then request. Each can overwrite variables.
  2. Step 2: Trace variable assignment

    Collection sets var1='A', folder overwrites var1='B', request overwrites var1='C'. Final value is 'C'.
  3. Final Answer:

    'C' -> Option A
  4. Quick Check:

    Last pre-request script sets final variable [OK]
Hint: Last pre-request script overwrites variables [OK]
Common Mistakes:
  • Assuming collection script value remains
  • Thinking folder script overwrites request script
  • Forgetting scripts run before request
4. You wrote a test script in Postman but it never runs after sending the request. Which is the most likely reason?
medium
A. You forgot to save the request
B. The request URL is invalid
C. You placed the script in the Pre-request Script tab instead of Tests tab
D. You did not enable the collection runner

Solution

  1. Step 1: Understand when test scripts run

    Test scripts run after the response is received, and must be placed in the Tests tab.
  2. Step 2: Identify script placement error

    If the script is in Pre-request Script tab, it runs before sending request, not after response, so test code won't run as expected.
  3. Final Answer:

    You placed the script in the Pre-request Script tab instead of Tests tab -> Option C
  4. Quick Check:

    Tests run only in Tests tab after response [OK]
Hint: Put test code in Tests tab, not Pre-request tab [OK]
Common Mistakes:
  • Confusing pre-request and test script tabs
  • Assuming saving request affects script execution
  • Thinking collection runner is needed for tests
5. You have a collection with a pre-request script setting a variable token. A folder inside the collection has a pre-request script that updates token only if it is empty. The request inside the folder has a test script that checks if token is set. Which script execution order ensures the test script sees the updated token?
hard
A. Request test script runs before folder pre-request script
B. Collection pre-request script runs first, then folder pre-request script, then request test script
C. Folder pre-request script runs before collection pre-request script
D. Request pre-request script runs after test script

Solution

  1. Step 1: Recall Postman script execution order

    Pre-request scripts run in order: collection, folder, request. Test scripts run after response.
  2. Step 2: Understand variable update flow

    Collection sets token, folder updates if empty, then request test script runs after response to check token.
  3. Step 3: Confirm correct order

    This order ensures token is set and updated before test script checks it.
  4. Final Answer:

    Collection pre-request script runs first, then folder pre-request script, then request test script -> Option B
  5. Quick Check:

    Pre-request scripts run before tests in order [OK]
Hint: Pre-request scripts run before tests, top-down order [OK]
Common Mistakes:
  • Thinking test scripts run before pre-request scripts
  • Assuming folder scripts run before collection scripts
  • Believing request pre-request scripts run after tests