非GUI模式下如何传参
Jmeter 有两种模式,GUI模式和非GUI模式,通常使用GUI模式编辑脚本,使用非GUI模式运行压测,官网上有强调,尽量使用非GUI模式,因为GUI模式下,jmeter UI组件本身在压测过程中会占用很多物理资源
命令行运行jmeter
-n 表示non gui,
-t 用于指定jmx文件,
-l为输出的jtl结果,
-e 表示生成报表(默认html格式)
-o 表示结果输出到哪个文件夹
./apache-jmeter-3.3/bin/jmeter -Jnum=50 -Jtime=43200 -n -t test.jmx -l result.jtl -e -o report
看下执行结果,可以看到有打印活跃的线程数,以及进度和时间等。
具体相关参数,执行jmeter -h即可获得相应的帮助,这里有简单的说明
执行完命令之后,会在当前目录下生成report文件夹,里面的内容如下,打开index.html文件,就可以看到相关的报告的拉,这里就不详述了,各位自己测试下就可以
非GUI模式下如何传参
命令行下,怎么传参,这个是一定会遇到的问题,需要使用jmeter的函数 ${__P(变量名, 默认值)},
例如我定义一个线程组,我希望在运行时指定线程数(并发用户数)和运行时间,如下图所示,我定义了个变量,num,代表线程数
然后执行的时候,使用 -Jxxx 进行传参
./apache-jmeter-3.3/bin/jmeter -Jnum=50 -n -t test.jmx -l result.jtl -e -o report
已有jtl结果文件,如何生成html报表
使用命令
jmeter -g result.jtl -o output