如何在Postman预请求脚本中读取.json文件作为POST负载并修改数据
实现方法
当然可以在Postman的Pre-request Script中完成这个需求,以下是具体步骤:
方案一:嵌入JSON模板(通用所有Postman版本)
这种方法无需读取本地文件,直接把JSON模板写进脚本或存在环境变量里,适配浏览器版和桌面版Postman:
编写Pre-request Script代码
在请求的「Pre-request Script」标签页中添加以下代码:// 定义JSON请求模板 let payloadTemplate = { "email": "test@gmail.com", "password": "Abc12345", "timezone": "Europe/Berlin" }; // 生成动态唯一邮箱(用时间戳保证不重复) let dynamicEmail = `test_${Date.now()}@gmail.com`; // 替换模板中的邮箱字段 payloadTemplate.email = dynamicEmail; // 将修改后的Payload存入环境变量,供请求Body调用 pm.environment.set("modifiedPayload", JSON.stringify(payloadTemplate));配置请求Body
切换到请求的「Body」标签页,选择raw格式并设置为JSON,然后输入:{{modifiedPayload}}这样请求发送时会自动引用生成的动态Payload。
方案二:桌面版Postman直接读取本地JSON文件
如果你的JSON内容需要单独维护,桌面版Postman可以直接读取本地文件,代码如下:
// 读取本地JSON文件(替换为你的文件绝对路径) pm.sendRequest('file:///Users/xxx/path/to/your/payload.json', (err, res) => { if (!err) { let payloadTemplate = res.json(); // 生成动态邮箱 let dynamicEmail = `test_${Date.now()}@gmail.com`; // 替换邮箱字段 payloadTemplate.email = dynamicEmail; // 存入环境变量 pm.environment.set("modifiedPayload", JSON.stringify(payloadTemplate)); } else { console.error("读取文件失败:", err); } });
后续请求Body的配置和方案一一致。
注意事项
- 浏览器版Postman受限于权限,无法读取本地文件,建议使用方案一
- 动态邮箱的生成规则可按需调整,比如添加随机字符串增强唯一性:
test_${Date.now()}_${Math.random().toString(36).slice(2,5)}@gmail.com
内容的提问来源于stack exchange,提问作者vlatko606
相关产品推荐
相关产品推荐

