使用CLI模式运行测试用例 ,需要配置Jmeter环境变量或进入Jmeter的bin目录下运行命令行执行
CLI模式运行示例:
1、仅执行并生成结果文件,执行前删除已有结果文件或测试报告文件夹(如果有)
jmeter –n –t test.jmx –f –l testlog.jtl
2、执行、生成结果文件、生成html报告并保存报告到指定文件夹
jmeter –n –t test.jmx –l testlog.jtl –e –o report
3、执行测试并指定代理服务器
jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000
4、指定线程数、循环次数
Jmeter –JThreadsCount=100 –JLoopCount=-1 –n –t test.jmx –l testlog.jtl
需脚本线程数设置:${__P(ThreadsCount,1)},循环次数设置:${__P(LoopCount,1)}
需要注意的是,如果使用了分布式测试,则需要将-J 改为 -G
5、指定测试服务器域名与端口
Jmeter –JServerIP=192.168.1.36 –JPort=8080 –n –t test.jmx –l testlog.jtl
此命令使用与指定线程数、循环测试方法类似,但不建议使用,测试时直接修改脚本为佳
6、启动remote_hosts分布式测试
jmeter –n –t test.jmx –l testlog.jtl –e –o report –r
注意:如果此处使用-R serverIP port模式,将启动指定的远程压力机,配置文件中设置的remote_hosts属性将被此设置覆盖,类似指定远程压力机执行测试
对于负载测试,强烈建议在此模式下运行JMeter(CLI命令行模式),以从中获得最佳结果。
完整的命令行模式可用参数如下:
-?
打印命令行选项并退出
-h,–help
打印使用信息并退出
-v,–version
打印版本信息并退出
-p,–propfile <参数>
要使用的jmeter属性文件
-q,–addprop <参数>
其他JMeter属性文件
-t,–testfile <参数>
要运行的jmeter test(.jmx)文件
-l,–logfile <参数>
将样本记录到的文件
-i,–jmeterlogconf <参数>
jmeter日志记录配置文件(log4j2.xml)
-j,–jmeterlogfile <参数>
jmeter运行日志文件(jmeter.log)
-n,–nongui
在命令行模式下运行JMeter
-s,–server
运行JMeter服务器
-H,–proxyHost <参数>
设置供JMeter使用的代理服务器
-P,–proxyPort <参数>
设置代理服务器端口以供JMeter使用
-N,–nonProxyHosts <参数>
设置非代理主机列表(例如* .apache.org | localhost)
-u,–username <参数>
设置JMeter使用的代理服务器的用户名
-a,–password <参数>
设置JMeter使用的代理服务器的密码
-J,–jmeterproperty <参数> = <值>
定义其他JMeter属性
-G,–globalproperty <参数> = <值>
定义全局属性或属性文件(发送到服务器)
例如-Gport = 123
或-Gglobal.properties
-D,–systemproperty <参数> = <值>
定义其他系统属性
-S,–systemPropertyFile <参数>
其他系统属性文件
-f,-forceDeleteResultFile
在开始测试之前,强制删除现有结果文件和Web报告文件夹(如果存在)
-L,–loglevel <参数> = <值>
[类别=]级别,例如jorphan = INFO,jmeter.util = DEBUG或com.example.foo = WARN
-r,-runremote
启动远程服务器(在remote_hosts中定义)
-R,–remotestart <参数>
启动这些远程服务器(覆盖remote_hosts)
-d,–homedir <参数>
要使用的jmeter主目录
-X,–remoteexit
测试结束时退出远程服务器(CLI模式)
-g,–reportonly <参数>
仅从测试结果文件生成报告仪表板
-e,–reportatendofloadtests
负载测试后生成报告仪表板
-o,–reportoutputfolder <参数>
报告仪表板的输出文件夹