Run collections with file uploads using Newman
People have asked how to use the collection runner to run collections which have requests with file uploads. Right now, it’s not possible to upload files in the collection runner. However, you can use Newman, Postman’s command-line companion, as a workaround:
- Create a collection in Postman. Check out a sample collection here:
This collection sends a single
POST
request, with two form parameters – one file param, and one text param. The file that was used is https://gist.github.com/abhijitkane/4aba1c3deeb4ed61a623. The request runs successfully in the main Postman window:
- Export the file as JSON (Collection > Export > V2), and save it to your filesystem.
- Open the JSON file for editing. In the
request.body.formdata
section, change the “src” property of the file param to the complete path of the file:
- Run the collection JSON file using Newman:
If you are using Windows, be sure to change the backslashes (\) in the JSON file to double-backslashes so that the JSON remains valid, e.g. if your “value” is “C:\Documents\collection.json”, you’ll need to change it to “C:\\Documents\\collection.json”.
This is an updated post from Using Newman to run collections with file-post requests.
Hi,
Thanks for this article. However I have a question regarding integration as a git hook in a team project. As every user has a different configuration, file path won’t be the same from one machine to another. How can we make this more “dynamic” so everybody can use the same collection file ?
Hi ,
Thanks for this article . I need one help , we are using raw data file in post command, We are sending file where we are exepecting some parameters value should get replaced with global variables values . We are unable to achieve this … can someone please help?
Hey, that shouldn’t happen, please post on the community forum if you’re still facing this issue: community.postman.com
Very useful, ty.
Can this “src” be parameterized to take input from JSON file.
I have a requirement to import many files and the list of file names will be from input JSON data file. Does post man have this capability ?
This is now possible in the Postman Collection Runner. You just need to place your files in the default ~/Postman/files directory. This directory can also be configured in the settings.
I need to upload all files in one folder – tried to use “Folder\\.*.html” in ‘src’.
but its not working… if anyone knows any workaround .. need to execute it with newman command.
We can follow the post in this blog but the easy way to that is just use newman option in your command –workign-dir “path to the files used in collection”
Newman command looks like below:
newman run “C:\Users\AKHAN9\Documents\Postman\postman_collection.json” –environment “C:\Users\AKHAN9\Documents\Postman\postman_environment.json” –workign-dir “path to the files used in collection”