命令模式下执行jmx文件
jmeter -n -t fatie.jmx -l results\t4.jtl -e -o results\h1
表示以命令行模式运行当前目录下的脚本fatie.jmx,将结果存入当前目录下的results\t1.jtl,并且生成html格式的报告,写入文件夹results\h1。
说明:生成结果的文件夹results\h1不能有数据,执行前需要清空,如果不清空,会运行失败
如果不清空,如下图提示
外部传参的控制,比如调整线程数
·JMeter的命令行参数详解:
·-v:该参数是用来查看当前的JMeter的版本。
·-?:该参数是用来查看JMeter的命令行参数列表的信息。
·-h:该参数是用来查看JMeter官方给出的常用的命令行参数使用帮助文档。
·-n:n表示non-GUI,表示以非GUI模式,即命令行模式来运行和启动JMeter。
PS:该参数不能单独使用,必须结合其它参数一起使用,至少包含-t参数。
·-t:t表示testFile,表示用来指定要执行的JMeter的脚本。
示例:
jmeter -n -t fatie.jmx
表示以命令行模式运行当前目录下的脚本fatie.jmx。
虽然可以运行,但是这个组合不能记录测试结果。
·-l:l表示test log,表示用来指定用于存储测试结果的结果文件。
PS:
一般来说,结果文件的后缀名,建议使用*.jtl。
示例:
jmeter -n -t fatie.jmx -l results\t1.jtl
表示以命令行模式运行当前目录下的脚本fatie.jmx,并且将结果存入当前目录下的results\t1.jtl。
PS:
·*.jtl结果文件可以在GUI模式下,添加监听器组件,然后通过组件页面中的菜单 :文件--浏览,找到*.jtl文件进行读取。
·在命令行模式下,决定结果文件的写入格式以及写入内容的,不是GUI模式下所添加的监听器。而是由JMeter的配置文件jmeter.properties来决定。
属性:
# Results file configuration
#jmeter.save.saveservice.output_format=csv
该属性可以设置为csv或者xml。
使用xml格式能够存储更多的信息(请求和响应数据等),结果文件更大。
#jmeter.save.saveservice.response_data=false
默认不存储服务器响应的数据,根据需要进行修改。
#jmeter.save.saveservice.samplerData=false
默认不存储发送出去的数据,根据需要进行修改。
·如果两次命令,jtl结果文件的名称一致,则JMeter将采用追加而不是覆盖的方式写入结果。
这就意味着如果结果文件不变,则多次结果会写入到同一个结果文件中,数据会混乱。
·-e:表示生成html格式的报告。
PS:该参数不能丹单独使用,必须结合-o参数一起使用。
·-o:表示指定用于存储html报告的文件夹。
PS:要求文件夹必须不存在或者为空。
示例:
jmeter -n -t fatie.jmx -l results\t4.jtl -e -o results\h1
表示以命令行模式运行当前目录下的脚本fatie.jmx,将结果存入当前目录下的results\t1.jtl,并且生成html格式的报告,写入文件夹results\h1。
PS:
生成HTML的报告,图表中的采样频率默认是60s。我们可以根据需要进行调整。
通过修改jmeter的bin目录下的配置文件:reportgenerator.properties
属性:
#jmeter.reportgenerator.overall_granularity=60000
jmeter.reportgenerator.overall_granularity=1001
该值最小是1001毫秒。