Skip to content

How To Use Postman To Test Rest Api

API Testing Blog

Getting Started with Postman for REST API Testing

Postman is a powerful tool for testing REST APIs. It allows you to send requests, inspect responses, and manage your API workflows. Here’s a comprehensive guide to help you get started:

1. Setting up Postman

  • Download & Installation: Head over to https://www.postman.com/ to download and install Postman on your operating system.
  • Account Creation: Create a free account to access additional features like team collaboration and API documentation.
  • Interface Exploration: Familiarize yourself with the Postman interface. It includes a workspace area for creating requests, a sidebar for collections and environments, and a results pane for viewing responses.

2. Sending Your First API Request

Let’s start with a simple GET request to fetch data from a public API.

Example: Fetching a list of users from the Random User API:

  1. Create a Request:

    • Click on the “New” button in the Postman interface.
    • Choose “Request.”
    • Name the request “Get Users.”
  2. Configure the Request:

    • In the “Request” tab, select the “GET” method from the dropdown.
    • Enter the API endpoint URL: https://randomuser.me/api/.
  3. Send the Request:

    • Click on the “Send” button.
  4. Inspect the Response:

    • You’ll see the response in the “Response” tab.
    • Examine the status code (200 for success), response headers, and response body (JSON data containing user details).

Sample Code (Body - JSON):

{
"results": [
{
"gender": "female",
"name": {
"title": "Ms",
"first": "Rose",
"last": "McLaughlin"
},
// ... more user details ...
}
],
// ... other information ...
}

3. Working with Different Request Methods

REST APIs commonly use different HTTP methods:

  • GET: Retrieves data from the server.
  • POST: Sends data to the server to create a new resource.
  • PUT: Updates a resource on the server.
  • PATCH: Partially updates a resource on the server.
  • DELETE: Removes a resource from the server.

Example: Creating a new user using POST request:

  1. Create a Request:

    • Create a new request and name it “Create User.”
    • Select the “POST” method.
    • Set the endpoint: https://reqres.in/api/users.
  2. Add Request Body:

    • Switch to the “Body” tab.
    • Choose “raw” and select “JSON” as the format.
    • Enter the user data in JSON format:
{
"name": "John Doe",
"job": "Software Engineer"
}
  1. Send the Request:

    • Click “Send.”
  2. Verify Response:

    • Check the status code (201 for success).
    • The response body might contain the newly created user’s information.

4. Parameterizing API Requests

To make your tests more dynamic, use variables and environments:

Example: Fetching users by ID:

  1. Create a Variable:

    • Go to “Variables” in the sidebar.
    • Add a new variable named userId with a value of 1.
  2. Use the Variable in the Request:

    • Edit the “Get Users” request.
    • In the URL, replace the hardcoded ID with {{userId}}.
  3. Send the Request:

    • The request will now fetch user details for ID 1.

5. Utilizing Environments for Different API Settings

Environments allow you to manage different API configurations:

Example: Working with Development and Production APIs:

  1. Create Environments:
    • Go to “Environments” in the sidebar.
    • Create two environments: “Development” and “Production.”
    • Add API endpoint URLs specific to each environment:
**Development:**
API_URL: https://dev.example.com/api
**Production:**
API_URL: https://api.example.com
  1. Use Environments in Requests:
    • In the “Get Users” request, replace the hardcoded URL with {{API_URL}}.
    • Select the desired environment before sending the request.

6. Writing Assertions and Test Suites

Postman makes it easy to write assertions to check the expected response behavior:

Example: Verifying user name in the response:

  1. Create a Test:
    • Switch to the “Test” tab in the “Get Users” request.
    • Add a test script:
pm.test("User name is correct", () => {
const jsonData = pm.response.json();
pm.expect(jsonData.results[0].name.first).to.be.equal("Rose");
});
  1. Run the Test:
    • Send the request.
    • The test results will appear in the “Test Results” section.

Creating Test Suites:

  • Organize your tests into collections for better management.
  • You can run multiple tests within a collection, and even group them into folders.

7. Utilizing Postman’s Features for Advanced Testing

Postman offers various features for more advanced testing:

  • Pre-request Scripts: Execute code before sending a request to set variables based on previous responses or other factors.
  • Mock Servers: Mimic real API behavior for testing during development without relying on external APIs.
  • Data Driven Testing: Loop through data from a file or external source to execute requests with different inputs.
  • Visualizer: Generate charts and graphs to analyze API performance and data over time.

8. Tips & Best Practices for Successful API Testing with Postman

  • Use Descriptive Request Names: Make it easy to understand the purpose of each request.
  • Organize Your Requests: Group similar requests into collections for better management.
  • Document Your Tests: Add comments and instructions to your Postman requests and collections.
  • Utilize Environments: Separate configurations for different environments like development, testing, and production.
  • Leverage Test Scripts: Write assertions to validate expected responses.
  • Explore Advanced Features: Discover Postman’s powerful features to streamline your testing workflows.

By mastering these techniques, you’ll be well-equipped to use Postman for efficient REST API testing, ensuring seamless API integration and improving software quality.

API Testing Blog