ant 是一個將軟件編譯、測試、部署等步驟聯繫在一塊兒加以自動化的一個工具,大多用於 Java 環境中的軟件開發。
在與 Jmeter 生成的 jmx 文件配合使用中,ant 會完成jmx計劃的執行和生成jtl文件,並將jtl文件轉化爲html頁面進行查看。
還可與 Jenkins 配合使用。
優勢:跨平臺、操做簡單、維護簡單、集成方便。html
依賴
在使用 ant 時請確保已經安裝了 java jdk,由於ant的使用須要依賴java環境。
而且須要配置java環境變量。java
進入apache-ant 官網並下載 zip 包。https://ant.apache.org/bindownload.cgiapache
將下載好的 zip 解壓。工具
解壓後的 bin 目錄是 ant 的程序運行入口,若是沒用對 ant 進行環境變量的配置,在 bin 目錄中運行bat程序,一樣能夠達到 build 任務目的。測試
ANT環境變量配置ui
爲了使用起來方便,對 ant 進行環境變量配置。
在個人電腦 –> 右鍵屬性 –> 高級系統配置 -> 環境變量->系統變量中添加 ant 路徑。命令行
新建系統變量 ANT_HOME = C:\apache-ant-1.9.93d
在環境變量PATH的最後面添加一下內容:orm
;%ANT_HOME%\bin 注意前面的分號。xml
校驗安裝成功
使用 ant -version 對配置進行驗證
設置
jmeter默認保存的是.csv格式的文件,因此須要設置 bin/jmeter.properties 文件內容,將 jmeter.save.saveservice.output_format=csv 取消註釋,而且將csv修改成xml;
將apache-jmeter-5.1.1\extras\ant-jmeter-1.1.1.jar拷貝到apache-ant-1.9.9\lib目錄下;
這樣ant運行時才能找到 "org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" 這個類,從而成功觸發JMeter腳本。
新建 build.xml
在存放Jmeter導出的 jmx 目錄下,新建build.xml文件,而且編輯內容以下:
在ant運行時會在當前目錄下尋找build.xml文件,因此在運行時要確保 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="F:\yang\apache-jmeter-5.1.1" /> <!-- jmeter生成jtl格式的結果報告的路徑--> <property name="jmeter.result.jtl.dir" value="F:\yang\apache-jmeter-5.1.1\report" /> <!-- jmeter生成html格式的結果報告的路徑--> <property name="jmeter.result.html.dir" value="F:\yang\apache-jmeter-5.1.1\report" /> <!-- 生成的報告的前綴 --> <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="F:\yang\apache-jmeter-5.1.1\case" 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" /> <!-- 由於上面生成報告的時候,不會將相關的圖片也一塊兒拷貝至目標目錄,因此,須要手動拷貝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
若是使用上面 build.xml 內容則須要修改四個地方
修改內容以下圖
還能夠修改報告的名稱,以下圖標記的地方爲測試報告的名稱
ant 運行
進入build.xml 所在的目錄,在命令行中使用 ant 命令進行運行
進入report的 html 目錄下查看生成結果
打開 html 報告
可是時間顯示爲NaN
須要從Jmeter 的 lib 中將 xalan-2.7.2.jar 和 serializer-2.7.2.jar 兩個包 copy到 Ant 的 lib 目錄下
從新運行 ant 命令生成報告,結果以下
下載 jmeter.results.shanhe.me.xsl 文件
下載地址: https://pan.baidu.com/s/1MJb3ctyEHS3eWwP_AVZbzg
下載後將文件放在...\apache-jmeter-5.1.1\extras 目錄下
修改 build.xml 中 對應 style 的值,替換成下載的文件名,以下圖
從新運行 ant 命令生成報告,結果以下
比起上個報告,多了好多參數