Bird
Raised Fist0
Postmantesting~8 mins

Flow creation in Postman - Framework Patterns

Choose your learning style10 modes available
Framework Mode - Flow creation
Folder Structure
postman-project/
├── collections/
│   ├── user-authentication.postman_collection.json
│   ├── product-api.postman_collection.json
│   └── order-api.postman_collection.json
├── environments/
│   ├── dev.postman_environment.json
│   ├── staging.postman_environment.json
│   └── production.postman_environment.json
├── tests/
│   ├── pre-request-scripts/
│   │   └── auth-setup.js
│   ├── test-scripts/
│   │   └── validate-response.js
│   └── flow-scripts/
│       └── order-flow.js
├── globals.json
├── README.md
└── postman_collection_runner.json
Test Framework Layers
  • Collections: Group related API requests representing features or modules.
  • Environments: Store variables like base URLs, tokens for different deployment stages.
  • Pre-request Scripts: JavaScript code executed before requests to set up data or tokens.
  • Test Scripts: JavaScript assertions to validate API responses after requests.
  • Flow Scripts: Scripts or chained requests that create a sequence of API calls to simulate real user flows.
  • Globals: Variables accessible across collections and environments for shared data.
Configuration Patterns
  • Environment Files: Use separate JSON files for dev, staging, and production to switch contexts easily.
  • Variables: Define variables for URLs, credentials, tokens to avoid hardcoding.
  • Authorization: Store tokens or credentials in environment variables and refresh them using pre-request scripts.
  • Collection Runner: Use Postman Collection Runner or Newman CLI with environment files to run flows in different setups.
  • Data Files: Use CSV or JSON data files for data-driven testing in flows.
Test Reporting and CI/CD Integration
  • Newman CLI: Run Postman collections from command line with detailed JSON or HTML reports.
  • Reporters: Use built-in reporters like HTML, JSON, JUnit for readable test results.
  • CI/CD Integration: Integrate Newman runs in pipelines (GitHub Actions, Jenkins, GitLab CI) to automate flow tests on code changes.
  • Slack/Email Notifications: Configure pipeline to send test results notifications to teams.
  • Version Control: Store collections and environment files in Git for traceability and collaboration.
Best Practices for Flow Creation in Postman
  1. Modular Collections: Break flows into smaller collections or folders for easier maintenance.
  2. Use Variables: Avoid hardcoding values; use environment and global variables for flexibility.
  3. Clear Naming: Name requests and scripts clearly to describe their role in the flow.
  4. Chaining Requests: Use test scripts to save response data as variables for use in subsequent requests to simulate real user journeys.
  5. Validate Responses: Always add assertions to check status codes, response times, and data correctness.
Self Check

Where in this folder structure would you add a new request to test the payment flow in the order process?

Key Result
Organize Postman flows using collections, environments, scripts, and integrate with CI/CD for automated API testing.

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