Postman提取接口返回值他用

Postman提取接口返回值他用

1、需求来源

日常生产开发过程中,有时我们会使用Postman对需要的接口进行测试联调,此时往往会伴随:请求登录接口 --> 登录完成返回token --> 其他接口请求头中设置token 这些业务流程,此时若是只有两个接口测试,C V方式还算能接受,但是当接口多了后就会发现,每次都复制粘贴十分繁琐并且效率低下,此时就会想有没有一种方法解决这个问题。

2、解决方案

原理:利用 JMeter(正则表达式取值),JSON 提取响应数据。

细节说明:Postman支持接口断言并设置全局属性的功能,因此我们就是利用的这点。

实际运用场景:上一个接口的返回值如何作为下一个接口的参数

例如:获取微信接口的授权token,后将token设置到请求头中获取用户的openid

  • 上一个接口获取数据在Tests(断言)中取值设置全局变量。
//responseBod返回的值
//JSON.parse把返回的值转化成一个jOSN格式的数据,保存到value这个变量中
var value = JSON.parse(responseBody)
//把取得的token值保存到全局变量的access_token变量中。
pm.globals.set("access_token", value.access_token);
  • 下一个接口通过{{access_token}}取值。

实际案例:获取登录成功响应的 Authorization,然后设置到其他接口的请求头中

// 1、登录接口:http://127.0.0.1:8090/login/apitoken
// 获取登录成功响应的 Authorization
var value = JSON.parse(responseBody)
//把取得的token值保存到全局变量的Authorization变量中。
pm.globals.set("Authorization", value.Authorization);

// 2、获取列表
// 请求头设置为:key=Authorization,value={{Authorization}}
// 此时即可避免手动赋值这个请求头

图示1(登录接口断言设置全局属性)
在这里插入图片描述
图示2(其他接口请求头添加Authorization属性)
在这里插入图片描述
注意:
此演示案例 Postman 版本为:

-- Postman for Windows
-- Version 8.5.1
-- win32 10.0.19042 / x64

以上就是 postman 接口响应数据他用指导步骤说明。


版权声明:本文为rao991207823原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。