postman API
Darshika Srivastava
Darshika Srivastava
Associate Project Manager @ HuQuo | MBA,Amity Business School
How to Use Postman for API Testing:
APIs are everywhere on the Internet. Each time you send and receive messages using an instant messaging app, or while checking the news on the Internet, API requests are being requested and received in the background. Some of the?HTTP methods?associated with APIs are GET, POST, PUT, DELETE, and PATCH.
When a developer creates an API, it needs to be tested for its quality. There are many elements that make up modern API testing, from checking functional requirements to the performance, reliability, and security of the service.
There are also many popular tools to enable quick API testing, like?SoapUI,?RapidAPI, and?TestProject.?Postman?is another such tool that can aid an API developer’s testing process. Below, we’ll describe how to use Postman to test the two most common HTTP methods, GET and POST.
Organizing Tests in Postman
Postman?helps an API developer organize API requests inside?Collections. To add a new Collection, click the?Collection?button in the?Workspace.?Next, click the?Request?button to add the request into the collection. Requests can also be further organized within folders.
Creating a GET Request
GET is used to request data from a specified resource. Once the new request is chosen as a GET request in the tool, proceed to name the request. Next, mention the URL to be tested.
Once the request is saved, send the request by clicking the?Send?button. As a result, the?response body?is displayed in the lower section of the Workspace. The response body is the result of the API request being sent. To validate this result of the GET request, view the?response text,?Status, Time Taken, Size?in that section.
For example, if the response body is shown as empty, and the status is not labeled as?OK, it signifies an issue. Similarly, if the?Time Taken?label shows an unexpectedly high amount, the API developer may want to check for performance issues.
For?debugging?the test results, the?Console?Window?can be relied upon. Traverse through?View>Show Postman Console?to use it. For example, below are cases of successful and error requests in the Console Window. Expand and click the Response body section to validate the result for each run.
The console window looks as such:
Creating a POST Request
POST is used to send data to a server to create/update a resource. To create a POST request, we follow similar steps as we did for the GET request creation. However, this time choose the POST option for the URL. We also mention the data to be created or updated in the Request Body section. After that, we click the Save button and send the request by clicking the Send button. The response is displayed as a result.
Reusing Test Data: Environment and Parameterization
We can also store the?test data inputs?by associating it with variables in the?Environment?section of the?Postman?App. You can have both local and global variables. To use the data associated with the variables, we mention them within curly braces. This is called?Parameterization. The use of the key-value pairs in the Environment allows for the reusability of test data across tests in a Workspace. For example, if we mention the variables in the global environment section, the variable can be referred to across test spaces.
Running Tests
To run the tests, choose the Collection and click the?Run?button. Once that is done, link a data file as an input file if present, else, ignore this step. In the example below, we have not chosen an input file. We have provided direct inputs in this case. Next, click the?‘Run Collection’?button. This runs the test. View the?Summary?of the results,?Export?the results and even?Rerun?the tests from the same window by clicking the respective buttons in the Results window.
Enabling Tests to be Data-Driven
Tests can be easily made?data-driven?by associating the test data inputs present in a?CSV or JSON file. In the first example, we have shown how we can store the test data in the CSV file and then reference it with the test. We would need to parameterize the variables associated with the CSV file input variables before we do so.
In this example, it would be the associated CSV columns. Here, we have the?endpoint,?email,?and?password?mentioned as column headers in the CSV file. After that, click the?Run Collection?Button. Once the test is run, view the Console Window to check if the POST request’s response body shows the input that we had provided in the POST request.
Similarly, we can have a JSON file as an input and associate the run the tests. Choose the JSON file instead this time, and then run the Collection. View the result in the Response Body to verify if the input matched as was mentioned by us in the JSON file as the test data input file.
Newman
Newman?is a command-line collection runner for Postman. To use it, we need to install?Node.js?and?Newman?into our system. Newman’s input should be the?Collection’s JSON file. This can be made available by exporting the Collection and saving it as a JSON file in your local machine. After that, run?Newman?by associating with that JSON file path. Results are displayed in the command window.