JMeter使用ANT

时间:2016-06-28 22:17:41

标签: ant jmeter command-line-arguments command-prompt performance-testing

我需要将参数值传递给jmeter属性,如下所示:

@echo off
cd E:\apache-jmeter-2.11\bin
jmeter.bat -n 
-t E:\OMS.P01-AccountCreation.jmx 
-l E:\result.csv 
-j E:\jmeter.log 
-Jthreadgroup.count=1 
-JPRIMARY_STREET_NUMBER=1234 
-JPRIMARY_STREET_NAME=DONALDTRUMP AVENUE

但是这会失败,因为这个名字会让人失望。有一个空间。它会尝试阅读' AVENUE'作为一个不同的参数。有没有办法让它作为整体价值阅读?谢谢

修改

如果我添加""把它封闭起来。但是,当我使用ANT尝试相同的操作时,它会抛出相同的错误。有谁知道我该如何解决?

编辑2

我再次尝试使用命令行而不是ant。我想我发现了这个问题。我不能添加太多参数(我添加了22个参数)我不确定是否存在参数限制或整个命令行是否有长度限制。

1 个答案:

答案 0 :(得分:1)

我不知道你是如何将属性传递给Ant的,但通常聪明的人对属性值中的空格没有任何问题。你知道吗:

  • Ant对-J命令行参数
  • 一无所知
  • Ant对JMeter属性一无所知

因此,如果您需要传递给JMeter,您可以通过Ant命令行进行更改,您需要执行以下操作:

  1. build.xml

    <target name="jmeter">                
        <jmeter
            jmeterhome="/path/to/your/jmeter"
            testplan ="OMS.P01-AccountCreation.jmx"
            resultlog="result.jtl">        
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
            <property name="jmeter.save.saveservice.assertion_results" value="all"/>
            <property name="jmeter.save.saveservice.bytes" value="true"/>                               
            <property name="threadgroup.count" value="${threadgroup.count}"/>
            <property name="PRIMARY_STREET_NUMBER" value="${PRIMARY_STREET_NUMBER}"/>
            <property name="JPRIMARY_STREET_NAME" value="${PRIMARY_STREET_NAME}"/>
        </jmeter>
    </target>
    
  2. 通过Ant启动JMeter测试时:

    ant -Dthreadgroup.count=1 -DPRIMARY_STREET_NUMBER=1234 -DPRIMARY_STREET_NAME="DONALDTRUMP AVENUE"
    
  3. 参考文献: