Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bulk POST/PUT API requests using POSTMAN or any other means

I have a list of API requests which are already in URL format. I just need to POST them one after the other automatically and log their results.

The only way I could do is to copy each url and send them using postman. But its really time consuming. I tried looking at task runner but that seemed hard to set the variable equal to the data file with all my requests

https://someApi/clientAssign?auth=123|asdf&otherParamsList=123Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=456Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=899Params

I am not sure of a way to fire the above urls one after the other using postman. I have around 60 POST requests and 60 PUT requests

Can anyone suggest a way to achieve this. I can do it by copying over the urls and manually posting them. I am just not in a position to spend so much time doing this very often. And I have already spent time preparing the url with proper values being substituted and ready to to go. Any help is appreciated.

like image 992
chethandb Avatar asked Jun 04 '19 16:06

chethandb


People also ask

How do I send bulk POST request in Postman?

How to create the batch operation in postman. Just copy the value you find in Chrome network tab from screenshot above to the postman based on the number. Choose “raw” tab, then Ctrl + V all the payload text into the text area, and then click Send button.


1 Answers

Never mind I figured out a way to use postman's collection runner to accomplish the same. For those who struggled like the way I did, here is how to use that feature and its even easier to substitute values to your url on the go.

First create a request in Postman:

Below is a screenshot for Example:

enter image description here

Now the requirement is to post the below url: https://someApiPOSTRequest/clientAssign?auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL

with values being substituted for {{VariableFromFile}} from the csv file you will need to upload. Your csv should be formatted as below, where the header should have the same variable name used on your url:

enter image description here

Click on the '>' button shown below beside Example folder and click on 'Run' to open the same on Collection runner window of postman:

enter image description here

Once the Collection Runner window opens up, click on select file option to upload your csv file, and the Iterations field is pre-filled with the number of records on the csv file by default. You can change the number and when you do make sure of the number of iterations you want to run as its directly related to number of rows in your uploaded csv.

enter image description here

You can also preview your uploaded csv file:

enter image description here

If you click on Run Example button, the collection runner posts the url 9 times with {{VariableFromFile}} being substituted with value from csv file for each iteration.

You can have more variables substituted by just having one more column with the relevant variable name and using the same on your api call. Its just that simple. It did reduce a lot of manual work for me!!

You can also refer to the below link which guided me to use this feature in Postman. Link

Hope this will be helpful for someone.

like image 184
chethandb Avatar answered Oct 25 '22 17:10

chethandb