Bird
Raised Fist0
Postmantesting~8 mins

Using mock server URL in Postman - Framework Patterns

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
Framework Mode - Using mock server URL
Folder Structure for Postman Test Project with Mock Server
postman-project/
├── collections/
│   └── api-collection.json       # Main API requests collection
├── environments/
│   ├── dev.postman_environment.json
│   ├── staging.postman_environment.json
│   └── mock.postman_environment.json  # Environment with mock server URL
├── mocks/
│   └── mock-server.json           # Mock server configuration and examples
├── tests/
│   └── test-scripts.js            # Optional test scripts for automation
├── README.md
└── postman.config.json            # Optional config for Postman CLI or Newman
Test Framework Layers in Postman with Mock Server
  • Collections Layer: Contains API requests grouped logically. Requests use variables for base URLs to switch between real and mock servers.
  • Environment Layer: Holds environment variables like base_url which can point to mock server URL or real API URL.
  • Mock Server Layer: Simulates API responses for testing without hitting real backend. Configured in Postman and linked via environment variables.
  • Tests Layer: Scripts written in JavaScript inside Postman to validate responses, status codes, and data correctness.
  • Utilities Layer: Helper scripts or pre-request scripts to set variables or handle authentication tokens.
Configuration Patterns for Using Mock Server URL
  • Environment Variables: Define base_url in each environment file. For mock environment, set base_url to the mock server URL provided by Postman.
  • Switching Environments: Easily switch between dev, staging, and mock environments in Postman UI or Newman CLI to run tests against different backends.
  • Mock Server Setup: Create mock server in Postman UI with example responses. Export mock server details to mocks/mock-server.json for documentation.
  • Secure Credentials: Store sensitive data like API keys in environment variables, never hard-coded in requests.
Test Reporting and CI/CD Integration
  • Newman CLI: Run Postman collections in CI pipelines using Newman. Pass environment files to switch between real and mock URLs.
  • Report Generation: Use Newman reporters (HTML, JSON) to generate readable test reports after execution.
  • CI/CD Integration: Integrate Newman commands in Jenkins, GitHub Actions, or GitLab pipelines to automate API tests against mock or real servers.
  • Fail Fast: Configure tests to fail on unexpected responses, ensuring quick feedback during development.
Best Practices for Using Mock Server URL in Postman Framework
  • Use Environment Variables: Always use variables for base URLs to easily switch between mock and real servers without changing requests.
  • Keep Mock Data Realistic: Design mock responses to closely mimic real API behavior for meaningful tests.
  • Version Control Collections and Environments: Store Postman files in source control to track changes and collaborate.
  • Automate Mock Server Tests: Include mock server tests in CI to catch frontend/backend integration issues early.
  • Document Mock Server Usage: Maintain README or documentation explaining how to use mock environment and run tests.
Self Check Question

Where in this folder structure would you add a new environment file for a mock server URL?

Key Result
Use environment variables to switch base URLs between real and mock servers for flexible API testing.

Practice

(1/5)
1. What is the main purpose of using a mock server URL in Postman?
easy
A. To speed up the internet connection
B. To store user data permanently
C. To test API requests without needing the real backend server
D. To create a live production environment

Solution

  1. Step 1: Understand what a mock server does

    A mock server simulates API responses without calling the real backend.
  2. Step 2: Identify the main use case

    This helps test APIs when the real server is unavailable or to speed up development.
  3. Final Answer:

    To test API requests without needing the real backend server -> Option C
  4. Quick Check:

    Mock server = test without real backend [OK]
Hint: Mock servers simulate APIs without real backend [OK]
Common Mistakes:
  • Thinking mock servers speed up internet
  • Confusing mock server with data storage
  • Assuming mock server is for production
2. Which of the following is the correct way to use a mock server URL in Postman?
easy
A. Replace the real API base URL with the mock server URL including the unique ID
B. Add the mock server URL as a query parameter to the real URL
C. Use the mock server URL only in the request headers
D. Append the mock server URL after the response body

Solution

  1. Step 1: Understand mock server URL usage

    You replace the real API base URL with the mock server URL that includes the unique mock ID.
  2. Step 2: Check other options

    Adding as query parameter, headers, or after response body is incorrect usage.
  3. Final Answer:

    Replace the real API base URL with the mock server URL including the unique ID -> Option A
  4. Quick Check:

    Mock URL replaces base URL [OK]
Hint: Mock URL replaces real API base URL [OK]
Common Mistakes:
  • Adding mock URL as query parameter
  • Using mock URL only in headers
  • Appending mock URL after response
3. Given the mock server URL https://mockserver.com/12345/api/users, what will happen if you send a GET request to this URL in Postman?
medium
A. You will get a mocked response defined in the mock server for the /api/users endpoint
B. The request will fail because mock servers do not support GET requests
C. You will get a real response from the live backend server
D. Postman will ignore the mock server URL and use the environment variable URL

Solution

  1. Step 1: Understand mock server behavior

    Mock servers return predefined responses for requests sent to their URLs.
  2. Step 2: Analyze the given URL and request

    Sending GET to the mock URL returns the mocked response for /api/users.
  3. Final Answer:

    You will get a mocked response defined in the mock server for the /api/users endpoint -> Option A
  4. Quick Check:

    GET to mock URL returns mock response [OK]
Hint: GET to mock URL returns predefined mock response [OK]
Common Mistakes:
  • Thinking mock servers reject GET requests
  • Expecting real backend response
  • Assuming environment variables override mock URL
4. You set the mock server URL incorrectly by missing the unique ID part, like https://mockserver.com/api/users. What issue will you face?
medium
A. The request will succeed and return the correct mock response
B. Postman will fail to route the request to the mock server and return an error
C. Postman will automatically add the missing unique ID
D. The request will be sent to the real backend server instead

Solution

  1. Step 1: Identify the importance of unique ID in mock URL

    The unique ID is required to route requests to the correct mock server instance.
  2. Step 2: Consequence of missing unique ID

    Without it, Postman cannot find the mock server and returns an error.
  3. Final Answer:

    Postman will fail to route the request to the mock server and return an error -> Option B
  4. Quick Check:

    Missing mock ID causes routing error [OK]
Hint: Always include unique ID in mock URL [OK]
Common Mistakes:
  • Assuming Postman auto-fixes missing ID
  • Expecting fallback to real backend
  • Thinking request will succeed without ID
5. You want to test an API endpoint /products using a Postman mock server. Your mock server URL is https://mockserver.com/abcde. Which is the correct full URL to use in your request to get the mocked /products response?
hard
A. https://mockserver.com/api/abcde/products
B. https://mockserver.com/products/abcde
C. https://mockserver.com/abcde/api/products
D. https://mockserver.com/abcde/products

Solution

  1. Step 1: Understand mock server URL structure

    The mock server URL includes the unique ID, followed by the API endpoint path.
  2. Step 2: Construct the correct full URL

    Append the endpoint /products directly after the unique ID in the URL.
  3. Final Answer:

    https://mockserver.com/abcde/products -> Option D
  4. Quick Check:

    Mock URL + endpoint path = full request URL [OK]
Hint: Append endpoint path after mock server URL with ID [OK]
Common Mistakes:
  • Placing unique ID after endpoint path
  • Adding extra /api/ segment incorrectly
  • Mixing order of ID and endpoint