Jmeter自动化命令模式及环境配置

本文详细介绍JMeter命令行模式的使用场景、参数配置及如何在Mac环境下配置环境变量。探讨了非GUI模式的优势,包括减少系统资源消耗、适用于持续集成、远程执行等场景,并深入解析了命令行参数的含义和用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

0. 简介

应用场景

参数详解

1. mac配置jmeter环境变量

编辑用户目录下.bash_profile文件

黏贴以下内容后,保存并退出:wq

执行命令,生效配置

执行命令确认,如果成功则会自动开启jmeter窗口

2. Jmeter Summariser report的log设置

3. 执行测试脚本

4. 指定结果文件及日志路径


0. 简介

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

应用场景

  • 无需交互界面或受环境限制(linux text model)
  • 远程或分布式执行
  • 持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于生成报告
    1. 命令行模式优点

参数详解

命令参数命令释义
-n设置命令模式
-t指定JMX脚本路径,参数为:JMX脚本路径,若非当前目录需用全路径或相对路径
-l指定结果文件路径(jtl或cvs), 参数为:结果文件路径。路径不存在时会自动创建
-j指定执行日志路径, 参数为:日志路径。路径不存在,不会自动创建,同时将日志输出至命令控制台
-r设置分布式(远程)执行, 服务器列表由JMETER_HOME\bin\jmeter.properties中remote_hosts指定
-R指定远程(分布式)服务器列表,参数为:指定服务器列表,配置形式同remote_hosts
-g指定测试结果文件路径,仅用于生成测试报表。参数为:csv结果文件
-e设置测试完成后生成测试报表
-o指定测试报表生成文件夹,文件夹必须为空或不存在。参数为:报表文件夹路径
-H指定代理服务器域名或代理服务器IP。参数为:代理服务器域名或代理服务器IP
-P指定代理服务器端口号。 参数为:代理服务器端口号

1. mac配置jmeter环境变量

参考链接

编辑用户目录下.bash_profile文件

vim .bash_profile

黏贴以下内容后,保存并退出:wq

export JMETER_HOME=/Users/leiyuxing/apache-jmeter-5.0/
export PATH=$JAVA_HOME/bin:$JMETER_HOME/bin:$PATH

执行命令,生效配置

source .bash_profile

执行命令确认,如果成功则会自动开启jmeter窗口

jmeter

2. Jmeter Summariser report的log设置

Jmeter在做性能测试的时候,可能会run很长时间,这样产生的log会非常大,跑过一次72小时的测试,log达到了6G!,这样分析起来会比较麻烦,JMeter还提供了summariser result report,就是在每隔一段时间打一行log,这样log就会大大减小。
Jmeter summariser report的设置在:bin/jmeter.properties.

#---------------------------------------------------------------------------
# Summariser - Generate Summary Results - configuration (mainly applies to non-GUI mode)
#---------------------------------------------------------------------------
#
# Define the following property to automatically start a summariser with that name
# (applies to non-GUI mode only)
summariser.name=summary
#
# interval between summaries (in seconds) default 3 minutes
summariser.interval=180
#
# Write messages to log file
summariser.log=true
#
# Write messages to System.out
#summariser.out=true

注:以上设置为每隔3分钟向jmeter.log中写一行log

3. 执行测试脚本

注意:执行的命令都需要指定绝对路径

jmeter -n -t JMeter分布式测试示例.jmx

命令行窗口输出如下:

Creating summariser <summary>
Created the tree successfully using CoinCola_3.4.5Test.jmx
Starting the test @ Fri Nov 02 10:36:01 CST 2018 (1541126161167)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary +      1   in 00:00:00  =    5.6/s Avg:     1     Min:     1     Max:     1          Err:     1 (100.00%) Active: 1 Started: 1 Finished: 0
summary +      46 in 00:02:59  =    0.3/s Avg:    952 Min:     321 Max:     19345 Err:    22 (47.83%) Active: 1  Started: 1 Finished: 0

解释:summary+是这三分钟的数据,summary=是累计到当前时刻所有的数据 以第一行为例,46是发出的请求数目,00:02:59m是时间,0.3是每秒发出的请求,即吞吐量,Avg、Min、Max分别是平均响应时间,最小响应时间和最大响应时间,响应时间指的是从请求发出到收到响应时间,Err后面跟的数据分别是错误数和错误比例。

4. 指定结果文件及日志路径

jmeter -n -t JMeter分布式测试示例.jmx -l report\01-result.csv -j report\01-log.log

命令行窗口输出如下所示:

Creating summariser <summary>
Created the tree successfully using CoinCola_3.4.5Test.jmx
Starting the test @ Fri Nov 02 11:28:50 CST 2018 (1541129330513)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary +     20 in 00:01:12 =    0.3/s Avg:   863 Min:     0     Max:  6256  Err:    10 (50.00%)  Active: 1 Started: 1 Finished: 0
summary +     51 in 00:03:00 =    0.3/s Avg:   526 Min:     316 Max:  1672  Err:    25 (49.02%)  Active: 1 Started: 1 Finished: 0
summary =     71 in 00:04:12 =    0.3/s Avg:   621 Min:     0     Max:  6256  Err:     35 (49.30%)
summary +     50 in 00:02:59 =    0.3/s Avg:   585 Min:    326  Max:  2163  Err:    25 (50.00%)  Active: 1 Started: 1 Finished: 0

注:若日志路径不错在,则jmeter不会自动创建,同时将日志输出至命令行窗口。

结果文件类型为jtl或csv,可通过jmeter的聚合报告浏览结果文件,查看最终结果,如下所示:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的雷神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值