接口测试中的登录态

接口测试中的登录态

一、登录态是什么?
在接口测试领域,登录态就是指登录状态。

1 登录态的作用
作用:用来维持接口的登录状态

在浏览器中,我们登录后,浏览器会自动把登录状态保存下来,所以不需要我们管理,就能进行登录后的操作。

但是在接口测试过程当中,我们需要手动管理登录状态。

2 登录态的本质
本质:客户端登录成功后,由服务器发放给客户端,用来维持登录状态的随机字符串,这个字符串又称之为令牌

在登录后,客户端每次请求都需要把令牌发送给服务器,服务器接收到令牌后,会校验令牌对应的数据信息,从而判断用户是否处于“已登录”的状态

3 如何维持登录态?
维持登录态有3步:

第一步:修改代码的配置,把代码中令牌的有效时间改为永久有效

这一步,一般让令牌找开发协调完成(成熟的公司应该会知道这个套路)

第二步:获取到令牌

按照接口的规定来获取令牌。

在项目应用中,令牌有3种常见方式获取

令牌存放在cookie中,获取cookie就可以提取令牌
令牌存放在登录接口中,从登录接口返回数据中提取令牌
单独提供授权接口,从授权接口中获取令牌
第三步: 使用令牌

令牌存放在cookie中时,读取cookie来使用
令牌放在登录接口中时,使用提取的令牌
单独授权接口,使用授权接口返回的令牌
以上,要维持登录态,需要根据项目对令牌的处理来灵活选择处理方法。

如果令牌存放在cookie中,那么我们把cookie保存下来即可维持登陆态

如果令牌存放在登录接口中,那么我们把登录接口返回的令牌保存下来即可维持登录态

如果令牌存放在授权接口中,那么我们把授权接口返回的令牌保存下来即可维持登录态

二、如何获取和使用登录态?
案例1 ihrm登录的登录态
工具:Jmeter

核心:拿到登录后的令牌

业务分析:ihrm项目的令牌主要是从登录接口中获取,并且登录后的接口需要通过请求头中Authorization属性来设置,设置格式要求是:Bearer空格令牌,示例:Bearer xxxx

操作步骤:

打开抓包工具fiddler,并设置过滤ihrm域名得过滤条件,然后清空所有数据包
走一遍登录流程,查看最后一个登录成功返回的token
在jmeter的请求头当中,添加Authorization的属性,并设置抓取到的token的值
1 打开ihrm系统登录主页,确认能连接上线上的ihrm系统

http://ihrm-test.itheima.net/#/login
在这里插入图片描述

2 打开fiddler设置过滤http://ihrm-test.itheima.net的过滤条件
在这里插入图片描述

然后点击Actions应用生效,选择第一个Run Filterset now
在这里插入图片描述

3 点击登录,点击之后,fildder会抓取到登录接口
在这里插入图片描述

4 回到fildder查看第一个接口,一般就是我们要抓取的登录接口
在这里插入图片描述

5 查看响应数据中的令牌
在这里插入图片描述

其中,返回的json格式的数据中data的值,就是我们要用来维持登录态的令牌

6 在jmeter的信息头当中添加Authorization属性,并设置属性值为Bearer 令牌

HTTP信息头管理器添加方法:对线程组右键->添加->配置元件->HTTP信息头管理器
在这里插入图片描述

7 设置登录后的接口用户资料查询接口

接口信息

在这里插入图片描述
在这里插入图片描述

8 点击运行,查看结果
在这里插入图片描述

9 总结

这样,我们就使用抓取ihrm登录接口返回的令牌,来完成了登录后的接口“用户资料查询接口”的请求操作。

在使用过程中,关键是要明确两点:

1,ihrm项目的令牌是从登录接口中获取

2,登录后的接口相关接口(如用户资料查询接口),需要通过请求头中Authorization属性来设置

三、 使用登录态技术的意义
应用场景1:性能测试时,不再需要单独调用登录接口要保持登录状态,从而更准确的测试相关接口。

应用场景2:有些登录接口的操作,安全校验做到了极致,非常难以破解,这个时候,我们也可以通过客户端登录来获取登录态。(前提是找项目开发明确登录令牌是哪个字段)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值