一直想在持續集成方向學習並研究一番,近期正準備結合jmeter+ant+jenkins作自動化接口測試,在學習的同時,正好實踐一番,畢竟實踐纔是真理。html
在搭建jmeter+ant+jenkins環境有些前提條件,那就是要先配置好java環境、安裝好jenkins以及配置好jmeter,這樣才能省去不少的事情,若是在搭建這套環境以前,尚未配置好剛說起的這三套工具環境,那還得先配置一番,具體的配置方法就不細說,可參見之前的博客:java
1.jmeter安裝:http://www.javashuo.com/article/p-mxubbnfv-w.html,該博文中包含java環境的配置方式express
2.jenkins安裝:http://www.javashuo.com/article/p-hbprirwh-r.htmlapache
將前置工做作好後,那就進入到今天的話題,jmeter+ant+jenkins的環境搭建工具
下載地址:http://ant.apache.org/學習
官網頁面以下,找到download位置,點擊下載ant安裝文件測試
環境變量的配置方式就不用多說了,以下所示:ui
win+r打開cmd控制檯,輸入ant或者ant -version回車,出現以下界面,即表示配置成功spa
以下所示:插件
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddHHmmss" /> </tstamp> <!-- 須要改爲本身本地的 Jmeter 目錄--> <property name="jmeter.home" value="C:\apache-jmeter-3.3" /> <!-- jmeter生成jtl格式的結果報告的路徑--> <property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-3.3\demo\report\jtl" /> <!-- jmeter生成html格式的結果報告的路徑--> <property name="jmeter.result.html.dir" value="C:\apache-jmeter-3.3\demo\report\html" /> <!-- 生成的報告的前綴--> <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="run"> <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="C:\apache-jmeter-3.3\demo" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-report_21.xsl"> <!-- 修改本身本地存在的樣式文件名 --> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
將對應須要修改的配置,改爲本身環境路徑以及名稱便可
將jmeter.save.saveservice.output_format=csv修改成:jmeter.save.saveservice.output_format=xml
文件路徑:C:\apache-jmeter-3.3\bin\jmeter.properties
結合配置文件中的配置,將腳本放到對應的文件夾中,在dos窗口進入到對應目錄下,輸入ant回車,便可運行腳本
提示successful,表示運行成功,來看對應的測試報告,以下:
配置日期格式混淆了,故作個記錄
/*
* 日期格式化類(必須掌握)
* API:
* G Era 標誌符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的週數 Number 27
W 月份中的週數 Number 2
D 年中的天數 Number 189
d 月份中的天數 Number 10
F 月份中的星期 Number 2
E 星期中的天數 Text Tuesday; Tue
a Am/pm 標記 Text PM
H 一天中的小時數(0-23) Number 0
k 一天中的小時數(1-24) Number 24
K am/pm 中的小時數(0-11) Number 0
h am/pm 中的小時數(1-12) Number 12
m 小時中的分鐘數 Number 30
s 分鐘中的秒數 Number 55
S 毫秒數 Number 978
z 時區 General time zone Pacific Standard Time; PST; GMT-08:00
Z 時區 RFC 822 time zone -0800
腳本在dos窗口運行成功,說明jmeter+ant是已經實現,如今就要結合jenkins來實現自動構建。在安裝好了jenkins的環境中,輸入localhost:8080便可進入jenkins頁面,地址和端口看各自的配置
配置構建
須要先安裝插件HTML Publisher,插件安裝成功後,纔有該選項,具體安裝就略過了
配置好,保存便可
就是剛配置的html報告
報告模板樣式能夠更改,下載樣式後,在build.xml配置文件中修改便可
1.構建時,提示ant.bat不是內部或外部命令,也不是可運行的程序或批處理文件。
解決辦法:檢查配置,發現是配置ant時,名稱與系統配置的ant名稱不一致,致使構建失敗。以下兩圖所示,名稱需保持一致。
環境配置下來,其中也學到了不少,以前看文章知識,以爲配置是個很麻煩的事情,本身實際操做一番,倒以爲也不是那麼難,只要本身想作,就必定能夠。
本文僅表明做者觀點,系做者@溫一壺清酒發表。
歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。
文章出處:http://www.cnblogs.com/hong-fithing/