postman官网地址:https://www.postman.com/
为了更灵活地构造请求以及处理响应数据,postman提供了Pre-request-Script和Tests,在这两个标签中可以编写js代码辅助测试,Pre-request-Script为预处理其实就是接口请求前执行的js脚本,同理Tests为测试脚本就是接口响应后执行的js脚本,基于Pre-request-Script和Tests我们提供以下解决方案在不同场景下。
变量赋值取值的方式
经常我们会遇到这样的场景,在请求A接口时 我们需要获取B接口返回的值 (如:登录接口返回的安全令牌access_token) 才能进行A接口的请求 ,在postman中 我们一般通过变量赋值取值的方式,如下:
1)B接口成功请求并设置全局变量access_token,输出日志。
2)设置全局变量access_token成功
3)A接口通过access_token变量获取来安全令牌
基于预处理内置请求动态添加请求参数
上面的方式基本解决不同接口之间传递参数的问题,但是不够优雅,首先需要分别点击两个接口,先点击B接口设置变量然后再点击A接口获取变量 第一操作稍显啰嗦 第二如果遇到更复杂的场景 可能不太适应 :
- 在Collections Runner中,多个接口都需要B接口返回的参数值如 A和C接口都需要B接口的返回值
,A接口先拿到返回值但是会对返回值进行删改,导致C接口无法使用并请求 (实际场景就类似每个令牌只能使用一次,用完失效)。 - 多个接口都需要B接口返回的参数值 但是为了方便日志记录每个接口都需要一个独立的返回值,进行隔离,防止日志输出混淆等。
基于以上场景 我们可以在每个需要B接口返回值的请求执行前 独自去调用B接口,可以在Pre-request-Scrip预处理中发送请求获取返回值 然后添加请求参数 即为每个请求内置获取B请求返回值 Pre-request-Scrip脚本 如下:
pm.