一、编写bat文件,执行脚本
JMeter目录下的bin文件夹下,创建一个bat文件:
注:命令中加上“-JforcePerfmonFile=true”,将PerfMon Metrics Collector的执行结果,直接保存在当前路径(即bin文件夹下),PS:也可以指定输出文件,方法可百度了解下。
代码如下:
::删除 .jtl文件
del /s /Q E:\apache-jmeter-5.1.1\bin\result.jtl
::删除 report 文件夹
rd /s /Q E:\apache-jmeter-5.1.1\report
::重建 report 文件夹
md E:\apache-jmeter-5.1.1\report
::在非GUI模式下执行 .jmx ,测试结果保存为 result.jtl,测试报告存放在report文件夹
jmeter -n -t test.jmx -l result.jtl -JforcePerfmonFile=true -e -o E:\apache-jmeter-5.1.1\report
执行后生成的文件:
二、编写bat文件,根据运行结果result.jtl自动生成png文件和csv文件
同样在JMeter目录下的bin文件夹下,创建一个bat文件,如下:(我这里只生成了我脚本里添加了的监听器)
我的JMeter版本是5.1.1,执行上述命令,会有下图的报错信息,百度了下这个错误说是只影响日志,不影响主程序执行,文件还是可以生成,待后面有时间再研究下:
代码如下:
@echo off
set jtlfile="E:\apache-jmeter-5.1.1\bin\result.jtl"
set csvfile="E:\apache-jmeter-5.1.1\bin\perfMon_20200812-145505.csv"
::生成png文件
::(1)ActiveThreadsOverTime
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-png E:\apache-jmeter-5.1.1\report\ActiveThreadsOverTime.png --input-jtl %jtlfile% --plugin-type ThreadsStateOverTime
::(2)ResponseTimesVsThreads
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-png E:\apache-jmeter-5.1.1\report\ResponseTimesVsThreads.png --input-jtl %jtlfile% --plugin-type TimesVsThreads
::(3)ResponseTimesOverTime
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-png E:\apache-jmeter-5.1.1\report\ResponseTimesOverTime.png --input-jtl %jtlfile% --plugin-type ResponseTimesOverTime
::(4)TransactionsPerSecond(每秒事物量)
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-png E:\apache-jmeter-5.1.1\report\TransactionsPerSecond.png --input-jtl %jtlfile% --plugin-type TransactionsPerSecond
::(5)BytesThroughputOverTime
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-png E:\apache-jmeter-5.1.1\report\BytesThroughputOverTime.png --input-jtl %jtlfile% --plugin-type BytesThroughputOverTime
::(6)服务器资源监控
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-png E:\apache-jmeter-5.1.1\report\PerfMon.png --input-jtl %csvfile% --plugin-type PerfMon
::生成csv文件
::(1)ActiveThreadsOverTime
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\ActiveThreadsOverTime.csv --input-jtl %jtlfile% --plugin-type ThreadsStateOverTime
::(2)ResponseTimesVsThreads
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\ResponseTimesVsThreads.csv --input-jtl %jtlfile% --plugin-type TimesVsThreads
::(3)ResponseTimesOverTime
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\ResponseTimesOverTime.csv --input-jtl %jtlfile% --plugin-type ResponseTimesOverTime
::(4)TransactionsPerSecond(每秒事物量)
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\TransactionsPerSecond.csv --input-jtl %jtlfile% --plugin-type TransactionsPerSecond
::(5)BytesThroughputOverTime
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\BytesThroughputOverTime.csv --input-jtl %jtlfile% --plugin-type BytesThroughputOverTime
::(6)聚合报告
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\AggregateReport.csv --input-jtl %jtlfile% --plugin-type AggregateReport
::(7)服务器资源监控
java -jar E:\apache-jmeter-5.1.1\lib\ext\CMDRunner.jar --tool Reporter --generate-csv E:\apache-jmeter-5.1.1\report\PerfMon.csv --input-jtl %csvfile% --plugin-type PerfMon
执行后,生成的文件:
这里有个问题,就是生成AggregateReport.csv,一直是空的,并报下图的错误,百度查了好多方法都没找到解决办法,希望有哪位大神可以告诉我: