JMeter 命令行测试
为什么需要jmeter的命令行?
性能:JAVA不是一种用于GUI的语言,进行性能测试时,建议使用命令行模式,能够节省资源,运行更多的虚拟用户。
持续集成:一般来说,jmeter不论和何种工具进行集成(如:jenkins),其本质都是和Jmeter的命令行运行有关。
配置Jmeter环境变量
https://www.cnblogs.com/sunlin1107/p/16620997.html
1.windows11桌面右键-显示设置-系统
2.点击左侧第一行:系统-右下角点击:系统信息-高级系统配置-环境变量
3. 配置环境变量第一步
1:在系统变量-新建JMETER_HOME(全部大写)环境变量,变量值为JMeter解压后的路径
变量:JMETER_HOME
值:jmeter安装路径 如:C:\jmeter\apache-jmeter-5.5
配置环境变量第二步
在系统变量中,双击classpath变量在值后面加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar; 点击确定
配置环境变量第三步
在系统变量中,双击“Path”变量,新建添加内容“%JMETER_HOME%\bin”,点击确定。
cmd 命令行输入jmeter,如果出现如下图可打开jmeter,则配置成功,可打开jmeter。
Jmeter的命令行参数详解
?:该参数是用来显示Jmeter的参数列表
-h:该参数是用来显示jmeter的官方的命令行帮助文档。
-n:noGUI,表示以命令行模式来运行jmeter。(该参数不能单独使用,必须要结合其他参数一起使用)
-t:表示用来指定需要执行的测试脚本(testPlan)(一般来说,Jmeter的脚本后缀是*.jmx)
示例:jmeter -n -t baiduTEST.jmx
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx
-l:该参数是用来指定用于存储jmeter的测试结果的文件(一般使用*.jtl作为测试结果的文件后缀名)
示例:jmeter -n -t baiduTEST.jmx -l results/t1.jtl
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx,并且将测试结果存入当前目录下的results/t1.jtl文件中。
查看测试结果:
使用GUI模式下,在任意一个监听器组件中以浏览的方式打开读取测试结果文件:
监听器右键不可直接打开读取,会报错:
Jmeter参数配置
命令行模式下执行测试,最终写入结果的数据和GUI模式下脚本所添加的监听器组件无关,和jmeter的配置文件jmeter.properties有关。
一般不保存为xml格式,一般保存为csv格式,但是csv格式下”查看结果树“无法查看响应数据,但可以用汇总报告或聚合报告查看运行结果。
注意:若**-l**的值(测试结果文件名)未改变,同一测试脚本多次运行后,测试结果会以追加方式存入结果文件。测试报告结果异常,无法参考,因此需要注意,每次运行脚本需要保存的结果文件名不可重复。
若多次运行后,保留结果的文件类型不同(csv,xml),测试结果文件无法打开,测试结果报废。
-e:该参数表示生成HTML格式的测试报告。(该参数不能单独使用,结合其他参数一起使用:-o)
-o : 该参数用来指定用于存储html格式的报告的文件夹。文件夹必须不存在或者为空。
示例:jmeter -n -t baiduTEST.jmx -l results/t2.jtl -e -o results/h2
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx,并且将测试结果存入当前目录下的results/t2.jtl文件中。并且生成html报告,存入文件夹 results/h2。
-g:该参数是用来基于已经存在的jtl结果文件生成HTML报告的。(需要结合参数-o一起使用)
示例:jmeter -g results/t1.jtl -o results/h1
注意:-g生成HTML报告,仅支持csv格式的结果文件,不支持xml格式。
Jmeter生成报告的配置项主要通过jmeter-bin目录下reportgenerator.properties配置文件来控制的,主要设置的是报告的取样频率,默认一分钟,必须大于1s,1001ms。
外部传参
希望通过外部传参的方式,影响jmeter脚本的执行,防止每次需要手动在GUI界面修改脚本线程数 。
外部传参一般通过-D属性来实现参数值的传递,一个-D一次只能传递一个参数。
操作步骤:
1.脚本改造:
jmeter是通过properties变量来实现外部参数的接收和处理
需要对脚本中所有希望从外部参数获取值的地方进行改造,一般来说,将固定值替换为properties变量的调用。
函数助手;
-p或-proper
属性名称(自定义,建议有意义):如线程数:thread.num 循环次数:loop.num
默认值1
生成变量名:KaTeX parse error: Expected group after '_' at position 2: {_̲_P(thread.num,1…{__P(loop.num,1)}
在线程组页面,输入变量名代替,设置变量后保存脚本才生效!!!
2.脚本调用:
Jmeter的命令行参数中,有3个参数是和properties变量的传递有关:
-D:表示传入的是system properties (JVM),
-J:表示传入的是Jmeter properties变量
一般情况下,-D和-J是通用的,等价的。
-G:表示传入的是Global properties变量
该参数仅用于分布式负载时,从控制机向负载机传递参数值。
注意:一般来说,-D和**-J是没有区别的,而如果要进行分布式负载时,必须且只能使用-G**来实现properties变量的传递,否则负载机接收不到值。
示例:jmeter -n -t baiduTEST.jmx -l results/t5.jtl -Dthread.num=9 -Dloop.num=9
jmeter -n -t baiduTEST.jmx -l results/t5.jtl -Dthread_num=9 -Dloop_num=9
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx,传入两个system properties变量的值,并将测试结果存入当前目录下的文件results/t5.jtl中。
JMeter 命令行测试相关推荐
- jmeter命令行运行-分布式测试
秒秒开心 jmeter命令行运行-分布式测试 上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmet ...
- I.MX6 Android CAN 命令行测试
/********************************************************************** I.MX6 Android CAN 命令行测试* 说明: ...
- 安装jdk配置环境、cmd命令行测试环境变量配置是否正确及运行java程序、安装IDEA编写代码测试
文章目录 1.安装jdk配置环境 2.cmd命令行测试环境变量配置是否正确及运行java程序 3.安装IDEA编写代码测试 1.安装jdk配置环境 首先打开官网Oracle https://www.o ...
- linux bt测试命令,Android命令行测试BT,WIFI,Sensor工作状态
//命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...
- Android命令行测试BT WiFi Sensor工作状态
//命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...
- (OK) Android命令行测试BT,WIFI,Sensor工作状态 — svc
http://blog.chinaunix.net/uid-25909619-id-3554423.html //命令行测试wlan //加载驱动 #insmod /system/lib/module ...
- 命令行测试BT,WIFI,Sensor工作状态
//命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...
- 命令行测试网速_3个方便的命令行互联网速度测试
命令行测试网速 能够验证网络连接速度使您可以控制计算机. 可以通过命令行检查Internet和网络速度的三个开源工具是Speedtest,Fast和iPerf. 速度测试 Speedtest是一个古老 ...
- Jmeter——Jmeter之命令行测试
一. 命令行参数 1.每次启动Jmeter都会出现下面的提示 不要使用GUI模式去负载测试,GUI模式仅仅使用为编写脚本并调试 使用非GUI模式可以节省负载机资源,测试结果更加准切 配置环境变量 ex ...
最新文章
- python实现录音并去燥_Python实现电脑录音(含音频基础知识讲解)
- 菜鸟学习计划浅谈之Linux系统
- Linux下如何启用MySQL数据库远程访问
- mysql删除表命令语句_MySQL增删改查语句命令(一)
- Mysql utf8 和utf8mb4 的区别
- Python实现机器学习
- mysql金钱默认字段格式化_在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数?...
- 按键精灵基础插件介绍,值得收藏呀
- 无基础如何备考软考软件设计师?
- dvi线支持多少分辨率_dvi接口有哪几种_dvi支持最大分辨率
- systemverilog之覆盖率
- mysql workbench中PK,NN,UQ,BIN,UN,ZF,AI字段类型标识说明
- 【论文阅读】Stroke Controllable Fast Style Transfer with Adaptive Receptive Fields
- 电子商务网站之购买欲望和购买目标
- 闵帆老师《论文写作》心得体会
- 联想天逸无法进入bios
- 苹果手机怎么编辑word文档_Word文档怎么转化为pdf格式?办公必备方法!
- Java中super详解
- location.href 与 location.search
- 分页 pti_计算pti的历史