一. 简介
1.1、应用场景
1、无需交互界面或受环境限制(linux text model)
2、远程或分布式执行
3、持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于生成报告
1.2、命令行模式优点
1、节约系统资源:无需启动界面,节约系统资源
2、便捷快速:仅需启动命令行,输入命令便可执行,是为命令达人最爱
3、易于持续集成:可通过shell脚本命令执行
本文介绍windows下以命令行模式运行的方法。
jmeter -n -t <testplan filename> -l <listener filename>
示例: jmeter -n -t testplan.jmx -l test.jtl
示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl
这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令,Jmeter官网用户手册介绍如下:
-h, –help -> prints usage information and exit
-n, –nongui -> run JMeter in nongui mode
-t, –testfile <argument> -> the jmeter test(.jmx) file to run
-l, –logfile <argument> -> the file to log samples to
-r, –runremote -> Start remote servers (as defined in remote_hosts)
-H, –proxyHost <argument> -> Set a proxy server for JMeter to use
-P, –proxyPort <argument> -> Set proxy server port for JMeter to use
具体的含义如下:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080
二. 实例介绍
JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。比如你在 C:\tools\apache-jmeter-2.11\bin 目录下执行以上命令,JMeter 会去该目录下寻找 test.jmx 脚本并把执行结果放在该目录。
如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,需要使用绝对路径告诉 JMeter,如下:
上述测试结果展示为:执行3条用例,错误率为33.33%,说明有1条用例执行错误。
上述的命令有要求测试结果保存到c:\logfile1.jtl中,如果需要可以在GUI模式下查看测试报告。
1、打开Jmeter GUI界面
2、在测试计划下,添加对应的测试报告元件,此处演示,增加了:聚合报告、查看结果树、Summary Report测试报告
3、在所有数据写入一个文件,浏览中选择对应的日志文件
4、下面就会有对应的表格展示,具体见下图
三.分布式执行
3.1分布式(远程)执行默认服务器列表
|
命令行窗口输出如下所示:
执行机命令行输出如下所示:
执行机(Slave)端的日志文件默认生成在用户目录下。
若出现如下图所示情况,请检查:网络是否畅通、服务器域名(IP)及端口是否正确、执行机是否启动 jmeter-server.bat 或 jmeter-server
3.2 分布式(远程)执行执行服务器列表
|
命令行窗口输出如下所示:
四.参考资料
1 . https://girliemangalo.wordpress.com/2009/10/29/jmeter-run-scripts-from-the-console/
2. 实际执行过程中在cmd中进入e:\jmeter\bin目录方法:
e:
cd e:\jemer\bin