10

我需要设置由 CI 系统自动触发的性能测试。为此,我想使用 JMeter,因为已经存在一些脚本和经验,我想将它与 Maven 结合起来。

在我研究一个合理的插件期间,我发现存在两个插件:

  1. jmeter-maven-plugin: http ://wiki.apache.org/jmeter/JMeterMavenPlugin
  2. chronos-jmeter-maven-plugin:http: //mojo.codehaus.org/chronos/chronos-jmeter-maven-plugin/usage.html

哪个更好用?两者似乎目前都在维护和开发中。有这方面的经验吗?连配置都差不多。

我很乐意得到一些提示来帮助我做出决定,而不用玩这两个插件几天。

4

4 回答 4

3

我还没有将 .jmx 文件与 maven 一起使用,特别是你提到的那些插件。

但是如果我需要的话,我可以想办法做到这一点。

所以考虑一下,你可以在无 gui 模式下执行 jmeter 测试。

  1. 创建一个 shell 脚本包装器,它将在无 gui 模式下执行 jmeter 测试,例如 (jmeter_exe.sh):

$JMETER_HOME/bin/jmeter.sh -n -t MY_LOAD_TEST.jmx -l resultFile.jtl

因此,这将执行给定的脚本并将结果存储在.jtl文件中,您可以使用它来显示您的测试结果,也许这篇文章对您有用,暂时不在主题范围内。

第一步完成。

2.然后您可以在项目根目录中创建目录scripts。你可以把它放在你的 pom.xml 中:

<plugin>
  <artifactId>exec-maven-plugin</artifactId>
  <groupId>org.codehaus.mojo</groupId>
  <executions>
    <execution>
      <id>Run load Test</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>exec</goal>
      </goals>
      <configuration>
        <executable>${basedir}/scripts/jmeter_exe.sh</executable>
      </configuration>
    </execution>
  </executions>
</plugin>

瞧,您的测试是在生成源阶段执行的。使用您提到的插件可能会更容易,但我对此一无所知,这就是我刚刚想到的。

于 2012-08-01T22:28:52.613 回答
2

使用 jmeter-maven-plugin:http ://wiki.apache.org/jmeter/JMeterMavenPlugin 。

它是事实上的,并且(正如上面提到的@Ardesco)它不需要安装任何东西,这让您可以抽象出 JMeter 可执行文件的安装位置以及所有这些问题......

于 2013-04-29T11:17:54.213 回答
2

apache 插件(lazerycode)上的警告词:

  • 它默认抑制 JMeter 输出,添加以下配置设置以防止:
<configuration>  
    <suppressJMeterOutput>false</suppressJMeterOutput>  
    <!-- to override debug logging from the plugin (although also in jmeter.properties) -->  
    <overrideRootLogLevel>debug</overrideRootLogLevel>  
    <jmeterLogLevel>DEBUG</jmeterLogLevel>  
</configuration>
  • 查看源代码(版本 1.8.1),似乎 -Xms 和 Xmx 仅限于 512

  • 该插件会吞下异常,因此您的测试可能会失败,但您不知道为什么。看起来他们刚刚完成但没有提供结果。

  • jmeter mojo 将 jmeter 作为一个新的 java 进程启动,但不提供为此执行提供任何参数的能力。因此,如果异常被吞下(见上文),并且日志记录不足(可能不是),则调试过程以找出问题所在并不容易。我们(我的同事)将调试参数添加到流程执行中并调试 jmeter 调用以找出答案。

  • 您可以直接为开发目的运行 jmeter 获得信息输出。我想说它在 jmeter UI 输出中提供了更多信息。

我没用过chronos mind。

于 2013-08-07T09:26:21.607 回答
0

每次发布 JMeter 版本时,@Ardesco 的JMeter Maven 插件都会更新。它有很好的文档记录并且可以完美运行。

它易于设置,并允许轻松添加 JMeter-Plugins 等插件或商业插件,只要需要所需的库。

您可以阅读完整的博客,其中显示了旧版本 1.1.10 的设置:

对于更新的版本 2.5.1(截至 2017 年 11 月),请确保您阅读文档:

于 2016-01-09T14:04:46.940 回答