0


【Postman】自动填充X-Authorization令牌token到请求头Headers中

请添加图片描述

本期目录

1. 背景

  • 在大型互联网项目中,用户登录后都要返回一个 token 给客户端用于认证授权,存储在浏览器的本地存储中。以后每次发送请求,都必须在请求头中携带这一认证 token 才能正常获得服务器的响应。对于 Postman 测试来说,每测一个接口 URL 都要手动地在 Headers 中添加认证 token 是一件非常崩溃的事。
  • 本篇博文教你如何使用 Postman 的 Globals 全局变量、Environment 环境变量、Pre-request Script 自动获取最新 X-Authorization 的 token 并自动填充到所测试请求中 Headers 中。

2. 使用方法

1)设置全局环境变量

  • 全局变量 Global 是在整个 Workspace 中都能获取的变量。例如登录账号和密码。需要注意的是,全局变量可以被处于同一个 Workspace 中的任何人查看和编辑,因此对敏感涉密的信息要谨慎处理。点击右上角的小眼睛就能添加全局变量。image-20221208152858180
  • 设置了三个全局变量,分别是登录系统的账号和密码,以及认证授权 token 。注意,username 账户和 password 密码这两个全局变量在【INITIAL VALUE】和【CURRENT VALUE】两个空中都必须填写,后面在【Pre-request Script】脚本中才能获取到这两个全局变量。image-20221208192535509

2)设置测试环境

  • 主要是设置测试环境的 IP 地址和端口。image-20221208174356856
  • 这样设置后,以后只要切换到【Dev】开发环境,输入请求的 URL 时,就能用 {{host}} 来替换 localhost:9090 了。

3)编写Pre-request Script

  • Pre-request Script 是 JavaScript 脚本,在请求被发送前,会首先执行这个脚本。Pre-request Script 可以给单个请求设置,也可以给整个 Collection 设置。笔者这里选择了后者,点击 Collection 名称即可进入编辑 Pre-request Script 的页面。image-20221208155343921
  • 因此,我们编写这样一个脚本:在每次发送一个请求前,先发送一个 POST 请求去获取最新的 token ,获取 token 时使用 Global 全局变量中的账户和密码来登录系统,然后把这个 token 更新到 Global 全局变量中的 token 。image-20221208192849856const getToken ={url:"http://localhost:9090/api/auth/login",method:"POST",header:'Content-Type:application/json',body:{mode:"raw",raw:JSON.stringify({"username": pm.globals.get('username'),"password": pm.globals.get('password')})}};pm.sendRequest(getToken,function(err, res){ pm.globals.set("token","Bearer "+ res.json().token);});

4)举例

  • 现在我来测试一个获取设备列表的 GET 请求 API 。image-20221208193305406
  • 点击【Send】后,成功获取数据。image-20221208193509565
  • 此时查看 Console 控制台发现确实发送了 2 个请求。image-20221208193638133
  • 第一个请求就是 Pre-request Script 中使用脚本发送的请求,用于获取认证 token 并存储到 Globals 全局变量 token 中。可以看到所测试的 GET 请求成功把 X-Authorization 的 token 存在请求头中。image-20221208193913797

本文转载自: https://blog.csdn.net/Sihang_Xie/article/details/128242953
版权归原作者 自牧君 所有, 如有侵权,请联系我们删除。

“【Postman】自动填充X-Authorization令牌token到请求头Headers中”的评论:

还没有评论