接口测试-Postman的关联
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: |