既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-R 远程执行 -> 远程执行机的IP(ip地址)如果有多个ip时,使用-R 192.168.2.170,192.168.2.171(分布式使用)
-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器(分布式使用)
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
##### **2.3、执行过程**
命令:jmeter -n -t C:\Users\yzs\Desktop\Unione\_performance.jmx -l report\03-result.jtl
![](https://img-blog.csdnimg.cn/img_convert/374556eda2eb58b169263828603ff263.png)
不在jmeter安卓目录执行脚本的前提是配置了jmeter的环境变量。
2.4、报告查看
上述的命令有测试结果保存到D:\report中,在GUI模式下查看测试报告:
1、在测试计划下,添加对应的测试报告元件,举例增加了:查看结果树、聚合报告
2、在“所有数据写入一个文件”,选择加载对应的结果文件
3、下面就会有对应的表格展示,具体见下图
![](https://img-blog.csdnimg.cn/img_convert/a011f5b8311209d469157fabd434965d.png)
**2.5、命令行传递变量值**
设置线程组的线程数和循环次数。
注意格式:
${\_\_P(threadNum)}
${\_\_P(threadCount)}
其中P前面是两个下划线,()内就是变量名
![](https://img-blog.csdnimg.cn/img_convert/2d2e7f101a4b0f4a619533e249b4444d.png)
执行时,在命令行中用-J参数给变量赋值即可:
jmeter -n -t C:\Users\yzs\Desktop\Unione\_performance.jmx -J threadNum=10 -J threadCount=2 -l report\03-result.jtl
此次测试相当于:10个线程,循环2次,共计20个请求。
3、生成HTML报告
生成HTML报告有2种方式,一种是直接在命令行加上-o参数,另一种是已有jtl结果文件,运行命令生成报告
3.1、命令行直接生成报告
jmeter -n -t 【Jmx脚本位置】-l 【中间文件result.jtl位置】-e -o 【报告指定文件夹】
-e:测试结束后,生成测试报告
-o:指定测试报告的存放位置
![](https://img-blog.csdnimg.cn/img_convert/fcc75dc97a7637c79999db53dffef721.png)
![](https://img-blog.csdnimg.cn/img_convert/8d3668abb63c88036b0211d47c08bb93.png)
注意:-o后面跟的文件夹一定是**不存在的**或者是**空文件夹**
**3.2、已有jtl结果文件,运行命令生成报告**
jmeter -g【已经存在的.jtl文件的路径】-o 【用于存放html报告的目录】
![](https://img-blog.csdnimg.cn/img_convert/4d546c9961c772f66555e7e30b8baea6.png)
注意:经实操,windows系统上,以上2种方法都可以生成HTML测试报告,但是在Linux系统上第1种方法,没有生成报告,只有第二种方法才可以(具体原因后面在慢慢找吧)
****3.3、HTML报告注解****
用浏览器打开index.html
![](https://img-blog.csdnimg.cn/img_convert/7d2ae98bfc2330c36530b2111951099a.jpeg)
报告详解
Dashboard:(重点查看)
Test and Report informations:指的是测试和报告信息
File:测试结果的保存文件名称
Start Time:测试开始时间
End Time:测试结束时间
Filter for display展示过滤器
APDEX(Application Performance Index):应用程序性能满意度的标准
其中,
“Apdex”范围在0-1之间,1表示达到所有用户均满意,越接近1满意度越高
“toleration threshold”:耐受阈值(0.5秒)
“frustration threshold”:挫败阈值(1.5秒)
Requests Summary:请求的通过率(OK)与失败率(KO),百分比显示
Statistics:数据分析,基本将Summary Report和Aggrerate Report的结果合并(平均响应时间、TPS在此查看)
Errors:错误情况,依据不同的错误类型,将所有错误结果展示
关于Apdex的补充:
性能指数,Apdex(Application Performance Index)是一个国际通用标准,Apdex 是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。下图表示为通用用户满意度区域,0代表没有满意用户,1则代表所有用户都满意。实际业务系统开发过程中,1是团队的追求目标。
![](https://img-blog.csdnimg.cn/img_convert/24a66c51ac7e7daa095c26c6dc9eb742.png)
若所有请求的Apdex值都接近1,说明用户满意度优秀,也从侧面说明了服务器响应速度快。
通常而言,**最低要求超过0.5**,当然项目组可设定具体需求。
![](https://img-blog.csdnimg.cn/img_convert/10037e9976cbfa8128acfcc496377391.png)
Charts:(辅助分析)
主要有如下特点:
(1)将测试过程中经常使用的数据,用图表的形式展示,让测试结果更加直观
(2)每个图表数据,有两种展示形式
(3)支持请求样例过滤显示
(4)支持导出PNG图片格式
Over Time Charts:
Response Times Over Time:每秒钟响应时间,X轴表示的是系统运行的时刻,Y轴表示的是响应时间,F(X,Y)表示系统随着时间的推移,系统的响应时间的变化,可以看出响应时间稳定性
Bytes Throughput Over Time:字节接收与发送的数量,每秒传输字节吞吐量,表明Jmeter在测试时,随着时间推移发送和接收的字节数
Latencies Over Time:延迟时间
Throughput Charts:
Hits Per Second: 每秒点击率
Codes Per Second:每秒状态码数量
Transactions Per Second:每秒事务量
Response Time Vs Request:响应时间点请求的成功与失败数
Latency Vs Request:延迟时间点请求的成功与失败数
Response Times Charts:
Response Time Percentiles:响应时间百分比
Active Threads Over Time:激活线程数
Time Vs Threads:响应时间用户数, X轴表示的是活动线程数,也就是并发访问的用户数,Y轴表示的是响应时间,F(X,Y)表示在某种并发量的情况下,系统的响应时间是多少
Response Time Distribution:响应时间分布
3.4、HTML报告的自定义配置
JMeter3.0开始在bin目录新增了reportgenerator.properties文件保存了所有关于图形化HTML报告生成模块的默认配置,要变更配置,建议不要直接编辑该文件,而是推荐在user.properties中去配置和覆盖。
3.4.1总体配置
总体配置都是以jmeter.reportgenerator.为前缀,如:jmeter.reportgenerator.overall\_granularity=60000
overall\_granularity:定义采样点粒度,默认为60000ms,通常在稳定性以外的测试中,我们可能需要定义更细的粒度,比如1000ms,我们可以在user.properties文件末尾添加如下配置
# Change this parameter if you want to change the granularity of over time graphs.
jmeter.reportgenerator.overall\_granularity=6000
report\_title:定义报告的标题,我们可能需要将标题定义为实际测试项名称
apdex\_satisfied\_threshold:定义Apdex评估中满意的阈值(单位ms)
apdex\_tolerated\_threshold: 定义Apdex评估中可容忍的阈值
Apdext = (Satisfied Count + Tolerating Count / 2) / Total Samples
另外,在jmeter.properties中,有关于集合报告中的三个百分位的默认值:
![img](https://img-blog.csdnimg.cn/img_convert/7fc6834dc4f45edf2c499278968c284c.png)
![img](https://img-blog.csdnimg.cn/img_convert/711acb14edf61d6f95071b02dcc95ba9.png)
![img](https://img-blog.csdnimg.cn/img_convert/6184debfb2e0e385409b65535c49d2d6.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
-1715800022520)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**