我需要设置由CI系统自动触发的性能测试。为此,我想使用JMeter,因为一些脚本和经验已经存在,我想将它与Maven结合使用。
在我研究一个合理的插件时,我发现存在两个插件:
哪一个更好用?两者似乎都在维持并正在开发中。有这方面的经验吗?甚至配置也是类似的。
我很乐意得到一些提示,以帮助我决定不使用插件几天。
答案 0 :(得分:3)
我还没有将.jmx文件与maven一起使用,特别是你提到的那些插件。
但如果我需要,我可以想办法如何做到这一点。
所以考虑一下,你可以在没有gui模式下执行jmeter测试。
$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):
<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 Maven Plugin都会更新。 它有很好的文档记录,并且运行良好。
它很容易设置,只要需要库,就可以轻松添加JMeter-Plugins或商业插件等插件。
您可以阅读完整的博客,其中显示了旧版本1.1.10的设置:
对于最新版本2.5.1(截至2017年11月),请确保您阅读文档: