我正在使用jmeter工具对N个用户进行压力测试。
我已经使用ant和jenkins自动化了测试,我的构建文件被配置为运行一个目标,即jmeter脚本。
它工作得很好。
现在我正在尝试参数化jenkins,即试图在运行时传递用户数量"N“,有什么方法可以做到吗?敬请指教。
Ant脚本:
<project basedir=".">
<property environment="env"/>
<property name="jmeter-home" location="D:/apache-jmeter-2.7"/>
<path id="ant.jmeter.classpath">
<pathelement location="${jmeter-home}/extras/ant-jmeter-1.0.9.jar" />
</path>
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" classpathref="ant.jmeter.classpath" />
<target name="clean">
<delete dir="results"/>
<delete file="jmeter.log"/>
<mkdir dir="results/jtl"/>
<mkdir dir="results/html"/>
</target>发布于 2012-11-19 17:50:58
参见https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build。您可以为作业定义参数。然后你只需要把它传递给-Denv_entry=value (普通的JVM Sswitch,你可以在Jenkins的Ant step的高级设置中找到它),它可以把它传递给jmeter (参见本文:http://jmeter.apache.org/usermanual/get-started.html#override)
编辑:您根本不需要在ant脚本中运行JMeter。所以一步一步来:
JVM
-DTHREADS=value
然后,您将在JMeter中拥有一个系统属性。如果希望使用JMeter属性,请改用-JTHREADS=${env.THREADS}。
EDIT2:添加以下内容:
<taskdef name="jvmarg" classname="org.programmerplanet.ant.taskdefs.jmeter.Arg" classpathref="ant.jmeter.classpath"/>那应该行得通。
发布于 2012-11-20 18:35:59
我认为如果您不尝试运行Jenkins作业N次,而是将这N个参数传递到ant脚本中(请参阅有关如何将参数从jenkins传递到ant中的其他答案),并处理N次并行启动测试,这将是一种更好的方法。
https://stackoverflow.com/questions/13451062
复制相似问题