如何使用命令提示符将JMeter聚合报告结果保存到CSV文件?

如何使用命令提示符将JMeter聚合报告结果保存到CSV文件?,csv,jmeter,command-prompt,Csv,Jmeter,Command Prompt,我一直在GUI模式下使用JMeter编写负载测试服务所需的所有测试用例,但对于实际测试,我需要在非GUI模式下执行测试。 如何使用命令提示符将聚合报告的结果保存在csv文件中 提前感谢。使用带有Plugin Type=AggregateReport的工具作为替代:您可以直接从聚合报告侦听器执行此操作 1.为结果文件设置文件名/模板: resultsFile = ${__property(user.dir)}${__BeanShell(File.separator,)}result_${__tim

我一直在GUI模式下使用JMeter编写负载测试服务所需的所有测试用例,但对于实际测试,我需要在非GUI模式下执行测试。 如何使用命令提示符将聚合报告的结果保存在csv文件中


提前感谢。

使用带有Plugin Type=AggregateReport的工具作为替代:您可以直接从聚合报告侦听器执行此操作

1.为结果文件设置文件名/模板:

resultsFile = ${__property(user.dir)}${__BeanShell(File.separator,)}result_${__time(yyyyMMdd-HHmmss)}.csv
2.配置聚合报告侦听器,如下所示:

在这种情况下生成的CSV文件将不同于通过GUI/“保存表数据”生成的CSV文件。

如果不可接受,最好使用前面答案中的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\u results\u 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

在上述答案的帮助下,我编写了一个简单的bash脚本,使用
.jtl
文件自动生成聚合结果
.csv
文件

您可以将此脚本放在
.jtl
文件所在的文件夹中,然后在该目录中运行脚本。 然后,它会将所有聚合报告(
.csv
文件)放在同一目录下的
聚合报告
目录中

#! /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位置相应地更改
命令\u runner
变量

  • 下载

  • 将jmeter-plugins-manager-0.13.jar移动到jmeter的/bin/libs/ext中

  • 打开JMeter,进入选项>插件管理器
  • 安装以下插件:
    • 综合报告
    • 命令行图形打印工具
  • 从JMeter的/bin文件夹运行此命令:
    /JMeterPluginsCMD.sh--工具报告器--生成csv test.csv--输入jtl input.jtl--插件类型聚合报告

  • 您的第一个答案(直到“如果它不可接受…”)没有任何意义-它只是编写测试结果(如从查看结果树),与聚合报告本身没有任何共同之处。我使用了此命令行工具,但只得到以下列。95%,99%的百分位缺失。采样器标签、聚合报告计数、平均值、聚合报告中值、聚合报告90%行、聚合报告最小值、聚合报告最大值、聚合报告错误、聚合报告速率、聚合报告带宽、聚合报告_stddev@Makmeksam,您已经在生成的csv中获得了这些列,因为它们是在插件的源代码中预定义的。似乎没有配置方法将百分位数或其他示例参数添加到csv中(与聚合报告侦听器相反,您可以通过user.properties文件通过设置其他属性添加第二和第三个百分位数:)。@Makmeksam,在这里,您可以查看JMPlugins 1.4.0版本的单独分支更新源代码,该版本将向生成的AggregateReport csv添加第95和99个百分位。或仅差异:。您必须重建项目并替换JMETER_HOME/lib/ext/.BTW中的JMeterPlugins-Standard.jar,才能安装一个额外的插件,因为我在这里读到了。顺便说一句,jmeter bin文件夹中有一个cmd插件运行程序,以避免直接调用jar