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

news/2025/11/21 13:26:10/文章来源:https://www.cnblogs.com/laoqing/p/19252413

每周读书与学习是由清华大学出版社出版的《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.mzph.cn/news/972044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细介绍:【iOS】自动引用计数(一)

详细介绍:【iOS】自动引用计数(一)2025-11-21 13:21 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

时序数据库选型指南:为什么TDengine正在成为行业标准

在物联网(IoT)、工业互联网(IIoT)、IT运维和金融科技等领域,时序数据正以前所未有的速度增长。面对海量的设备指标、传感器数据和监控日志,选择一个合适的时序数据库(Time-Series Database, TSDB)已成为系统架…

专业的技术文档 | Apache Pulsar 如何满足金融级的容灾场景

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

通用型质量管理SaaS平台的构建逻辑与市场实践‌

一、行业需求的碎片化现实‌ 2018年末中国规模以上企业(年主营业务收入≥2000万元)达37万家,按《国民经济行业分类与代码》划分为1380个细分领域,单个行业的平均企业数量仅约270家,且并非所有企业都会采购质量管理…

SBDAF60V3-ASEMI可直接替代安世PMEG6030EP

SBDAF60V3-ASEMI可直接替代安世PMEG6030EP编辑:ll SBDAF60V3-ASEMI可直接替代安世PMEG6030EP 型号:SBDAF60V3 品牌:ASEMI 封装:SMAF 正向电流:3A 反向电压:60V 正向压降:0.55V~0.95V 引线数量:2 芯片个数:1 芯…

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

function sql的错误处理方法

在处理SQL错误时,可以采用以下方法:使用try-catch语句:在可能抛出异常的代码块中使用try-catch语句,可以捕获并处理异常。在catch语句中,可以根据异常类型进行相应的处理,例如记录日志、显示错误信息等。 使用数…

function sql的示例代码有哪些

以下是一些常见的 SQL 示例代码:创建数据库:CREATE DATAbase database_name;创建数据表:CREATE TABLE table_name (column1 data_type,column2 data_type,... );插入数据:INSERT INTO table_name (column1, column…

【CI130x 离在线】 C++一个类中调用另一个类的方法

有几种解决方案,根据你的具体需求选择: 方案1:传递CISerialPort对象引用(推荐) 在需要使用CheckConnection()的类中持有CISerialPort的引用:cpp// 在需要使用CheckConnection的类中 class MyOtherClass { privat…

ERP/MES与QMS的协同价值:为什么企业需要专业质量管理系统的深度解析

一、质量困局:ERP/MES的局限性 当宝马汽车80%的客户投诉源于供应商来料质量问题时,这暴露出一个行业共性:ERP/MES系统虽已普及,但质量管控仍存在严重短板。以某汽车零部件企业为例,其SAP ERP质量模块仅能实现数据…

PostgreSQL技术大讲堂 - 第111讲:浅谈向量数据库pgvector的使用

PostgreSQL从入门到精通系列课程,100+节PG技术讲解,让你从小白一步步成长为独当一面的PG专业人员,点击这里查看部分免费视频内容。第111讲:浅谈pgvector的使用内容介绍:1、什么是向量数据库2、什么是向量索引3、有…

人大金仓kingbase数据库大小写敏感设置

在不需要备份数据库的情况下 1、停止数据服务,一般在data目录 在kingbase的安装目录,在/kingbase/Server/bin 中运行,./sys_ctl -D /kingbase/data stop2、重新初始化数据库(启用大小写不敏感) 执行命令, ./ini…

详细介绍:数据结构八大排序:堆排序-从二叉树到堆排序实现

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年11月最新推荐!云南旅游旅行社口碑排行榜权威发布,帮你选靠谱服务商避坑指南

云南以多元民族文化与瑰丽自然景观成为旅游热门地,但旅游市场中旅行社质量良莠不齐,隐性消费、行程缩水、服务断层等问题频发:低价团暗藏强制购物陷阱,承诺的非遗体验沦为走马观花,山区线路用车不合规存安全隐患。…

大企业数字化项目失败困局与破局之道

一、大企业数字化项目的高失败率根源 大企业数字化项目失败率居高不下,核心在于其组织特性与数字化建设模式的矛盾。部门复杂、需求多元、人员众多、想法各异的企业生态,必然导致定制开发成为唯一选择。这种模式如同…

2025年11月新推荐!云南旅游旅行社口碑排行榜,权威榜单助选靠谱服务商

云南以多元民族文化与瑰丽自然景观成为旅游热门地,但旅游市场中旅行社质量良莠不齐,隐性消费、行程缩水、服务断层等问题频发:低价团暗藏强制购物陷阱,承诺的非遗体验沦为走马观花,山区线路用车不合规存安全隐患。…

2025 年 11 月实木定制地板厂家推荐排行榜,纯实木地板,原木地板,定制木地板,多层实木地板,环保实木地板公司推荐

2025年11月实木定制地板厂家推荐排行榜 实木定制地板作为高端建筑装饰材料,近年来在商业空间、高端住宅和公共建筑领域的应用日益广泛。随着消费者对环保性、个性化和品质要求的提升,实木定制地板行业正经历从标准化…

评估质量管理软件(QMS)的试金石——试用、试用、还是试用!

近年来,企业信息化建设浪潮席卷全球,但令人遗憾的是,许多项目最终以失败或未达预期告终。面对这一困境,如何确保数字化投入真正产生价值?答案或许简单却至关重要:试用、试用、还是试用! 一、为何必须试用? 想象…

2025 年 11 月机床厂家推荐排行榜,数控机床,智能数控机床,双头对接机床,6150机床,线轨机床,硬轨机床,重型机床公司推荐

2025年11月机床厂家推荐排行榜:数控机床与智能装备选购指南 一、行业背景与发展趋势 随着制造业向智能化、精密化方向快速发展,机床作为工业母机的地位日益凸显。当前,数控机床、智能数控机床等高端装备已成为制造业…

2025 年 11 月硬轨机床厂家推荐排行榜:高刚性硬轨机床,重切削硬轨机床,精密硬轨机床,数控硬轨机床公司推荐

2025 年 11 月硬轨机床厂家推荐排行榜:高刚性硬轨机床,重切削硬轨机床,精密硬轨机床,数控硬轨机床公司推荐 在制造业转型升级的浪潮中,硬轨机床作为工业母机的重要组成部分,其性能直接影响着加工精度和生产效率。…