logo logo

The Ultimate Postman Tutorial for API Testing

The Ultimate Postman Tutorial for API Testing

The internet is increasingly built on Application Programming Interfaces. In a world where more websites and applications are hosted on cloud platforms, APIs are the glue that holds everything together.

Applications built on service-based architectures use APIs to communicate with each other. There are many public APIs that companies use to drive the adoption and engagement of their tools. 

These APIs all need testing, however, unlike applications with an automated User Interface using functional automation testing tools such as TestProject, APIs lack a graphical user interface (GUI) and are generally designed to be interacted with programmatically.

Many tools can help with API testing, but it can be hard to find a tool in that sweet spot between power and simplicity.

Some API testing tools pack a big punch with great features but are inherently tricky to use, while others are easy to pick up but don’t do everything you might want when it comes to an API testing tool. Here’s a quick diagram of how APIs work:

Diagram of how APIs work

So where do you find an API testing tool that navigates the balance between ease of use and depth of features? Enter Postman 👨‍🚀

Table of contents

What is Postman?

Postman is the most popular API testing tool, because it is free, packed with powerful testing features, and is also intuitive to use and get started with.

This Postman tutorial will show you how easy it is to get started with API testing and how powerful Postman is for testing. We’ll walk you through everything from getting started with it, to using Postman in your CI and CD. 

Exploratory testing is important when testing APIs and a UI, but since APIs are intended to be interacted with programmatically, they lend themselves well to test automation. This Postman tutorial will walk you through setting up effective API test automation. 

The tutorial covers how to use Postman to create API mocks and how to organize and structure your data so you may create effective test automation. It also goes over how you may integrate your Postman tests directly into your CI/CD pipelines with Newman and explore the powerful scripting abilities built into this tool.

Why should you use Postman for API testing?

Postman is a simple and user-friendly application to use. Tests are shared easily and are easy to move into different environments and to another test in Postman. Postman ensures whether your API testing is working correctly or not and also  allows you to create a collection of integration tests and stories data for multiple tests. It involves providing code snippets  if you are new to working with the Postman tool.

Common HTTP methods in Postman

The HTTP request methods enable communication between the client and servers. HTTP acts as a request-response protocol between client and server. The most commonly used HTTP request methods are as follows:

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE

GET- The GET method retrieves information from the given server using the data sent in the URL. The GET method is better to use for data that doesn’t have any images or security and limits from the length of the URL.

POST- The POST method creates necessary data. Post is a request method that sends necessary data to the server from an HTTP client.

PUT- The PUT method updates the existing data and if it doesn’t have any data, it will create a new one. It remains unchanged when the same data is sent multiple times to be updated.

PATCH- The PATCH method updates only the existing data and it allows only partial updates.

HTTP responses(status code)

HTTP is a HyperText Transfer Protocol response status code 👩‍💻 It is produced by the server in response to client requests made to the server. HTTP response code is divided into five classes. The first digit of the response code defines the class of response, while the last two digits don’t have any categorization role.  The five different response code classes include:

  • 1xx informational response- the request was received and is continuing in the process.
  • 2xx successful- the request was successfully received, understood, and accepted by the server.
  • 3xx redirection- the request is incomplete and some actions need to be taken to complete it.
  • 4xx client error- the request contains bad syntax.
  • 5xx server error- the server failed to fulfill a valid request.

Here is the important response code with screenshots that the server gets:

2xx successful

The request was successfully received, understood, and accepted by the server.

200(OK)– It indicates that the API successfully carried out the client’s request. It is a successful HTTP response status.

postman tutorial- 200(OK)

201(created)– The request is sent and it involves creating a new resource.

201(created)

204(No content)– The request is successfully sent and it doesn’t send back the response messages. Delete method is used to define 204 response code.

204(No content)

4xx client error 

The request contains bad syntax.

400(Bad request)– The server will not process the request due to the error from the client’s end. Example: invalid request URL.

postman tutorial- 400(Bad request)

401(Unauthorized) 401 indicates that the client tried to operate on a protected resource and is unauthorized.

401(Unauthorized)

403(Forbidden) The client sends the correct request but the server refuses to give the response.

