Jmeter+Ant集成運行中碰到的問題

配置了大半天的build.xml,記錄一些問題

這個問題我不能確定,最後用管理員執行了cmd,還是提示:

最後繼續去查看build.xml的配置,

修改了:

終於成功了:

 

其中最重要的是要配置好build.xml,我一直是不太仔細的人,而且還會碰到許多前所未有的問題,一直解決不了,就瘋狂百度。下面是build.xml的代碼:

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

<project name="ant-jmeter-test" default="run" basedir = "C:\Users\ping\Downloads\apache-jmeter-5.2.1">
    <tstamp>
        <format property="time" pattern="yyyyMMdd_hhmm" />
    </tstamp>
    
    <property name="jmeter.home" value="C:\Users\ping\Downloads\apache-jmeter-5.2.1"/>
    <!-- jmeter生成jtl的結果報告的路徑-->
    <property name="report.result.jtl.dir" value="C:\Users\ping\Downloads\apache-jmeter-5.2.1\testreport\jtl"/>
    <!-- jmeter生成html的結果報告的路徑-->
    <property name="report.result.html.dir" value="C:\Users\ping\Downloads\apache-jmeter-5.2.1\testreport\html"/>

    <property name="ReportName" value="testreport" />
    <property name="jmeter.result.jtlName" value="${report.result.jtl.dir}/${ReportName}${time}.jtl" />
    <property name="jmeter.result.htmlName" value="${report.result.html.dir}/${ReportName}${time}.html" />
    <!-- 輸出生成的報告名稱和存放路徑-->
   
    
   
    <target name="run">
        <antcall target="test"/>
        <antcall target="report"/>
    </target>

    <!-- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ -->
    <!-- 加載jar包,解決顯示時間問題 -->
    <path id="xslt.classpath">
        <fileset dir="${lib.dir}" includes="xalan*.jar"/>
        <fileset dir="${lib.dir}" includes="serializer*.jar"/>
    </path>
    <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="C:\Users\ping\Downloads\apache-jmeter-5.2.1\testsript"/>
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
    <path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path> 

    <!--<target name="report" depends="xslt-report,copy-images">
        <echo>Report generated at ${report.datestamp}</echo>
    </target>-->

    <target name="report">
        <xslt
        classpathref="xslt.classpath"
            force="true"
        in="${jmeter.result.jtlName}" 
        out="${jmeter.result.htmlName}" 
        style="${jmeter.home}/extras/jmeter-results-report_21.xsl">
            <param name="dateReport" expression="${time}"/>
    </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主目錄下的extras\ant-jmeter-1.1.1.jar拷貝到ant主目錄\lib目錄下

2.將要執行的腳本放到新建的目錄testscript下

3.記得修改報告的名稱規則

4.build.xml的最開始配置:

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

<project name="ant-jmeter" default="run" basedir = "C:\Users\ping\Downloads\apache-jmeter-5.2.1">
    <tstamp>
        <format property="time" pattern="yyyyMMdd_hhmm" />
    </tstamp>

將default 設置等於run,默認是all,我將最後執行不成功歸結於是這裏的問題。

希望以後碰到能順利解決此類問題吧,太難了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章