一、应用场景
1、无需交互界面或受环境限制(linux text model)
2、远程或分布式执行
3、持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于生成报告
二、命令行模式优点
1、节约系统资源:无需启动界面,节约系统资源
2、便捷快速:仅需启动命令行,输入命令便可执行,是为命令达人最爱
3、易于持续集成:可通过shell脚本命令执行
三、JMete执行方式
JMeter执行方式有2种,一种是GUI模式,一种是非GUI模式。GUI模式就是界面模式,非GUI模式就是命令行模式。界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采用命令行模式,因为采用命令行模式可以和持续集成或者其它框架进行对接,做成自动化回归测试平台。
四、JMete非GUI运行优点
JMeter可视化界面及监听器动态展示结果都比较消耗负载机资源,在大并发情况下GUI方式往往会导致负载机资源紧张,会对性能测试结果造成影响。我们就只有多加机器来运行测试计划(分布式测试),这样一台负载机变为两台。所以推荐用非GUI的方式来运行测试计划。虽然非GUI方式不显示界面,但也会以字符形式周期性显示执行结果,对负载机的资源消耗会小一些,所有同等条件下非GUI方式的jmeter机器能够产生的负载会比GUI方式的jmeter产生的负载大一些。
五、jmeter非GU运行参数
命令参数
命令释意
-n
命令行模式
-t
指定jmx脚本地址(地址可以是相对路径,可以是绝对路径)
参数为JMX脚本路径,若非当前目录需用全路径或相对路径。
-l(小L)
指定结果文件路径(jtl或csv)
参数为:结果文件路径。路径不存在时会自动创建。
-j
指定执行日志路径。
参数为:日志路径。路径不存在不会自动创建,同时将日志输出至命令行控制台。
-r
设置分布式(远程)执行。(开启远程负载机)
远程负载机服务器列表由JMETER_HOME\bin\jmeter.properties中remote_hosts指定。
-R
指定远程分布式服务器列表。(开启远程负载机)
参数为:指定远程服务器列表,配置形同remote_hosts指定
-g
指定测试结果文件路径,仅用于生成测试报表
参数为:csv结果文件
-e
设置测试完成后生成测试报表
-o
指定测试报告生成文件夹(文件夹必须存在且为空文件夹)
参数为:报表文件夹路径
-H
设置代理,指定代理服务器域名或代理服务器IP
参数为:代理服务器域名或代理拂去其IP
-P
设置代理端口,指定代理服务器端口号
参数为:代理服务器端口号
-h
查看帮助
-v
查看版本
-X
停止远程执行
六、jmeter非GUI运行命令
非GUI基本命令格式:
jmeter -n -t <test JMX file> -l <test log file>
基本命令样例:
jmeter -n -t E:\testplan.jmx -l E:\read.jtl
非GUI并生成html报告
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
非GUI并生成html报告:
jmeter -n -t E:\testplan.jmx -l E:\read.jtl -e -o E:\ResultReport
非GUI远程启动所有服务器运行JXM文件并保存结果及日志文件
jmeter -n -t test.jmx -r -l report\01-result.csv -j report\01-log.log
含义为:以命令模式远程调用remote_hosts中配置的所有服务器运行test测试文件并保存结果及日志文件,需要注意的是执行端的日志文件默认生成在用户目录下
非GUI远程启动某台服务器运行JXM文件并保存结果及日志文件
jmeter -n -t test.jmx -R 192.168.21.40:1029 -l report\01-result.csv -j report\01-log.log
含义为:以命令模式远程调用192.168.21.40服务器运行test测试文件并保存结果及日志文件
非GUI模式运行并生成log日志文件和html报告
jmeter -n -t F:\test.jmx -l F:test\log\log.log -e -o F:test\\html