1. 程式人生 > >jmeter+ant壓測執行多條引數化

jmeter+ant壓測執行多條引數化

1.新建一個檔案在jmetre路徑下,名字為Demo,裡面建一個build.xml檔案,程式碼如下

<?xml version="1.0" encoding="UTF-8"?>  

  
<project name="ant-jmeter-test" default="all" basedir=".">  
    <tstamp>  
        <format property="time" pattern="yyyyMMddhhmm" />  
    </tstamp>  
    <!-- 需要改成自己本地的 Jmeter 目錄-->  
    <property name="jmeter.home" value="D:\jmter\apache-jmeter-2.13" />  
      <!-- jmeter生成jtl格式的結果報告的路徑--> 
    <property name="jmeter.result.jtl.dir" value="D:\jmter\apache-jmeter-2.13\resultLog\jtl" />  
   <!-- jmeter生成html格式的結果報告的路徑-->
    <property name="jmeter.result.html.dir" value="D:\jmter\apache-jmeter-2.13\resultLog\html" />  
      <!-- 生成的報告的字首--> 
    <property name="ReportName" value="TestReport" />  
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />  
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />  
      
    <target name="all">  
        <antcall target="test" />  
        <antcall target="report" />  
    </target>  
      
    <target name="test">  
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />  
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">  
          <!-- 宣告要執行的指令碼。"*.jmx"指包含此目錄下的所有jmeter指令碼-->
            <testplans dir="D:\jmter\apache-jmeter-2.13\demo" includes="*.jmx" />  
<property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>  
    </target>  
          
    <target name="report">  
        <xslt in="${jmeter.result.jtlName}"  
              out="${jmeter.result.htmlName}"  
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />  
          
    <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 --> 
        <copy todir="${jmeter.result.html.dir}">  
            <fileset dir="${jmeter.home}/extras">  
                <include name="collapse.png" />  
                <include name="expand.png" />  
            </fileset>  
        </copy>  
    </target>  

</project>  

2、將要執行的.jmx檔案和build.xml放到同一個檔案加下

3、下載ant,解壓,將“ant-jmeter-1.1.1.jar”這個jar包放到ant的classpath中去。這個jar包位置 jmeter的安裝目錄下的 extras 目錄中。

4、然後進入cmd進入到jmeter存放build.xml的路徑,輸入ant回車就會生成相應報告

注:

批量定時執行:

使用linux的crontab命令即可,crontab -e 每行新增一條ant命令例如:

30 1 11 * * ant -Dthreads1=8 Dthreads2=6

30 2 11 * *  ant -Dthreads1=16 Dthreads2=12

或者使用at命令也很方便,從此再也不用因為加班到很晚而得罪老婆大人了,第二天早上來開啟瀏覽器看結果就行。