非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

看下执行结果,可以看到有打印活跃的线程数,以及进度和时间等。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uYa8FLXH-1688019435512)(media/16880184454341/16880186606909.jpg)]

具体相关参数,执行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