全国咨询/投诉热线:400-618-4000

怎么测试接口的登录状态?

更新时间:2020年07月13日16时12分 来源:传智播客 浏览次数:

一、登录态是什么?

在接口测试领域,登录态就是指登录状态。

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系统

ihrm-test.itheima.net/#/login

1594624194532_接口测试01.jpg


(2)打开fiddler设置过滤ihrm-test.itheima.net的过滤条件

1594624213413_接口测试02.jpg


然后点击Actions应用生效,选择第一个Run Filterset now

1594624239668_接口测试03.jpg


3、点击登录,点击之后,fildder会抓取到登录接口

1594624266516_接口测试04.jpg


4、回到fildder查看第一个接口,一般就是我们要抓取的登录接口

1594624290366_接口测试05.jpg


5、查看响应数据中的令牌

1594624324641_接口测试06.jpg

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

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

HTTP信息头管理器添加方法:对线程组右键->添加->配置元件->HTTP信息头管理器

1594624352917_接口测试07.jpg


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

接口信息

1594624371549_接口测试08.jpg

1594624403543_接口测试09.jpg


8、点击运行,查看结果


1594624425195_接口测试10.jpg

9、总结

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

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

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

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

三、 使用登录态技术的意义

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

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

猜你喜欢:
软件测试培训课程

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额