Jmeter使用非 GUI 模式,即命令行模式运行实例讲

时间:2022-11-08 23:47:26

转载:http://www.cnblogs.com/leeboke/p/5238269.html

参考资料:https://girliemangalo.wordpress.com/2009/10/29/jmeter-run-scripts-from-the-console/

结果分析参见:http://www.cnblogs.com/miaomiaokaixin/p/6114756.html

summary +  91773 in 00:00:06 = 15787.5/s Avg:     0 Min:     0 Max:    78 Err: 91773 (100.00%) Active: 20 Started: 20 Finished: 0

解析为:

在6秒的时间内增加请求91773个,平均每秒处理15787.5个请求数目,时间单位为ms,err为错误率,这里百度请求为100%错误是因为百度本身的机制造成的,同一个ip短时间并发请求百度,会拒绝请求所以才会出错,真实情况下执行自己自定义脚本可以根据错误率查看服务器是否能承受住那么大的压力,active为在线用户数,即当前有多少个用户在并发请求

 项目实例:

E:\apache-jmeter-3.1\bin>jmeter -n -t E:\other\jmeter\script\build_ftp_test_plan_20k.jmx -l E:\other\jmeter\report_log\20k_report.jtl

 

E:\apache-jmeter-3.1\bin>jmeter -n -t E:\other\jmeter\script\build_ftp_test_plan_30k.jmx -l E:\other\jmeter\report_log\30k_report.jtl

E:\apache-jmeter-3.1\bin>jmeter -n -t E:\other\jmeter\script\build_ftp_test_plan_300k.jmx -l E:\other\jmeter\report_log\300k_report.jtl

E:\apache-jmeter-3.1\bin>jmeter -n -t E:\other\jmeter\script\build_ftp_test_plan_700k.jmx -l E:\other\jmeter\report_log\700k_report.jtl

 

1. 简介

使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资

本文介绍windows下以命令行模式运行的方法。

1.1. 命令介绍

jmeter -n -t <testplan filename> -l <listener filename> 示例: jmeter -n -t testplan.jmx -l test.jtl 示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl

1.2. 参数介绍

这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令,Jmeter官网用户手册介绍如下:

Jmeter使用非 GUI 模式,即命令行模式运行实例讲
-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
Jmeter使用非 GUI 模式,即命令行模式运行实例讲

具体的含义如下:

Jmeter使用非 GUI 模式,即命令行模式运行实例讲
-h 帮助 -> 打印出有用的信息并退出

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器

-H 代理主机 -> 设置 JMeter 使用的代理主机

-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
Jmeter使用非 GUI 模式,即命令行模式运行实例讲

例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080

2. 实例介绍

2.1. 脚本运行

JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。比如你在 C:\tools\apache-jmeter-2.11\bin 目录下执行以上命令,JMeter 会去该目录下寻找 test.jmx 脚本并把执行结果放在该目录。

如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,需要使用绝对路径告诉 JMeter,如下:

Jmeter使用非 GUI 模式,即命令行模式运行实例讲

上述测试结果展示为:执行3条用例,错误率为33.33%,说明有1条用例执行错误。

2.2. 报告查看

上述的命令有要求测试结果保存到c:\logfile1.jtl中,如果需要可以在GUI模式下查看测试报告。

1、打开Jmeter GUI界面

2、在测试计划下,添加对应的测试报告元件,此处演示,增加了:聚合报告、查看结果树、Summary Report测试报告

3、在所有数据写入一个文件,浏览中选择对应的日志文件

4、下面就会有对应的表格展示,具体见下图

Jmeter使用非 GUI 模式,即命令行模式运行实例讲

 

参考:

自动化工具 Python 调 Jmeter 执行参数化 jmx 脚本