Jmeter--命令行使用

为什么需要jmeter的命令行模式?
性能:命令行模式能够比GUI模式节约更多的资源。

Jmeter的命令行的准备工作:
配置系统环境变量,使得能够执行启用jmeter的命令。
增加JMETER_HOME,Path:%JMETER_HOME%\bin
在这里插入图片描述
在cmd中使用jmeter -version查看jmeter的版本,即可查看jmeter是否成功,是否可进入命令行模式。
jmeter的命令行参数的详解:
-n:表示jmeter使用no gui(命令行)模式来启动运行。
PS:该参数不是独立使用的,需要结合其它参数使用才有意义。
-t:指定需要运行的jmeter的脚本。
-l:指定用于存储jmeter的测试结果的结果文件。
一般来说,建议后缀名为*.jtl。
示例:Jmeter -n -t vip.jmx -l results\t1.jtl
表示以命令行模式运行当前路径下的vip.jmx脚本,结果存入当前目录下的results\t1.jtl。
在这里插入图片描述
Err为0表示执行成功。
PS:
生成的jtl结果,可以在jmeter的gui模式下打开任意一个监听器组件来读取显示结果。
在这里插入图片描述
jtl结果的格式、内容都和脚本在图形化模式上所添加的监听器组件无关,只和jmeter的配置文件jmeter.properties有关系。
在jmeter目录下的bin下找到jmeter.properties打开,找到Results file configuration,可查看jmeter结果文件的配置。
在这里插入图片描述

可以看到,对结果的输出支持两种文件格式,csv和xml:
在这里插入图片描述
在打开执行结果后看到请求和响应数据是空的,这时我们可以把支持的结果修改为xml,再查看响应数据:
在这里插入图片描述
这时响应数据就会显示。
每一次运行jmeter的命令行模式,要求-l之后的结果文件的名称发生改变,否则多次运行结果会写入同一个结果文件。

-e:表示jmeter在运行测试之后自动生成html格式的报告。
需要结合-o参数来使用。
-o:该参数是用来指定生成的html报告所存放的位置。
示例:jmeter -n -t vip.jmx -l results\t3.jtl -e -o results\h1
表示以命令行模式运行当前路径下的vip.jmx脚本,结果存入当前目录下的results\t3.jtl。
并且自动生成html格式的报告,存入目录 results\h1。
在这里插入图片描述
PS:使用-e参数,要求结果输出的格式必须是csv格式(默认)。
在这里插入图片描述

-g:表示通过已经存在的jtl结果文件来生成html报告。需要结合-o参数来使用。
示例:
Jmeter -g results\t3.jtl -o results\h3
表示通过已经存在的日志文件results\t3.jtl来生成html报告,存放在目录:results\h3
PS:-o参数之后所跟的目录要求必须是一个空目录。
-j :表示用来指定jmeter运行过程中的运行日志(jmeter工具层面)
-r:表示远程全部启动,即按照jmeter.properties文件中所配置的负载机,执行分布式负载。
-R:表示通过命令行指定的远程负载机来启动分布式负载。此时jmeter.properties文件中所配置的负载机将被忽略。
格式为:-R host1:port1,host2:port2…
PS:无论是-r还是-R,都要求远程负载机的jmeter-server已经启动。
在这里插入图片描述

Jmeter如何接收外部参数呢?
在命令行中修改线程组数量实现自动化。
-D:表示指定properties变量的值。
要求所运行的脚本内部已经接收(定义了properties变量)。
脚本中一般都是通过jmeter所提供的__P函数来实现接收和定义。
在脚本中加入:
${__P(thread.num,)}
${__P(loop.num,)}
示例:jmeter -n -t vip.jmx -l results\t3.jtl -e -o results\h3 -Dthread.num=8 -Dloop.num=8
在这里插入图片描述

生成:
在这里插入图片描述
使用:
在这里插入图片描述
命令行中使用定义的线程数和循环次数变量:
在这里插入图片描述

发布了9 篇原创文章 · 获赞 0 · 访问量 276

猜你喜欢

转载自blog.csdn.net/u013465115/article/details/104456428