软件测试技术分享丨使用Postman搞定各种接口token实战

现在许多项目都使用jwt来实现用户登录和数据权限 ,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才允许用户访问接口。

01、设置Bearer Token

如果后端项目使用的是Bearer Token进行安全认证,那么使用Postman这样操作。

设置你的环境变量

点击右上角的小眼睛,然后点击Add,添加

填写你的环境名和你的变量名

选择你新建的环境

项目集合设置认证方式及环境变量

登录接口的脚本

这个脚本的意思就是说,你的用户名和密码正确的前提下,访问后端接口会给你返回一个Token,你将这个Token储存在刚刚设置好的环境变量中,当你用别的接口访问时,由于整个项目刚刚已经设置好了访问权限使用的Token,所以你所有的接口都会携带这个token去访问,从而数据权限被后台接收和使用

// pm代表的就是postman,使用js编写脚本即可

const responseJson = pm.response.json();

console.log('-----------',responseJson)

const accesssToken = responseJson.result

if('200'==responseJson.code){

pm.environment.set('accessToken',accesssToken)

}

02、通过脚本设置Headers

Spring Security的在访问时会向请求头添加一个accessToken,可以使用脚本在集合批量添加,也可以对每一个Api手动添加Header,不过那样会很麻烦,所以我这边用脚本批量添加的方便方式。

登录请求设置环境变量

从登录结果获取accessToken,将accessToken设置到环境变量中

脚本如下

const responseJson = pm.response.json();

console.log('-----------',responseJson)

const accesssToken = responseJson.result

if('200'==responseJson.code){

pm.environment.set('accessToken',accesssToken)

}

设置集合的发送请求脚本

点选集合->进入Pre-request Scrip(请求前脚本)页签->编写脚本

脚本如下

console.log("----addHeader------", pm.environment.get("accessToken"));

var accessToken = pm.environment.get("accessToken");

// 所有请求在请求前都在请求头中设置accessToken

pm.request.addHeader("accessToken:"+accessToken);

这样设置后,所有的请求都会携带登录的accessToken了。

登录接口抹除accessToken

因为我们项目的过滤器没有设置解析accessToken的脏数据,所以一旦有老的token,就会报错超时,所以登录接口在访问时一定要抹除accessToken,登录接口的Pre-request设置脚本如下:

// 移除登录接口的accessToken, 防止过期的token被过滤器解析,影响登录接口

pm.request.headers.remove("accessToken")

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
卓码软件测评35 分钟前
CNAS软件测试机构:【Postman集合从接口组织到自动化测试套件的过程】
网络·测试工具·性能优化·测试用例·压力测试·postman
百度测试开发1 小时前
超细整理,银行项目-票据业务测试点+转账测试点(详细)
自动化测试·软件测试·功能测试·软件测试工程师·接口测试·软件测试项目·软件测试面试
郝学胜-神的一滴2 小时前
Linux进程创建的封装与设计模式应用:结构化分析与实践指南
linux·服务器·开发语言·c++·程序人生·设计模式
测试人社区—52722 小时前
无需修改测试用例实现Selenium四倍性能提升的完整方案
selenium·测试工具·测试用例
谷粒.4 小时前
Cypress vs Playwright vs Selenium:现代Web自动化测试框架深度评测
java·前端·网络·人工智能·python·selenium·测试工具
斯南10 小时前
wireshark的基本使用,过滤请求,过滤数据,追踪数据
网络·测试工具·wireshark
十二测试录12 小时前
用F12获取接口信息,并进行接口测试
经验分享·功能测试·测试工具·压力测试·职场发展·安全性测试
en-route12 小时前
测试自动化(Test Automation)全面解析
自动化测试
一念一花一世界13 小时前
PostIn零基础速成:从安装到入门使用
postman·接口管理工具
爬上树顶16 小时前
软件项目中的人与事
程序人生·职场和发展·蓝桥杯