1. 程式人生 > >jmeter+ant生成html報告

jmeter+ant生成html報告

1.jdk安裝

2.jmter安裝

3.ant安裝

下載apache-ant-1.10.6-bin.zip,直接解壓就可使用,和jmeter類似

ant環境變數配置

  • 新建系統變數:ANT_HOME,變數值為Ant的本地安裝路徑,如我的:D:\software\apache-ant-1.10.6
  • 在系統變數Path後新增%ANT_HOME%\bin
  • 開啟命令列,輸入ant -version,列印ant版本號表示配置成功

4.使用ant構建執行Jmeter,生成jtl、html格式報告

  • 修改jmeter.properties檔案,jmeter.save.saveservice.output_format=xml,去掉前面的註釋符
  • 拷貝apache-jmeter-3.3\extras\ant-jmeter-1.1.1.jar到apache-ant-1.10.6\lib目錄下
  • cmd命令進入apache-jmeter-3.3\extras目錄,執行"ant.bat -file build.xml -Dtest=Test" ,檢視\apache-jmeter-3.3\extras目錄下是否出現Test.jtl、Test.html檔案,若有,則構建成功
  • 開啟html格式檔案,檢視jmx指令碼的測試報告,模板為jmter原生模板,下面自定義模板

5.修改build.xml檔案

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!-- build.xml編碼格式為utf-8格式-->
 3 <project name="ant-jmeter-test" default="run" basedir=".">
 4     <tstamp> 
 5         <!-- 設定日期時間格式--> 
 6         <format property="datetime" pattern="yyyyMMddhhmm" />
 7     </tstamp>
 8     <!-- 引用命令"ant.bat -file build.xml -Dtest=Test"中的test屬性名稱,如:${test}即屬性值為Test,優先引用 -->
 9     <!-- 本地存放report的路徑,即html格式和jtl格式的結果報告-->
10     <property name="reportdir" value="F:\data\jmeter\report" />
11     <!-- jmeter中script路徑 -->
12     <property name="scriptdir" value="F:\data\jmeter\scripts" />
13     <!-- 本地 jmeter 目錄-->    
14     <property name="jmeter.home" value="C:\software\apache-jmeter-4.0" />
15     <!-- 報告標題--> 
16     <property name="report.title" value="介面測試"/>
17     <!--如果名稱name為命令ant.bat -file build.xml -Dtest=Test中的test屬性名稱,則優先引用test屬性值即Test,不會再引用value值--> 
18     <property name="test" value="ReportName"/> 
19     <!-- 生成報告名稱引用當前設定的值-->   
20     <property name="ReportName" value="TestReport" />
21     <!-- 報告名稱加入當前時間${datetime},如:${reportdir}/${ReportName}${datetime}.html-->
22     <property name="jmeter.result.jtlName" value="${reportdir}/${ReportName}.jtl" />
23     <property name="jmeter.result.htmlName" value="${reportdir}/${ReportName}.html" />
24     <!-- 報告的輸出格式"xml"-->
25     <property name="jmeter.save.saveservice.output_format" value="xml"/>
26     <!-- 引用jar路徑-->
27     <path id="xslt.classpath">
28         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
29         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
30     </path>
31     <!-- 運行了兩個標籤中的內容-->  
32     <target name="run">
33         <!--測試指令碼標籤對應下面的jMeter指令碼-->
34         <antcall target="test" />
35         <!--測試指令碼標籤對應下面的jMeter指令碼後產生測試報告的--> 
36         <antcall target="report" />
37     </target>
38     <!--JMeter指令碼執行,name屬性值和上面name中標籤下的<antcall target="test" /> target值對應-->
39     <target name="test">
40         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
41             <!-- 命令執行jmeter後,會生成jtl檔案,html檔案通過獲取jtl檔案內容展示報告-->
42             <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
43                 <!-- 宣告要執行的指令碼,可以是一個指令碼或者全部指令碼,"*.jmx"指包含此目錄下的所有jmeter指令碼-->  
44                 <testplans dir="${scriptdir}" includes="${test}.jmx" />
45             </jmeter>
46     </target>
47      <!--JMeter指令碼執行,name屬性值和上面name中標籤下的<antcall target="report" /> target值對應-->     
48     <target name="report">
49         <tstamp>
50             <!-- 設定測試報告的日期時間格式,大寫HH-24小時,小寫hh-12小時-->
51             <format property="report.datetime" pattern="yyyy/MM/dd HH:mm" />
52         </tstamp>
53         <!-- 將jtl格式轉換成html格式報告,及匯入樣式模板style-->
54         <xslt classpathref="xslt.classpath"
55               force="true"
56               in="${jmeter.result.jtlName}"
57               out="${jmeter.result.htmlName}"
58               style="${reportdir}/jmeter.results.shanhe.me.xsl">
59             <param name="titleReport" expression="${report.title}"/>
60             <!-- param引數是引用style檔案中的樣式引數-->
61             <param name="dateReport" expression="${report.datetime}"/>
62         </xslt>
63         <copy todir="${reportdir}">  
64             <fileset dir="${jmeter.home}/extras">  
65                 <include name="collapse.png" />  
66                 <include name="expand.png" />  
67             </fileset>  
68         </copy>  
69     </target> 
70 </project>

 

6.配置測試報告樣式

下載合適的style樣式模板

build.xml對應style檔案修改

修改jmeter.properties

7.自定義測試報告

在本地建立一個存放report和script的目錄:如:F:\data\jmeter\report,F:\data\jmeter\script

把build.xml檔案和樣式模板檔案style都放入該目錄下

cmd命令進入report目錄後,執行ant.bat -file build.xml -Dtest=指令碼檔名(不需要字尾),report目錄自動生成jtl和html檔案,ant -h檢視命令的使用

&n