postmanpostman-collection-runner

Can Postman take a file as a variable from a path?


I have a postman collection, with a set of three API calls I'd like to chain together and feed with a data file using the runner function. Lets say they're:

/prepareUpload

/upload

/confirmUpload

and the output of each is needed for the next step. I'm happily pulling stuff out of the responses and putting them into variables ready for the next call, but the bit I seem to be falling down on is the /upload needs a file parameter of type file, but Postman doesn't seem to let me set it to a variable:

enter image description here

I've tried exporting the collection, manually editing the json to force it to a variable and running that, so something like :

<snip>
    {
       "key": "file",
       "contentType": "{{contentType}}",
       "type": "file",
       "src": ["{{fullpath}}"]
    }
  ],
  "options": {
    "formdata": {}
}

where {{contentType}} and {{fullpath}} are coming from my data file, but it never seems to actually do the upload.

Does anyone know if this is possible?


Solution

  • Ok, so found the answer to this, and the short version is - Postman can't do it, but Newman can :

    https://github.com/postmanlabs/newman#file-uploads

    It's a fair bit more effort to get it set up and working, but it does provide a solution for automating the whole process.