JMeter学习-3 JMeter的组件
1.测试计划
测试的所有内容都是基于一个测试计划,在这个测试计划下再创建和添加其他组件
打开多个测试计划(.jmx结尾的文件)需要打开多个JMeter界面
2.线程组
Threads Users:
性能测试需要模拟大量的用户的访问,线程组就是用来完成该工作的,一个线程组可以看做一个虚拟用户组,线程组中可以设置很多线程,每个线程代表一个虚拟用户,线程组中设置好的线程数量在测试执行过程中不会发生改变。
做性能测试,设置线程组是必不可少的一步,它是一个测试计划的基本组成部分,线程组面板可以设置线程数,多长时间启动设置的线程数,每个线程执行的次数。
3.取样器:
性能测试中向服务器发送请求的元件,模拟用户的一个操作,如果是向服务器发送http请求,那该取样器可以看做是一个没有界面的浏览器;JMeter支持多种不同的取样器,例如HTTP,FTP,JAVA,JDBC等,每一种不同类型的取样器可以根据设置的参数向服务器发出不同类型的请求;
取样器可以理解为:与要测试的系统进行交互的一个媒介
下面分析三种取样器:
Http请求取样器:
JDBC请求取样器:
JDBC的配置元件;
cannot read jdbc driver之类的信息
在测试计划的地方的Add directory将jar包添加进来
具体使用方法见如下文章详细介绍:https://blog.csdn.net/u012167045/article/details/72638507
Java请求取样器:
step:
1>新建普通的java工程
2>添加JMeter的包引用,这些包位于JMeter安装目录/lib/ext下,一般需要ApacheJMeter_core.jar和ApacheJMeter_java.jar这两个依赖;
3>新建一个Java Class,并继承AbstractJavaSamplerClient
AbstractJavaSamplerClient中默认实现4个可以覆盖的方法,分别是
getDefaultParameters setupTest runTest teardownTest 方法。
getDefaultParameters:主要用于设置传入界面的参数
setupTest为初始化方法,用于在执行测试前的一些初始化工作
runTest方法:业务逻辑测试的主体方法
tearDownTest方法可以将一些测试结束需要释放的连接等放入
将java项目打成jar包,copy到JMeter的lib/ext下,然后启动JMeter
注意:
如果jar依赖其他的第三方jar包,需要将依赖的jar包一起放入lib/ext下面
需要重启JMeter
具体使用详细步骤详见以下文章:https://blog.csdn.net/czp11210/article/details/26174969
4.监听器:
1>察看结果树:
2>聚合报告:每个请求的一些响应信息的统计报告;
label:请求名称
Samples:具有相同编号的请求样本数
Average:平均响应的时间 毫秒
Median:50%的样本都没有超过这个时间,这个值是指所有数据按由小到大将其排列,就是排列在第50%的值
90%Line:90%的样本没有超过这个时间
min:最小请求时间
max:最大错误时间
error:错误率
Throughput:吞吐量 每秒接收多少个请求;
Received:收到的千字节每秒额吞吐量测试;
sent KB/sec:发送的千字节每秒的吞吐量测试;
3>图形结果
4>表格查看结果
sample Times:请求时间
latency:网络延迟时间
connect time:连接时间
5.配置元件
1>Http请求默认值:可以供多个http请求使用,路径处因为各个http不一样,所以不使用
2>JDBC连接配置:线程组右键添加JDBC连接配置
3>java请求默认值:请求参数可以配置
4>用户定义的变量:类似于java中的全局变量,使用${变量名称}去引用
6.JMeter定时器
固定时间之后执行
线程组->添加定时器,点击执行的按钮并不会立马执行而是3000也就是3秒后开始执行
7.参数化
options->函数助手->cvsread方式
例如post请求需要参数id,那么参数 id对应的value就是 ${__CSVRead(E:\11.txt,0)}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理