零基础性能测试实战直播班招生中,多种优惠进行中,优惠无套路,开课你决定       |       python自动化测试班-轻课模式,随到随学

咨询QQ:2083503238、1684129674、480934277(请勿重复咨询) 咨询微信:qiangfans

jmeter学习指南之非GUI命令行运行详解

2019-01-26 20:13:00
小静
原创 1470 投稿得红包

点击链接加入QQ群229390571(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa


一、为什么要用命令行运行jmeter?

主要有以下三点:

1) 图形化界面消耗更多资源,如CPU和内存,容易使压力机达到瓶颈,从而影响测试结果。

2) 图形化界面不支持大型的负载测试和性能测试,并发较大时,jmeter会崩溃。

3) 命令行方式可以把脚本配置到Jenkins上实现持续集成,做成自动化测试。

二、解读命令行参数

1、常用格式

jmeter -n -t [jmx脚本路径] -l [测试输出结果文件路径]

参数解释:

-n: 表示 non gui mode,就是非图形化模式
 
-t: 即testplan,后跟要运行的jmeter脚本的路径和脚本名称。
 
    若指定路径下没有指定名称的脚本,则自动创建。
 
    若没有路径只写脚本名称,则默认是在当前目录查找或创建。
 
-l: 后跟输出结果文件路径和结果文件名称。
 
    若指定路径下没有指定名称的脚本,则自动创建,可以生成csv或者jtl文件。
    
    若只写脚本名称,则默认是在当前目录查找或创建。
 
示例: jmeter -n -t testplan.jmx -l test.jtl
 
示例含义:以命令行模式运行当前目录下的testplan.jmx文件,并在当前目录下输出日志文件test.jtl
 
2、其它参数命令:

jmeter -n -t test.jmx -R 10.6.5.31,10.6.5.32 -l log.jtl
 
jmeter -n -t test.jmx -l  log.jtl -H 192.168.1.1 -P 8080
 
-r/R 远程执行 -> 启动远程服务,即分布式执行多台压力机
 
-H 代理主机 -> 设置 JMeter 使用的代理主机
 
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
 
使用-R指定节点时,要首先在这些节点上启动jmeter-server的服务

Linux和windows系统下运行jmeter命令行

三、Linux系统运行jmeter命令行

1、修改配置文件

如果你是第一次使用命令行执行测试脚本,那么看到的输出结果可能是类似下面这样的:

这些信息仅仅告诉我们执行成功啦。

但是我想要看到本次测试的更多结果,要怎么办呢?

可以通过修改jmeter.properties配置文件来解决:


将上面的注释打开,并且值修改成true,就会打开该条记录,jmeter就会将对应的信息输出到我们指定的jtl文件中(不过这样会在压测过程中产生大量的日志文件,真正压测时,最好不要开太多的日志记录),然后可以在结果文件中查看详细的信息。

但是我们想在脚本执行的过程中实时查看结果信息,要怎么做呢?

同样是修改配置文件jmeter.properties

打开上面的summariser.name、summariser.interval、summariser.out这三个配置项,保存,重新运行jmeter,应该就可以在shell里看到统计信息了,如下图所示:

这里显示的信息就相当于GUI界面下聚合报告元件所显示的信息。

其中主要有两种信息:summary + 和summary =,其它项都是类似的

summary +   4386 in 00:00:30:在30秒内增加了4386个请求,其中时间间隔由配置文件中的interval统计频率的值决定

summary =  27455 in 00:03:12:在3分12秒内产生的总请求数是27455个,其中的时间段是从脚本运行开始计算到当前时间为止,一般在脚本运行过程中主要关注 “summary=” 信息即可


146.2/s:系统每秒处理的请求数,相当于TPS

Avg:   684:平均响应时间

Min:   201:最小响应时间

Max:  1499:最大响应时间

Err:     0 (0.00%):错误数/率

Active: 100:活动的线程数

2、那么怎么查看生成的jtl文件呢?

把生成的jtl结果文件下载到本地

打开jmeter,添加察看结果树和聚合报告元件

在”文件名”处选择浏览,打开jtl结果文件,即可察看详细结果

3、命令行中的文件路径

示例:jmeter -n -t testplan.jmx -l test.jtl

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

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

C:toolsapache-jmeter-3.0bin>jmeter -n -t e:addCustomer.jmx -l e:addCustomer.jtl

四、windows系统下运行jmeter命令行

在windows下运行命令行跟linux下是一样的,只是通过cmd命令行工具来运行的

    技术交流QQ群 229390571 测试帮日记接口测试群

    电影下载QQ群 533341883 XQ电影下载圈