当前位置: 首页 > news >正文

每周读书与学习-JMeter性能测试脚本编写实战(一)-如何实现用户需先登录,然后再请求别的接口

每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。

在前面的学习中,介绍了很多Jmeter的理论知识,包括Jmeter中很多不同元件的详细介绍以及每个元件的作用,本次主要从实践的角度来介绍怎么用这些元件来完成常见性能测试脚本的编写,将会介绍一些常见的性能测试脚本编写案例。

1、如何实现用户需先登录,然后再请求别的接口

在性能测试中,如果对一个系统进行性能压测时,往往经常会需要先进行一次登录,在登录完成后,才能去对接下来的接口进行性能压测,因为如果没有登录成功的话,就无法完成后续的步骤,而且这也符合真实的用户场景,用户访问一个系统时,通常都是需要先登录后,才能进入到系统中做其他的操作,如下图所示。

在Jmeter中,如果要完成这样一个常见场景的性能测试脚本的编写,主要需要用到Jmeter的逻辑控制器中的仅一次控制器以及配置管理器下的HTTP Cookie管理器,如下图所示,是以先登录CSDN(网址:https://blog.csdn.net/)博客,然后再进行关键字搜索的真实案例的性能测试脚本的编写过程,每个主要元件的作用描述如下。

  • 仅一次控制器:主要是用于控制每次需要先进行一次登录,而且一旦登录完成后,后面就不需要再进行登录了。
  • HTTP Cookie管理器:主要用于自动存储登录成功后的Cookie,并且让取样器在调用后续的接口做性能压测时,每次都会自动带上这个Cookie,如下图所示。
  • HTTP请求取样器:由于CSDN博客网站是通过https协议在浏览器中进行访问,所以需要使用Jmeter中的HTTP请求取样器来模拟登录请求和关键字的搜索请求。
  • 查看结果树:主要用于在调试Jmeter测试计划中的脚本时,通过查看结果树来查看取样器发出请求的请求报文和响应结果等信息。

从上图中可以看到,登录CSDN时,需要以POST的请求的形式调用CSDN博客网站的登录接口/v1/register/pc/login/doLogin,并且以Body消息体数据的形式传入登录请求的参数。

从上图中可以看到,当HTTP请求是一个通用的标准的Cookie管理形式时,只需要添加HTTP Cookie管理器,在HTTP Cookie管理器中不需要做任何的其他配置。

如下图所示,为调用CSDN的搜索接口进行搜索,由于该搜索是一个GET形式的请求,所以在HTTP请求取样器中,选择了GET请求,并且在路径中,输入CSDN的搜索接口的请求路径/api/v1/search_top_data,请求参数中,分别填入:

  • 请求参数q:填入需要进行搜索的关键字 。
  • 请求参数t:填入需要进行搜索的范围。

在完成上述的Jmeter元件添加以及配置后,即可运行Jmeter性能测试计划,并且通过查看结果树来查看取样器的运行的结果,如下图所示。

从上图中可以看到,HTTP请求取样器在发起对CSDN的搜索请求时,已经自动携带了登录后的Cookie数据了。

如下图所示,当将HTTP Cookie管理器禁用后,然后再重新发起请求后,通过查看结果树查看取样器的运行结果时发现此时取样器发起对CSDN的搜索请求中,不再会自动携带登录后的Cookie数据,从图中可以看到此时显示的是no cookies,从这个示例中也可以直接看出HTTP Cookie管理器的直接作用就是自动存储登录成功后的Cookie,并且让取样器在调用后续的接口时,每次都会自动带上这个Cookie。

2、本次学习总结

读者们需要能在Jmeter工具下完成常见的性能测试脚本的编写,能完成一些常见的HTTP请求以及数据库请求的性能压测,每天学习一个知识点,持续让自己提高和进步。

出处:本次学习的内容参考自清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书

http://www.jsqmd.com/news/46552/

相关文章:

  • 详细介绍:【iOS】自动引用计数(一)
  • 时序数据库选型指南:为什么TDengine正在成为行业标准
  • 专业的技术文档 | Apache Pulsar 如何满足金融级的容灾场景
  • 通用型质量管理SaaS平台的构建逻辑与市场实践‌
  • SBDAF60V3-ASEMI可直接替代安世PMEG6030EP
  • Ubuntu 框架使用 Docker 部署 Jenkins 详细教程
  • function sql的错误处理方法
  • function sql的示例代码有哪些
  • 【CI130x 离在线】 C++一个类中调用另一个类的方法
  • ERP/MES与QMS的协同价值:为什么企业需要专业质量管理系统的深度解析
  • PostgreSQL技术大讲堂 - 第111讲:浅谈向量数据库pgvector的使用
  • 人大金仓kingbase数据库大小写敏感设置
  • 详细介绍:数据结构八大排序:堆排序-从二叉树到堆排序实现
  • 2025年11月最新推荐!云南旅游旅行社口碑排行榜权威发布,帮你选靠谱服务商避坑指南
  • 大企业数字化项目失败困局与破局之道
  • 2025年11月新推荐!云南旅游旅行社口碑排行榜,权威榜单助选靠谱服务商
  • 2025 年 11 月实木定制地板厂家推荐排行榜,纯实木地板,原木地板,定制木地板,多层实木地板,环保实木地板公司推荐
  • 评估质量管理软件(QMS)的试金石——试用、试用、还是试用!
  • 2025 年 11 月机床厂家推荐排行榜,数控机床,智能数控机床,双头对接机床,6150机床,线轨机床,硬轨机床,重型机床公司推荐
  • 2025 年 11 月硬轨机床厂家推荐排行榜:高刚性硬轨机床,重切削硬轨机床,精密硬轨机床,数控硬轨机床公司推荐
  • 重构lazarus时出现Error: linker: pipe: No such file or directory的解决方法
  • function sql的版本兼容性如何
  • Java 分哪些版本 都有什么不同
  • QMS软件评估:从制造企业实践看标准产品的多维评估框架
  • 2025 年 11 月重型机床厂家推荐排行榜,龙门铣床,落地镗铣床,数控立式车床,深孔钻镗床公司推荐,专业制造与高效加工口碑之选
  • 2025AI直播服务公司品质榜TOP5:智能交互技术,高清画质工艺解析
  • 2025年云南短视频制作公司品质榜单TOP5评测:AI协同生产流程,口碑数据拆解
  • 2025 年 11 月 6150 机床厂家推荐排行榜,普通车床,数控车床,精密机床,重型机床公司推荐,实力与口碑双重保障
  • 2025 年 11 月线轨机床厂家推荐排行榜,精密线轨机床,高速线轨机床,数控线轨机床,重型线轨机床公司推荐
  • 2025 年 11 月智能数控机床厂家推荐排行榜,高精度数控机床,多功能数控机床,自动化数控机床,高效数控机床公司推荐