Postman 邮递员可以从路径中将文件作为变量吗?

Postman 邮递员可以从路径中将文件作为变量吗?,postman,postman-collection-runner,Postman,Postman Collection Runner,我有一个postman集合,有一组三个API调用,我希望通过runner函数将它们链接在一起并提供数据文件。假设他们是: /prepareUpload /upload /confirmUpload 每一步的输出都是下一步所需要的。我很高兴地从响应中提取一些内容,并将它们放入变量中,为下一次调用做好准备,但我似乎遇到的问题是,/upload需要一个文件类型的参数,但Postman似乎不允许我将其设置为变量: 我尝试导出集合,手动编辑json以将其强制为变量并运行该变量,因此类似于: <sn

我有一个postman集合,有一组三个API调用,我希望通过runner函数将它们链接在一起并提供数据文件。假设他们是:

/prepareUpload

/upload

/confirmUpload

每一步的输出都是下一步所需要的。我很高兴地从响应中提取一些内容,并将它们放入变量中,为下一次调用做好准备,但我似乎遇到的问题是,
/upload
需要一个
文件
类型的
参数,但Postman似乎不允许我将其设置为变量:

我尝试导出集合,手动编辑json以将其强制为变量并运行该变量,因此类似于:

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

{
“密钥”:“文件”,
“contentType”:“{{contentType}}”,
“类型”:“文件”,
“src”:[“{{fullpath}}”]
}
],
“选择”:{
“formdata”:{}
}
其中,
{{contentType}}
{{{fullpath}}
来自我的数据文件,但它似乎从未真正进行上传


有人知道这是否可行吗?

无法通过邮递员读取本地文件(github上的跟踪程序中至少有两个问题:,)


一种解决方法是,设置一个提供文件的服务器,这样您就可以通过向该服务器发出请求来获取数据。

好的,找到了答案,简短的版本是-Postman不能这样做,但Newman可以:


设置和运行它需要付出更多的努力,但它确实提供了一个自动化整个过程的解决方案。

问题:

在postman中,如果我们检查UI,我们会注意到无法将文件路径定义为变量

当我们需要从不同的系统运行文件时,这似乎是一个限制

解决方案:

解决方案是破解collection.json文件。打开json并编辑formdata src并用变量替换它,比如fire_path so:{{fire_path}

现在是邮递员:

在预请求中,您可以在下面的代码中设置路径

set(“文件路径”,“C:/Users/guest/Desktop/1.png”)

您还可以直接将其保存为环境变量,或者在使用newman时使用--env var传递cmd

注意:

将工作目录外部的访问文件设置为true(右上角的设置)


谢谢,不过我觉得我的用例略有不同。我可以让邮递员使用runner()读取数据文件,但它需要将数据文件附加到文件掉落的地方