Linux版 Postman 接口参数化实战指南
一 参数化方式概览
二 变量与数据文件参数化
三 动态内置变量与前置脚本
// 13位时间戳(毫秒)
const ts = Date.now();
pm.environment.set("ts", ts);
// 假设 appid、secret、q、salt 已定义为变量
const str = pm.environment.get("appid") + pm.environment.get("q") + pm.environment.get("salt") + pm.environment.get("secret");
const sign = CryptoJS.MD5(str).toString();
pm.environment.set("sign", sign);
const randStr = ("0000" + (Math.random()*Math.pow(36,4) << 0).toString(36)).slice(-4);
const randNum = Math.round(Math.random()*9999);
pm.environment.set("rand_str", randStr);
pm.environment.set("rand_num", randNum);
const jsonData = pm.response.json();
pm.environment.set("token", jsonData.token); // 供后续接口使用
pm.test("Status is 200", () => pm.response.to.have.status(200));
| 变量 | 含义 | 示例 |
|---|---|---|
| {{$guid}} | 随机 GUID | 550e8400-e29b-41d4-a716-446655440000 |
| {{$timestamp}} | 当前时间戳(秒) | 1734601234 |
| {{$randomInt}} | 0–1000 随机整数 | 742 |
四 数据文件示例与 Runner 配置
username,password,expected_msg
user1,pwd1,OK
user2,pwd2,FAIL
[
{"username":"user1","password":"pwd1","expected_msg":"OK"},
{"username":"user2","password":"pwd2","expected_msg":"FAIL"}
]
五 在 Linux 环境的最佳实践与自动化
npm install -g newmannewman run collection.json -e env.json -d data.csv-n 指定迭代次数,-d 指定数据文件,-r cli,html,json 生成报告,--delay-request 设置间隔,--insecure 忽略证书校验(仅测试环境)。