类org.programmerplanet.ant.taskdefs.jmeter.Arg中没有公共execute()

时间:2012-11-21 08:45:51

标签: ant jenkins jmeter

需要有关上述错误的帮助 当我尝试将参数从jenkins传递给ant时,我收到以下错误:

"No public execute() in class org.programmerplanet.ant.taskdefs.jmeter.Arg"

由于我是詹妮丝蚂蚁整合的新手,我没有太多的想法 任何建议都会有很大的帮助。

我的蚂蚁脚本是:

<project basedir=".">

    <property environment="env"/>
    <property name="jmeter-home" location="D:/apache-jmeter-2.7"/>
    <property name="THREADS" value="${env.THREADS}"/>

    <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" />
    <taskdef 
        name="jvmarg" 
        classname="org.programmerplanet.ant.taskdefs.jmeter.Arg" 
        classpathref="ant.jmeter.classpath"/>

    <target name="clean">
       <delete dir="results"/>
       <delete file="jmeter.log"/>
       <mkdir dir="results/jtl"/>
       <mkdir dir="results/html"/>
   </target>

   <target name="Product" depends="clean" >
       <jmeter jmeterhome="d:/apache-jmeter-2.7"
               resultlogdir="results/jtl"
               testplan="D:\Program Files\....\Test.jmx" />
       <jvmarg value ="-DTHREADS"/>
       <xslt
           in="${basedir}/results/jtl/Test.jtl"
           out="${basedir}/results/html/Test.xml"
           style="${jmeter-home}/extras/jmeter-results-report_21.xsl"/>
   </target>

1 个答案:

答案 0 :(得分:0)

看起来您还没有另外定义jvmarg taskdef。

  1. 您已为THREADS声明了属性:

    <property name="THREADS" value="${env.THREADS}"/>
    
  2. 另外在jmeter任务集中

    <property name="jmeter.threads" value="${THREADS}"/>
    
  3. 在ant的命令行中设置所需的线程数:

    ant -f build.xml -DTHREADS=N
    

  4. 您也可以使用jmeterarg nested element

      

    jmeterarg 用于指定其他JMeter命令行参数。该   只有属性才是值。