如何用postman设置接口测试关联
一、提取响应数据(Tests 脚本)
在第一个请求的Tests标签中编写脚本,提取需要关联的数据:
// 示例1:提取JSON响应中的token
let responseData = pm.response.json();
pm.environment.set("token", responseData.token); // 保存到环境变量
// 示例2:提取cookies
pm.environment.set("sessionId", pm.response.headers.get("Set-Cookie").split(";")[0].split("=")[1]);
二、在后续请求中引用变量
在需要使用关联数据的请求中,通过{{变量名}}
引用:
GET https://api.example.com/user?token={{token}}
三、变量作用域管理
- 环境变量:用于特定环境(如开发 / 生产)
pm.environment.set("变量名", "值");
- 全局变量:所有请求通用
pm.globals.set("变量名", "值");
四、进阶技巧
-
Pre-request Script:
可在发送请求前生成动态数据:pm.environment.set("timestamp", Date.now());
-
JSON 路径提取:
使用jsonpath
库简化复杂数据提取:const jsonData = pm.response.json(); pm.environment.set("userID", jsonData.data[0].id);
-
断言验证:
在 Tests 中添加验证确保数据正确传递:pm.test("token存在", () => { pm.expect(pm.environment.get("token")).to.not.be.null; });
五、示例流程
- 登录请求:
- Tests 脚本保存 token 到环境变量
- 获取用户信息请求:
- 在 Authorization 头中使用
{{token}}
- 在 Authorization 头中使用
建议通过 Postman 的Variables面板管理变量,使用Collections Runner执行批量测试验证关联效果。对于复杂场景,可结合Newman实现 CI/CD 集成。