如何在Postman Runner中迭代运行单请求每次上传不同文件?
Postman Runner迭代上传不同文件配置方案
你的需求完全可以实现,不需要用file[]批量上传的方案,按以下步骤配置即可:
前置准备
- 先将所有需要迭代上传的文件统一存放到Postman的工作目录下:
可通过 Postman 右上角设置 → 通用(General)选项卡 → 工作目录(Working directory)路径查看/修改,所有待上传文件必须放在该目录或其子目录下,否则Postman无文件读取权限
接口请求配置
- 打开对应的上传请求,切换到「Body」选项卡,选择
form-data格式:
添加接口要求的文件参数键(比如你的示例里是file),参数类型选择「File」,值的位置先随便选择一个本地测试文件占位即可,无需填写变量 - 切换到「Pre-request Script」选项卡,添加如下代码,实现动态替换上传文件:
// 若你的文件参数名不是file、迭代变量名不是Utterance,对应修改引号内的内容即可 pm.request.body.formdata.get("file").src = pm.iterationData.get("Utterance");
Runner迭代配置
- 准备迭代数据文件,支持CSV或JSON格式:
以CSV为例,表头设置为你的迭代变量名(比如Utterance),每一行填写对应迭代要上传的文件路径,路径填写规则为:- 文件直接存放在工作目录根目录:直接写文件名,比如
test1.wav - 文件存放在工作目录的子目录下:写相对路径,比如
audio/test2.wav
禁止填写本地绝对路径,会导致Postman读取失败
- 文件直接存放在工作目录根目录:直接写文件名,比如
- 打开Collection Runner,选择对应请求,导入刚才准备的迭代数据文件,运行即可
常见配置错误排查
- form-data参数类型误选为Text,没有选File
- 待上传文件未存放在Postman工作目录下
- 迭代数据文件里写了本地绝对路径
- Pre-request Script里的参数名、迭代变量名和实际配置不一致
内容的提问来源于stack exchange,提问作者Barns89
相关产品推荐
相关产品推荐

