【问题标题】:Show aggregate report info in console when running jmeter tests with mvn使用 mvn 运行 jmeter 测试时在控制台中显示汇总报告信息
【发布时间】:2019-03-11 12:44:31
【问题描述】:

我有一个 mvn 项目,其中还集成了 jmeter,以测试性能。到目前为止,我的测试计划中有 6 个线程组,它们都包含 HTTP 请求。我使用 jmeter-maven 插件中的命令“mvn clean verify”运行测试。在结果中,我发现多行是这样的:

摘要 + 00:00:02 中的 1 = 0.6/s 平均:208 最小:208 最大:208 错误:0 (0.00%) 活动:6 已开始:12 已完成:6

我需要控制台中的一些额外信息,尤其是每个线程组或运行的 HTTP 请求的名称和平均时间。例如,与 GUI 模式的汇总报告类似:

标签样本平均中位数 90% 线 95% 线 99% 线 最小值 最大值 ...

AppleCodeRequest 6 196 119 279 284 284 108 284
PearCodeRequest 3 382 485 490 490 490 173 490

我想要这个,因为我正在使用 sh 脚本来运行测试,并且我想在打开 html 报告之前触发一些性能问题。

有什么方法可以获取吗?可能有一些用户属性(即使我搜索了一个但没有结果)或一些解决方法?

【问题讨论】:

  • 我了解您希望在 IDE 控制台中使用。但是为什么不使用 Jmeter 自己的报告。 Jmeter 有大量报告,它也可以生成多种格式(csv、html 等),并包含您正在寻找的所有详细信息以及更多
  • 我正在使用包含该命令的 sh 脚本来运行测试,并且我想在打开 html 报告之前触发一些性能问题。为此,我只能访问由 mvn 命令产生的“控制台”文本

标签: maven jmeter report aggregate summary


【解决方案1】:

最简单的解决方案是使用像 BlazeMeter Uploader 这样的插件,这样您就可以在精美的 Web UI 中观察实时测试指标。您可以使用 JMeter Plugins Manager 安装 BlazeMeter Uploader 插件


替代解决方案是使用JMeterPluginsCMD Command Line Tool

  1. 将下一行添加到您的 pom.xml 文件中

    <configuration>
        <jmeterExtensions>
            <artifact>kg.apc:jmeter-plugins-cmd:2.2</artifact>
            <artifact>kg.apc:jmeter-plugins-synthesis:2.2</artifact>
            <artifact>kg.apc:jmeter-plugins-dummy:0.2</artifact>
            <artifact>kg.apc:cmdrunner:2.0</artifact>
            <artifact>kg.apc:jmeter-plugins-filterresults:2.2</artifact>
            <artifact>kg.apc:jmeter-plugins-cmn-jmeter:0.6</artifact>
        </jmeterExtensions>
        <!-- The plugin uses some broken dependencies
             An alternative is to set this to true and use excludedArtifacts, see below
        -->
        <downloadExtensionDependencies>false</downloadExtensionDependencies>
        <propertiesJMeter>
            <jmeter.save.saveservice.autoflush>true</jmeter.save.saveservice.autoflush>
        </propertiesJMeter>
    </configuration>
    
  2. 将另一个 Thread Group 添加到您的测试计划中,其中包含 1 个用户和无限数量的循环

  3. JSR223 Sampler 添加到您的线程组
  4. 将以下代码放入“脚本”区域:

    SampleResult.setIgnore()
    def resultFile = new File('../results').list().first()
    "java -jar ../lib/ext/cmdrunner-2.0.jar --tool Reporter --generate-csv temp.csv  --input-jtl ../results/$resultFile --plugin-type AggregateReport".execute().waitFor()
    println("cat temp.csv".execute().text)
    new File("temp.csv").delete()
    
  5. 使用 Constant Timer 控制您希望查看此信息的频率
  6. 您应该能够在控制台窗口中看到结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多