postman+jwt接口做各个环境接口测试

最近公司做的项目中用到了jwt做登录校验,在请求接口时候需要在header中加入X-Authorization(此处吐槽下做登录校验的同事,如果用Authorization的话postman天然支持Bearer Token),值为Bearer xxxxxx,jwt生成的token时间长了就自动过期失效了,每次改postman中头部有点浪费时间,同时如果要测试不同的环境还得改变请求的地址。基于以上两个痛点(主要是不想浪费时间在过于简单的重复的事情上),看了下postman官方文档,发现用environment+pre request scripts可以解决我的问题。

首先测试环境变量:

由于我司各个环境登录账号都是公司统一ldap,所以我设置用户名、密码、token为global级别的环境变量,如下图:

测试环境和开发环境的变量主要是接口的地址

pre-request scripts可以给每个请求设置也可以给collection设置,如果设置为collection级别,则该collection下的所有请求执行前都会执行,这个正好满足我的要求。

这段脚本是发送一个post请求去获取token,获取token时候的用户名和密码通过global中的变量获取,拿到token后再去更新global变量中的token值。

现在测试一个新的请求:

比如我要测试test环境的某个接口:

新建request,配置如下:

此时打开postman console请求一下刚才新建的request

console中可以看到再请求接口时会先去登录接口获取token,然后请求时候就再接待该token去请求,至此已经完全实现我的需求了。

再说一下我为啥要吐槽登录校验的同事在header中用X-Authorization而不是Authorization,如果是Authorization的话,可以在collection中配置Authorization,具体如下:

这样我就不用每次新建request时候在header中添加X-Authorization:{{token}}了,能节约一点时间。

参考文档:

postman官方API:https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/#pmsendrequest

猜你喜欢

转载自blog.csdn.net/catcher92/article/details/88913408