403(Forbidden)

404(Not found) The requested resource could not be identified at present and may be available in the future.

404(Not found)

405(Method not allowed) The client uses an invalid request method that the resource doesn’t allow.

405(Method not allowed)

5xx server error 

The server failed to fulfill a valid request.

500(Internal server error) This happens when the server faces an unexpected condition.

postman tutorial- 500(Internal server error)

Example API

This Postman tutorial will help you understand the basics, but there’s no substitute for experience. It’s best to practice with Postman to get the most out of it.. Most of the examples this article uses are based on the JSONPlaceholder API. This is a sample API that is specifically designed to be used for testing purposes. 

 This tutorial requires you to have an up-to-date version of the Postman tool installed. If you don’t yet have the Postman tool, you may download and install it here. There are some command line calls and scripting throughout, but don’t worry if you haven’t done much scripting because all code examples will be included in each of the chapters of this tutorial ✅

Detailed Postman Tutorials

Chapter 1Getting started with Postman for API Testing

This chapter covers basic steps to install the Postman tool and execute a simple API request using the GET method. This helps you with the execution of API requests,  the demo, and the screenshots in a stepwise manner to execute it. Most of the QA testers use the Postman tool for testing API as it provides benefits for those using it.

  • What is an API?
  • What is Postman?
  • Postman Setu
  • Executing an API Request
  • API Testing with Postman
  • Summary

Chapter 2Understanding API Authorization Options in Postman

This chapter covers the Execution of API requests using Authorization. It helps you to know how authorization works and what to do with it. It also helps in authorizing third-party APIs. Most people may know about authorization but they may not know how it is linked with API. So this chapter will guide you through the Authorization process.

  • Basic Auth
  • API Keys
  • OAuth 2

Chapter 3Using Postman for Automation Testing

This chapter focuses on how to use collections and variables. You will also learn about sharing data between tests. The main goal of the chapter is toexplains the automation testing using the Postman tool. Postman tools can be used for both manual and automation purposes.

  • Organizing tests with Collections
  • Sharing data between tests in Postman
  • Variables
  • Collection Runner

Chapter 4Using Test Scripts in Postman

This chapter explains the method of testing and the results. It also explains the pre-request script tests when you need to add variables or data to run your script.

  • Postman Test Scripts
  • Pre-request Scripts
  • Ready for Automating Requests

Chapter 5Running Postman in CI using Newman

This chapter covers Newman. Many of the QA testers may not know what Newman is so this chapter is useful for them.  It also explains running tests in Newman and about running Newman in the command line.

  • What is Newman?
  • Running Tests with Newman
  • Running Newman in CI

Chapter 6Creating Mocks with Postman  

This chapter covers mock data. Mock data should be used safely because it will simulate the behavior of real data. So, this chapter explains the use of Postman with Mock.

  • What is Mock Data?
  • Create Mock Examples
  • Using a Postman Mock Server
  • Conclusion

Conclusion

Postman is a free open-source tool that is used by many QA testers to simplify and reshape API testing. However, in order to achieve your target results and save time and effort go with the Postman tool and it must be used properly.

Well, we are ready to go now, so buckle up and get ready for a fun and informative ride into the land of API Testing with Postman! 🚀

👉 TAKE ME TO CHAPTER #1 👈

Avatar

About the author

Dave Westerveld

Dave Westerveld is an experienced tester who has been involved in various aspects of the testing role. As a strong exploratory tester, he has learned how to leverage many different tools to enhance his testing powers. He has also been involved in many automation projects including building out new automation frameworks. In addition he has helped transition several large and expensive automation suites into lighter weight, higher value systems. A speaker at several conferences, Dave also blogs about his thoughts and experiences at offbeattesting.com

Join TestProject Community

Get full access to the world's first cloud-based, open source friendly testing community. Enjoy TestProject's end-to-end test automation Platform, Forum, Blog and Docs - All for FREE.

Join Us Now  

Leave a Reply

popup image

A new world for test automation

Join 150,000 testing & dev teams taking their web & mobile testing to new heights, using #1 FREE test automation platform, designed to help deliver quality at speed.
Get Started
FacebookLinkedInTwitterEmail