什么maven插件用于JMeter? jmeter-maven-plugin或chronos-jmeter-maven-plugin?

时间:2012-07-31 13:12:31

标签: maven jmeter jmeter-maven-plugin

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

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

  1. JMeter的-行家-插件: http://wiki.apache.org/jmeter/JMeterMavenPlugin
  2. 克罗诺斯-JMeter的-行家-插件: http://mojo.codehaus.org/chronos/chronos-jmeter-maven-plugin/usage.html
  3. 哪一个更好用?两者似乎都在维持并正在开发中。有这方面的经验吗?甚至配置也是类似的。

    我很乐意得到一些提示,以帮助我决定不使用插件几天。

4 个答案:

答案 0 :(得分:3)

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

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

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

  1. 创建一个shell脚本包装器,它将在无gui模式下执行jmeter测试,例如(jmeter_exe.sh):
  2. $JMETER_HOME/bin/jmeter.sh -n -t MY_LOAD_TEST.jmx -l resultFile.jtl

    因此,这将执行给定的脚本并将结果存储在.jtl文件中,您可以使用它来显示您的测试结果,this帖子对您有用,它会关闭现在的主题。

    完成第一步。

    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>
    

    瞧,您的测试是在生成源阶段执行的。使用你提到的插件可能会更容易,但我不知道这些,这就是我想到的。

答案 1 :(得分:2)

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

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

答案 2 :(得分: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。

答案 3 :(得分:0)

每次发布JMeter版本时,@ Ardesco的

JMeter Maven Plugin都会更新。 它有很好的文档记录,并且运行良好。

它很容易设置,只要需要库,就可以轻松添加JMeter-Plugins或商业插件等插件。

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

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