Postman接口关联(数据依赖)
在接口测试或接口调试中,经常会遇到多个HTTP请求存在数据依赖的场景(如A接口应该使用B接口返回的特定数据才能正常请求)。
Postman通过“提取响应数据→设置全局/环境变量→引用变量”的流程,能高效消除这类挑战。
一、核心概念:为什么需要Postman接口关联?
当两个或多个接口存在数据依赖时,无法单独请求后续接口——比如:
- 登录接口(B接口)返回的
token,必须作为“用户信息查询接口(A接口)”的请求头参数,否则A接口会提示“未登录”; - 订单列表接口(B接口)返回的
orderId,必须作为“订单详情接口(A接口)”的路径参数,才能查询指定订单; - 本案例中“天气接口(B接口)返回的
city”,需作为“百度搜索接口(A接口)”的查询参数,才能实现“搜索当前天气对应的城市”。
Postman的“接口关联”本质是:用应用自带的“变量机制”,将前一个接口的响应数据“暂存”,再供后一个接口“调用”,替代手动复制粘贴数据的低效操作,且支持批量执行、自动化测试。
二、接口关联的通用实现步骤(Postman版)
无论什么依赖场景,Postman接口关联都遵循“3步核心流程”,本案例是典型的“查询参数依赖”场景,完全匹配该流程:
| 步骤 | 目标 | Postman操作核心 | 对应本案例 |
|---|---|---|---|
| 1 | 提取前接口(B)的响应数据 | 通过pm.response.json()解析JSON响应,定位到需要的字段 | 从天气接口的JSON响应中,提取weatherinfo.city(即“北京”) |
| 2 | 存储提取的数据到变量 | 通过pm.globals.set()(全局变量)或pm.environment.set()(环境变量)暂存数据 | 将“北京”存入全局变量glb_city |
| 3 | 后接口(A)引用变量 | 在URL、请求头、请求体中,用{ {变量名}}的格式调用变量 | 百度搜索接口的URL从http://www.baidu.com/s?wd=北京改为http: |