jmeter+ant生成html報告

  • 2019 年 10 月 3 日
  • 筆記

1.jdk安裝

2.jmter安裝

3.ant安裝

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

ant環境變量配置

  • 新建系統變量:ANT_HOME,變量值為Ant的本地安裝路徑,如:ANT_HOME=D:softwareapache-ant-1.10.6
  • Path=%ANT_HOME%bin
  • CLASSPATH=%ANT_HOME%lib
  • 打開命令行,輸入ant -v命令,或者ant -version命令,打印ant版本號表示配置成功

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

  • 修改jmeter.properties文件,jmeter.save.saveservice.output_format=xml,去掉前面的注釋符
  • 拷貝apache-jmeter-3.3extrasant-jmeter-1.1.1.jar到apache-ant-1.10.6lib目錄下
  • cmd命令進入apache-jmeter-3.3extras目錄,運行”ant.bat -file build.xml -Dtest=Test” ,查看apache-jmeter-3.3extras目錄下是否出現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:datajmeterreport" />  11     <!-- jmeter中script路徑 -->  12     <property name="scriptdir" value="F:datajmeterscripts" />  13     <!-- 本地 jmeter 目錄-->  14     <property name="jmeter.home" value="C:softwareapache-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:datajmeterreport,F:datajmeterscript

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

cmd命令進入report目錄後,執行ant.bat -file build.xml -Dtest=腳本文件名(不需要後綴),report目錄自動生成jtl和html文件,ant -h查看命令的使用