我一直在使用JMeter GUI模式来编写所有需要进行负载测试的测试用例,但是为了实际测试,我需要以非GUI模式执行测试。 请问如何使用命令提示符将聚合报告的结果保存到CSV文件中。
提前致谢。
我一直在使用JMeter GUI模式来编写所有需要进行负载测试的测试用例,但是为了实际测试,我需要以非GUI模式执行测试。 请问如何使用命令提示符将聚合报告的结果保存到CSV文件中。
提前致谢。
作为替代方法:您可以直接通过聚合报告侦听器执行此操作。
1. 为结果文件设置文件名/模板:
resultsFile = ${__property(user.dir)}${__BeanShell(File.separator,)}result_${__time(yyyyMMdd-HHmmss)}.csv
2. 如下所示配置聚合报告监听器:
在此情况下生成的CSV文件将与通过GUI /“保存表格数据”生成的文件不同。
如果这种方式不可行,最好使用先前答案中的JMeterPluginsCMD方法:
java -jar JMeterPluginsCMD.jar --generate-csv aggregateResults.csv --input-jtl testResults.jtl --plugin-type AggregateReport
1. 保存结果文件
在“查看结果树”或“查看表格结果”(以 CSV 或 XML 格式)中指定要保存的结果文件。例如:out/test-results.csv
,或使用 CLI 参数 -JTEST_RESULTS_FILE=out/test-results.csv
2. 转换为报告
将结果文件转换为汇总报告:
$ java -jar CMDRunner.jar --tool Reporter --generate-csv aggregateResults.csv --input-jtl out/test-results.csv --plugin-type AggregateReport
brew
,则CMDRunner位于以下位置:/usr/local/Cellar/jmeter/2.13/libexec/lib/ext/CMDRunner.jar
将jmeter-plugins-manager-0.13.jar移动到您的JMeter的/bin/libs/ext目录中。
./JMeterPluginsCMD.sh --tool Reporter --generate-csv test.csv --input-jtl input.jtl --plugin-type AggregateReport
通过以上答案的帮助,我编写了一个简单的bash脚本来自动化生成聚合结果.csv
文件使用.jtl
文件的工作
您可以将此脚本放在.jtl
文件所在的文件夹中,然后只需在该目录中运行脚本。
然后,它将把所有聚合报告(.csv
文件)放在同一目录中的aggregate_report
目录中。
#! /usr/bin/env bash
echo "Generating reports..."
command_runner="/opt/apache-jmeter-2.13/lib/ext/CMDRunner.jar"
output="aggregate_report"
count=0
mkdir $output
for sample_file in *.jtl
do
((count++))
filename="${sample_file%.*}"
echo "Converting $filename"
java -jar $command_runner --tool Reporter --generate-csv ${output}/${filename}.csv --input-jtl ${filename}.jtl --plugin-type AggregateReport
done
echo "$count files were converted."
command_runner
变量。