您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

接口测试中的登录态

时间:2020-07-19 10:13:17  来源:  作者:

一、登录态是什么?

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

1 登录态的作用

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

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

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

2 登录态的本质

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

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

3 如何维持登录态?

维持登录态有3步:

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

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

第二步:获取到令牌

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

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

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

第三步: 使用令牌

  • 令牌存放在cookie中时,读取cookie来使用
  • 令牌放在登录接口中时,使用提取的令牌
  • 单独授权接口,使用授权接口返回的令牌

以上,要维持登录态,需要根据项目对令牌的处理来灵活选择处理方法。

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

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

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

二、如何获取和使用登录态?

案例1 ihrm登录的登录态

工具:Jmeter

核心:拿到登录后的令牌

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

操作步骤:

  1. 打开抓包工具fiddler,并设置过滤ihrm域名得过滤条件,然后清空所有数据包
  2. 走一遍登录流程,查看最后一个登录成功返回的token
  3. 在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:有些登录接口的操作,安全校验做到了极致,非常难以破解,这个时候,我们也可以通过客户端登录来获取登录态。(前提是找项目开发明确登录令牌是哪个字段)



Tags:接口测试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
requests一、简介使用 python 做自动化接口测试需要用代码发送 http 请求。requests 是 Python 语言里网络请求库中最好用的,没有之一。requests 库有完善详尽的中文版官方...【详细内容】
2021-12-01  Tags: 接口测试  点击:(14)  评论:(0)  加入收藏
前言接口测试是我们在测试工作中经常见到的,我们工作中常用到的接口工具有jmeter,postman,soupUI等工具,那么在通过代码做接口测试呢?或者通过代码的方式做接口自动化呢? requests...【详细内容】
2021-07-23  Tags: 接口测试  点击:(93)  评论:(0)  加入收藏
先来个小故事:一天,你的领导丢给你几十个接口,然后希望你输出报告。你:"exm?",改改改。于是你引入了unittest单元测试框架、HTMLTestRunner等等。正打算将各个测试用例分类重新规...【详细内容】
2020-11-04  Tags: 接口测试  点击:(113)  评论:(0)  加入收藏
对于自动化测试,原来谈这方面的内容比较少,但是现在我们做DevOps支撑平台的时候,在整个持续集成和交付的过程中,有一个重要的内容就是自动化测试。自动化测试的覆盖面相当大,其...【详细内容】
2020-10-30  Tags: 接口测试  点击:(104)  评论:(0)  加入收藏
什么是 API 测试?API 测试其实是一种用程序或工具来发送数据,同时验收系统的返回值的方法。这种测试更偏向于业务实现逻辑。常见的网络协议有 TCP、Http、webservice、socket...【详细内容】
2020-10-19  Tags: 接口测试  点击:(127)  评论:(0)  加入收藏
应用场景:在API的测试中,测试某些具体数据值,比如返回的结果是否是需求的类型,文件是否是符合且具备完整的数据结构。这些都是必须且很细致的测试工作。另外,组织、运行测试场景,...【详细内容】
2020-10-19  Tags: 接口测试  点击:(244)  评论:(0)  加入收藏
JMeter是Apache组织的开放源代码项目,能做接口测试、功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试,也可以对数据库进行同样的测试(通过JDBC),还能以多种形式...【详细内容】
2020-09-09  Tags: 接口测试  点击:(70)  评论:(0)  加入收藏
一、登录态是什么?在接口测试领域,登录态就是指登录状态。1 登录态的作用作用:用来维持接口的登录状态在浏览器中,我们登录后,浏览器会自动把登录状态保存下来,所以不需要我们管...【详细内容】
2020-07-19  Tags: 接口测试  点击:(136)  评论:(0)  加入收藏
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要...【详细内容】
2020-06-18  Tags: 接口测试  点击:(52)  评论:(0)  加入收藏
接口测试中的接口到底是什么?先看一道题,请找出以下可以被成为接口的选项:◆ USB◆ 水龙头◆ 用户界面UI◆ 函数◆ https://www.baidu.com◆ https://api.github.com接口的英文...【详细内容】
2020-05-03  Tags: 接口测试  点击:(73)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条