Bird
Raised Fist0
Postmantesting~10 mins

Script execution order in Postman - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set a variable in the Pre-request Script.

Postman
pm.variables.set('[1]', '123');
Drag options to blanks, or click blank then click option'
Aconsole.log
BsetVariable
CmyVar
DsendRequest
Attempts:
3 left
💡 Hint
Common Mistakes
Using function names instead of variable names.
Not using quotes around the variable name.
2fill in blank
medium

Complete the code to check the response status in the Tests script.

Postman
pm.test('Status code is 200', function () { pm.response.to.have.status([1]); });
Drag options to blanks, or click blank then click option'
A200
B'OK'
C'200'
Dpm.response.status
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string '200' instead of number 200.
Using status text like 'OK' instead of code.
3fill in blank
hard

Fix the error in the Pre-request Script to log the variable value.

Postman
console.log(pm.variables.[1]('myVar'));
Drag options to blanks, or click blank then click option'
Asend
Bset
Clog
Dget
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'set' which assigns a value instead of reading.
Using 'log' which is not a method of pm.variables.
4fill in blank
hard

Fill both blanks to create a test that checks if response time is less than 500ms.

Postman
pm.test('Response time is fast', function () { pm.expect(pm.response.[1]).to.be.[2](500); });
Drag options to blanks, or click blank then click option'
AresponseTime
Bbelow
Cabove
Dtime
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'above' instead of 'below' for less than check.
Using wrong property name like 'time'.
5fill in blank
hard

Fill all three blanks to create a test that checks if JSON response has a key 'success' with value true.

Postman
pm.test('Response has success true', function () { const jsonData = pm.response.json(); pm.expect(jsonData.[1]).[2].[3](true); });
Drag options to blanks, or click blank then click option'
Asuccess
Bto
Cequal
Dhave
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'have' instead of 'equal' for value check.
Using wrong key name or missing chaining.

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