Ant+Jmeter+Jenkins集成
阿新 • • 發佈:2018-02-01
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集成