我一直在GUI模式下使用JMeter来编写负载测试我的服务所需的所有测试用例,但是对于实际测试,我需要在非GUI模式下执行测试。 如何使用命令提示符在csv文件中保存聚合报告的结果。
提前致谢。
答案 0 :(得分:14)
同样可以选择:您可以直接从Aggregate Report监听器执行此操作。
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 :(得分:8)
使用插件类型= AggregateReport
的JMeterPluginsCMD工具答案 2 :(得分:4)
<强> 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
答案 3 :(得分:0)
在上述答案的帮助下,我编写了一个简单的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."
注意:使用 CMDRunner.jar 位置相应地更改
command_runner
变量
答案 4 :(得分:0)
将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