Bird
Raised Fist0
Postmantesting~10 mins

Workflow sequencing 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 the request method to POST in Postman test script.

Postman
pm.request.method = '[1]';
Drag options to blanks, or click blank then click option'
APUT
BPOST
CGET
DDELETE
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing GET which is used to retrieve data.
Using PUT which is for updating resources.
2fill in blank
medium

Complete the code to check if the response status code is 200 in a Postman test 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'
A500
B404
C200
D201
Attempts:
3 left
💡 Hint
Common Mistakes
Using 404 which means not found.
Using 500 which means server error.
3fill in blank
hard

Fix the error in the code to correctly set an environment variable in Postman.

Postman
pm.environment.[1]('token', pm.response.json().access_token);
Drag options to blanks, or click blank then click option'
Aclear
Bget
Cunset
Dset
Attempts:
3 left
💡 Hint
Common Mistakes
Using get which only retrieves a value.
Using unset which removes a variable.
4fill in blank
hard

Fill both blanks to correctly extract a JSON value and assert it equals 'success' in Postman test script.

Postman
const status = pm.response.json().[1];
pm.test('Status is success', function () { pm.expect(status).to.[2]('success'); });
Drag options to blanks, or click blank then click option'
Astatus
Bequal
Cinclude
Dmessage
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'message' instead of 'status' for the JSON key.
Using 'include' which checks for substring, not exact match.
5fill in blank
hard

Fill all three blanks to create a test that checks if the response time is less than 500ms in Postman.

Postman
pm.test('Response time is fast', function () {
  pm.expect(pm.response.[1]).to.be.[2](450).and.[3](500);
});
Drag options to blanks, or click blank then click option'
AresponseTime
Bbelow
ClessThan
DgreaterThan
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'greaterThan' which checks if response time is more than 500ms.
Using 'time' instead of 'responseTime' for response time.

Practice

(1/5)
1. What is the main purpose of workflow sequencing in Postman?
easy
A. To encrypt API requests for security
B. To create visual charts of API responses
C. To automatically generate API documentation
D. To run multiple requests in a specific order and share data between them

Solution

  1. Step 1: Understand workflow sequencing

    Workflow sequencing means running requests one after another in a set order.
  2. Step 2: Identify the purpose in Postman

    It allows passing data from one request to the next, making multi-step testing reliable.
  3. Final Answer:

    To run multiple requests in a specific order and share data between them -> Option D
  4. Quick Check:

    Workflow sequencing = ordered requests with data sharing [OK]
Hint: Think: run requests step-by-step sharing info [OK]
Common Mistakes:
  • Confusing workflow sequencing with documentation generation
  • Thinking it creates charts or encrypts requests
  • Believing requests run randomly without order
2. Which Postman script command is used to call another request inside a test script for workflow sequencing?
easy
A. pm.callRequest()
B. pm.sendRequest()
C. pm.executeRequest()
D. pm.runRequest()

Solution

  1. Step 1: Recall Postman scripting commands

    Postman provides a method to send HTTP requests programmatically inside scripts.
  2. Step 2: Identify the correct method for calling requests

    The correct method is pm.sendRequest(), which sends a request and handles its response.
  3. Final Answer:

    pm.sendRequest() -> Option B
  4. Quick Check:

    Call requests inside scripts = pm.sendRequest() [OK]
Hint: Remember: sendRequest sends HTTP calls inside scripts [OK]
Common Mistakes:
  • Using non-existent methods like pm.callRequest()
  • Confusing with pm.executeRequest() or pm.runRequest() which don't exist
  • Misspelling the method name
3. Consider this Postman test script snippet inside Request A:
pm.sendRequest('https://api.example.com/token', (err, res) => {
  pm.environment.set('token', res.json().access_token);
});

What will be the value of token in environment after this runs?
medium
A. The access_token value from the JSON response of the called request
B. Undefined, because pm.sendRequest does not set environment variables
C. An error, because pm.sendRequest cannot be used inside test scripts
D. The entire JSON response as a string

Solution

  1. Step 1: Understand pm.sendRequest callback

    The callback receives the response object res, which can be parsed as JSON.
  2. Step 2: Extract and set environment variable

    The script sets token to res.json().access_token, which is the access token string from the response.
  3. Final Answer:

    The access_token value from the JSON response of the called request -> Option A
  4. Quick Check:

    pm.sendRequest sets env var = access_token value [OK]
Hint: pm.sendRequest callback can set env vars from response JSON [OK]
Common Mistakes:
  • Assuming pm.sendRequest cannot set variables
  • Thinking the whole JSON is stored instead of just access_token
  • Confusing asynchronous callback behavior
4. You wrote this Postman test script to run Request B after Request A:
pm.sendRequest('https://api.example.com/data', (err, res) => {
  pm.environment.set('dataId', res.json().id);
});
pm.sendRequest('https://api.example.com/details/{{dataId}}', (err, res) => {
  console.log(res.json());
});

Why might the second request fail or use an empty dataId?
medium
A. Because pm.sendRequest cannot be called twice in the same script
B. Because environment variables cannot be used inside pm.sendRequest URLs
C. Because pm.sendRequest is asynchronous, the second request runs before dataId is set
D. Because console.log is not allowed inside pm.sendRequest callbacks

Solution

  1. Step 1: Analyze asynchronous behavior of pm.sendRequest

    pm.sendRequest runs asynchronously, so the second call may start before the first finishes.
  2. Step 2: Understand timing of environment variable setting

    The variable dataId is set only after the first request completes, so the second request may see it as empty if it runs too soon.
  3. Final Answer:

    Because pm.sendRequest is asynchronous, the second request runs before dataId is set -> Option C
  4. Quick Check:

    Async calls need chaining to ensure order [OK]
Hint: Async calls run out of order unless chained properly [OK]
Common Mistakes:
  • Thinking environment variables can't be used in URLs
  • Believing pm.sendRequest can't be called multiple times
  • Assuming console.log is disallowed in callbacks
5. You want to test a multi-step user signup flow in Postman using workflow sequencing. The steps are:
1. Create user (returns userId)
2. Verify email (needs userId)
3. Set user preferences (needs userId)

Which approach correctly sequences these requests and shares userId between them?
hard
A. Use pm.sendRequest inside the test script of each step to call the next, setting environment variables for userId
B. Run all requests manually in any order and copy userId between them
C. Use separate Postman collections for each step without sharing variables
D. Call all requests simultaneously using pm.sendRequest without waiting for responses

Solution

  1. Step 1: Understand multi-step flow needs ordered execution

    Each step depends on the previous step's userId, so requests must run one after another.
  2. Step 2: Use pm.sendRequest with environment variables to pass data

    Calling the next request inside the previous request's test script and setting userId as an environment variable ensures correct sequencing and data sharing.
  3. Final Answer:

    Use pm.sendRequest inside the test script of each step to call the next, setting environment variables for userId -> Option A
  4. Quick Check:

    Chain requests with pm.sendRequest and env vars for data flow [OK]
Hint: Chain requests with pm.sendRequest and env vars [OK]
Common Mistakes:
  • Running requests manually without automation
  • Not sharing variables between requests
  • Calling requests simultaneously causing race conditions