1. 程式人生 > >Jmeter+Ant執行build.xml常見錯誤:前言中不允許有內容

Jmeter+Ant執行build.xml常見錯誤:前言中不允許有內容

build.html

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

<project name="ant-jmeter-test" default="run" basedir='.'>
       <tstamp>
<format property="time" pattern="yyyyMMddhhmm"/>
</tstamp>


    <!-- 需要改成自己本地的Jmeter目錄 -->
    <property name="jmeter.home" value="C:\Program Files\apache-jmeter-4.0"/>
    <!-- jmeter生產jtl格式的結果報告路徑 -->
    <property name="jmeter.result.jtl.dir" value="C:\Program Files\apache-jmeter-4.0\xfdtests\jtl"/>
    <!-- jmeter生產html格式的結果報告路徑 -->
    <property name="jmeter.result.html.dir" value="C:\Program Files\apache-jmeter-4.0\xfdtests\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="run"

>
        <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}">
            <testplans dir="C:\Program Files\apache-jmeter-4.0\xfdtests" includes="*.jmx"/>
        </jmeter>
    </target>


    <!-- 生成報告 -->
    <target name="report">
       <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
        </xslt>
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>

</project>

常見錯誤:前言中不允許有內容,解決辦法如下

  1. 在JMeter的bin目錄中找到jmeter.properties;
  2. 將檔案中#jmeter.save.saveservice.output_format=csv改為jmeter.save.saveservice.output_format=xml
    注意:去掉前面的#號,後面的xml要小寫。