Bird
Raised Fist0
Postmantesting~15 mins

Flow creation in Postman - Build an Automation Script

Choose your learning style10 modes available
Create and run a simple Postman flow to send a GET request and verify response
Preconditions (3)
Step 1: Open Postman and click on 'Flows' tab
Step 2: Click 'Create Flow' button
Step 3: Drag and drop a 'Request' node onto the canvas
Step 4: Configure the Request node with method GET and URL 'https://jsonplaceholder.typicode.com/posts/1'
Step 5: Drag and drop a 'Test' node onto the canvas
Step 6: Connect the Request node output to the Test node input
Step 7: In the Test node, add a test script to verify the response status code is 200
Step 8: Click 'Run' button to execute the flow
✅ Expected Result: The flow runs successfully, sending the GET request and the test node verifies the response status code is 200, showing a pass result
Automation Requirements - Postman Flows
Assertions Needed:
Verify response status code is 200
Best Practices:
Use clear and descriptive node names
Connect nodes logically to represent flow
Use built-in test scripts for assertions
Keep flow simple and modular
Automated Solution
Postman
const pm = require('postman-collection');

// Create a new flow
const flow = new pm.Flow({
  name: 'Simple GET Request Flow'
});

// Create a request node
const requestNode = flow.addNode('Request', {
  method: 'GET',
  url: 'https://jsonplaceholder.typicode.com/posts/1'
});

// Create a test node
const testNode = flow.addNode('Test', {
  testScript: `pm.test('Status code is 200', function () {
    pm.response.to.have.status(200);
});`
});

// Connect request node to test node
flow.connect(requestNode, testNode);

// Run the flow
flow.run().then(() => {
  console.log('Flow executed successfully');
}).catch(err => {
  console.error('Flow execution failed:', err);
});

This script creates a Postman flow programmatically.

First, it creates a new flow named 'Simple GET Request Flow'.

Then, it adds a Request node configured to send a GET request to the specified URL.

Next, it adds a Test node with a test script that checks if the response status code is 200.

The Request node is connected to the Test node to ensure the test runs after the request.

Finally, the flow is executed with flow.run(), and success or failure is logged.

This approach follows best practices by keeping nodes clear and connecting them logically.

Common Mistakes - 3 Pitfalls
Not connecting the Request node to the Test node
Hardcoding URLs without using variables
Writing test scripts outside the Test node
Bonus Challenge

Now add data-driven testing with 3 different URLs to send GET requests and verify status 200

Show Hint

Practice

(1/5)
1. What is the main purpose of creating a flow in Postman?
easy
A. To automate API tests by chaining multiple requests
B. To write SQL queries inside Postman
C. To design user interfaces for APIs
D. To create database backups automatically

Solution

  1. Step 1: Understand flow creation in Postman

    Flow creation means linking API requests so they run one after another automatically.
  2. Step 2: Identify the purpose of chaining requests

    Chaining helps automate tests by passing data between requests and checking responses.
  3. Final Answer:

    To automate API tests by chaining multiple requests -> Option A
  4. Quick Check:

    Flow creation = automate chained API tests [OK]
Hint: Flows chain requests to automate tests quickly [OK]
Common Mistakes:
  • Confusing flow creation with UI design
  • Thinking flow creates database backups
  • Assuming flow writes SQL queries
2. Which Postman script section is used to pass data from one request to the next in a flow?
easy
A. Pre-request Script
B. Headers
C. Tests
D. Body

Solution

  1. Step 1: Identify where to save data after a request

    The Tests script runs after a request and can save response data to variables.
  2. Step 2: Understand data passing in flows

    Saved variables from Tests can be used in the next request's Pre-request Script or URL.
  3. Final Answer:

    Tests -> Option C
  4. Quick Check:

    Data passing happens in Tests script [OK]
Hint: Use Tests to save data for next request [OK]
Common Mistakes:
  • Using Body to pass data between requests
  • Confusing Pre-request Script as data saver
  • Trying to pass data via Headers
3. Consider this Postman Tests script snippet:
pm.environment.set('token', pm.response.json().access_token);
What will be the value of token after this runs if the response JSON is {"access_token": "abc123"}?
medium
A. undefined
B. "abc123"
C. pm.response.json()
D. null

Solution

  1. Step 1: Extract value from response JSON

    The code accesses the 'access_token' key from the JSON response, which is "abc123".
  2. Step 2: Store value in environment variable

    pm.environment.set saves "abc123" as the value of 'token'.
  3. Final Answer:

    "abc123" -> Option B
  4. Quick Check:

    token = "abc123" after set [OK]
Hint: pm.environment.set stores exact JSON key value [OK]
Common Mistakes:
  • Assuming token becomes undefined
  • Confusing the whole JSON with the value
  • Expecting null instead of actual token
4. You wrote this Pre-request Script to use a token saved in environment variables:
pm.request.headers.add({key: 'Authorization', value: 'Bearer ' + pm.environment.get('token')});
But the API returns 401 Unauthorized. What is the likely error?
medium
A. Bearer keyword should be lowercase 'bearer'
B. The header key should be lowercase 'authorization'
C. pm.request.headers.add is not valid syntax
D. The token variable is not set or is empty

Solution

  1. Step 1: Check if token variable exists

    If 'token' is missing or empty, the Authorization header will be invalid.
  2. Step 2: Verify header syntax and casing

    Header keys are case-insensitive, and 'Bearer' is case-sensitive but usually uppercase works fine.
  3. Step 3: Confirm method usage

    pm.request.headers.add is valid to add headers dynamically.
  4. Final Answer:

    The token variable is not set or is empty -> Option D
  5. Quick Check:

    Missing token causes 401 Unauthorized [OK]
Hint: Check if token variable is set before request [OK]
Common Mistakes:
  • Changing header key case unnecessarily
  • Lowercasing 'Bearer' keyword
  • Thinking pm.request.headers.add is invalid
5. You want to create a flow where the first request logs in and saves a token, and the second request uses that token in its header. Which steps correctly describe this flow setup?
hard
A. In first request Tests, save token to environment; in second request Pre-request Script, add Authorization header using saved token
B. In first request Body, save token; in second request Tests, add Authorization header
C. In first request Headers, save token; in second request Body, add Authorization header
D. In first request Pre-request Script, save token; in second request Tests, add Authorization header

Solution

  1. Step 1: Save token after login request

    Use Tests script in first request to extract token from response and save it to environment variables.
  2. Step 2: Use token before second request

    In second request's Pre-request Script, read the saved token and add it to the Authorization header.
  3. Final Answer:

    In first request Tests, save token to environment; in second request Pre-request Script, add Authorization header using saved token -> Option A
  4. Quick Check:

    Save token in Tests, use in Pre-request Script [OK]
Hint: Save token in Tests, use in Pre-request Script for next request [OK]
Common Mistakes:
  • Trying to save token in Body or Headers
  • Adding header in Tests instead of Pre-request Script
  • Saving token before request 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