1. 程式人生 > >Ant+Jmeter+Jenkins集成

Ant+Jmeter+Jenkins集成

ssp echo 一個 get 模板 tail 軟件項目 ria star

準備工作

  • 安裝配置Java環境

  • 安裝Tomcat和Jenkins

  • 安裝Ant

配置

1.將Jmeter安裝目錄apache-jmeter-3.0\extras文件夾中的ant-jmeter-1.1.1.jar復制到Ant安裝目錄下的lib文件夾下。

技術分享圖片

2.修改Jmeter配置文件jmeter.properties

  • 修改jtl文件格式

   技術分享圖片

  技術分享圖片

  • 添加jtl文件結果參數

   技術分享圖片

3.編寫ant的build.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <project name="ant-jmeter-test"
default="run" basedir="."> 4 <tstamp> 5 <format property="time" pattern="yyyyMMddHHmm" /> 6 </tstamp> 7 8 <property name="TestScript" value="login" /> 9 10 <!--本地Jmeter目錄--> 11 <property name="jmeter.home" value="D:\apache-jmeter-3.0"
/> 12 <!--jmeter生成jtl、html格式的結果報告的路徑--> 13 <property name="jmeter.result.jdir" value="jmeter\results\jtl" /> 14 <property name="jmeter.result.hdir" value="jmeter\results\html" /> 15 <!--生成的報告--> 16 <property name="jmeter.result.jtlName" value="${jmeter.result.jdir}/${TestScript}${time}.jtl"
/> 17 <property name="jmeter.result.htmlName" value="${jmeter.result.hdir}/${TestScript}${time}.html" /> 18 <!--Git拉取到本地,腳本地址--> 19 <property name="githome" value="jmxs" /> 20 21 22 <target name="run"> 23 <echo message="start..." /> 24 <antcall target="init" /> 25 <antcall target="test" /> 26 <antcall target="report" /> 27 </target> 28 29 <target name="init"> 30 <mkdir dir="${jmeter.result.jdir}" /> 31 <mkdir dir="${jmeter.result.hdir}" /> 32 </target> 33 34 <target name="test"> 35 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> 36 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 37 38 <!--聲明要運行的腳本:“*.jmx”指包含此目錄下的所有Jmeter腳本,includes裏的文件用逗號隔開--> 39 <testplans dir="${githome}" includes="${TestScript}.jmx" /> 40 41 <property name="jmeter.save.saveservice.output_format" value="xml" /> 42 </jmeter> 43 </target> 44 45 <!--獲取jar包--> 46 <property name="lib.dir" value="${jmeter.home}/lib" /> 47 <path id="xslt.classpath"> 48 <fileset dir="${lib.dir}" includes="xalan*.jar" /> 49 <fileset dir="${lib.dir}" includes="serializer*.jar" /> 50 </path> 51 52 <!--把生成的.jtl數據文件轉換成.html格式的報告--> 53 <!-- 自己選擇測試報告模板 --> 54 <target name="report"> 55 <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> 56 <xslt 57 classpathref="xslt.classpath" 58 force="true" 59 in="${jmeter.result.jtlName}" 60 out="${jmeter.result.htmlName}" 61 style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> 62 <param name="dateReport" expression="${report.datestamp}" /> 63 </xslt> 64 65 <!--生成報告的時候,需要手動將相關的圖片一起起拷貝至目標目錄--> 66 <copy todir="${jmeter.result.hdir}"> 67 <fileset dir="${jmeter.home}/extras"> 68 <include name="collapse.png" /> 69 <include name="expand.png" /> 70 </fileset> 71 </copy> 72 </target> 73 74 </project>

4.測試ant命令是否生效

技術分享圖片

註意:

不同的測試報告模板生成的HTML結果報告:

jmeter-results-detail-report_21.xsl

顯示了用例數、成功率、響應時間

技術分享圖片

jmeter.results.shanhe.me.xsl

顯示各請求的詳細結果

技術分享圖片

5.配置Jenkins

  • 安裝插件

  技術分享圖片

  • 全局工具配置

  技術分享圖片

  技術分享圖片

  • 新建一個“構建一個自由風格的軟件項目”

  技術分享圖片

  • 參數化腳本名

  技術分享圖片

  技術分享圖片

  技術分享圖片

  技術分享圖片

  技術分享圖片

配置完成,進行構建實踐

  技術分享圖片

   技術分享圖片

註意:

HTML Publisher Plugin 插件在新的Jenkins版本中會導致打開的網頁中無法加載CSS以及無法點擊按鈕的情況,由於CSP導致,可在Jenkins控制臺中執行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

以解決此問題。其他由於CSP原因導致的html插件也可用此方法解決

技術分享圖片

Ant+Jmeter+Jenkins集成