Jmeter&Ant構建自動化測試平臺

 1、jmeterphp

jmeter下載地址爲:http://jmeter.apache.org/download_jmeter.cgihtml

下載完成後,解壓文件,java

加壓後,到biin目錄下,點擊jmeter.bat啓動jmeter(若是是linux環境,給jmeter.sh可執行的權限,而後執行jmeter.sh就能夠啓動jmeter)linux

安裝下載jdk配置環境變量apache

2、ant瀏覽器

點擊進入ant官網,找到下載選項。測試

http://ant.apache.org/優化

設置環境變量:ui

window中設置ant環境變量:spa

ANT_HOME    D:/ apache-ant-1.9.0

path             D:/ apache-ant-1.9.0/bin(按照其餘的教程設置的不對)

classpath      D:/apache-ant-1.9.0/lib

ant驗證:win+R  --  cmd

輸入以下命令:ant -version

若是出現以下內容,說明安裝成功:

3、Jenkins安裝

http://jenkins-ci.org下載

點擊setup安裝

在瀏覽器輸入http://localhost:8080/進行訪問

(默認端口是8080,若是端口被佔用,修改Jenkins安裝目錄下的配置文件,Jenkins.xml中httpport=8080,修改成不佔用的端口8081)

操做步驟:

一、錄製jmeter腳本(此處省略N。。。)

二、將jmeter安裝目錄下的extras目錄中的「ant-jmeter-1.1.1.jar」這個jar放到ant的(安裝目錄)\lib目錄下(關鍵)

三、配置jmeter的build.xml配置文件(D:\apache-jmeter-3.1\extras\build.xml)

在JMETER目錄下新建一個testcase目錄,把要運行的腳本放在此目錄下,把編輯的新的build文件放在此目錄下;在F:\apache-ant-1.9.4\bin目錄下也放build文件(反正不知道對不對,剛開始沒放的時候死活報錯。。。。。就這樣吧)

build.xml文件以下

 1 <?xml version="1.0" encoding="UTF8"?>
 2 
 3 <project name="Jmeter-TestCase" default="run" basedir=".">
 4     <tstamp>
 5         <format property="time" pattern="yyyyMMddhhmm" />
 6      </tstamp>
 7 
 8      <!--jmeter目錄路徑-->
 9      <property name="jmeter.home" value="D:\apache-jmeter-3.1" />
10      <!--jmeter生成報告的路徑,二種格式-->
11      <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-3.1\TestCase\jtl" />
12      <property name="jmeter.result.html.dir" value="D:\apache-jmeter-3.1\TestCase\html" />
13 
14      <!--生成jmeter報告的前綴和定義結果集的路徑-->
15      <property name="ReportName" value="TestReport" />
16      <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
17      <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
18      
19     <target name="run">
20          <antcall target="test" />
21          <antcall target="report" />
22      </target>
23      
24      <!--測試腳本-->
25      <target name="test">
26          <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
27          <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
28          <!--聲明要運行的腳本-->
29             <testplans dir="D:\apache-jmeter-3.1\TestCase" includes="*.jmx" />
30             <property name="jmeter.save.saveservice.output_format" value="xml"/>
31             <property name="jmeter.save.saveservice.assertion_results" value="all"/>
32             <property name="jmeter.save.saveservice.bytes" value="true"/>
33             <property name="file_format.testlog" value="${format}"/>
34             <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
35          </jmeter>
36      </target>
37 
38          
39     
40      <target name="report">
41          <xslt in="${jmeter.result.jtlName}"
42               out="${jmeter.result.htmlName}"
43               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
44               <!-- 由於上面生成報告的時候,不會將相關的圖片也一塊兒拷貝至目標目錄,因此,須要手動拷貝 -->
45          <copy todir="${jmeter.result.html.dir}">
46              <fileset dir="${jmeter.home}/extras">
47                  <include name="collapse.png" />
48                  <include name="expand.png" />
49              </fileset>
50         </copy>
51      </target>
52 
53  </project>

 

jmeter Ant xml 文件

  •   Ant關鍵元素

  Ant的構建是基於XML編寫的,默認名稱是build.xml

  project元素是ant構建文件的跟元素,ant構建文件至少包含一個project元素,每一個project元素下,可包含多個target元素。

  (1)name屬性

    用於指定project元素的名稱

  (2)default屬性

    用於指定project默認執行時所執行的target的名稱

  (3)basedir屬性

    用於指定jmeter的基路徑的位置,該屬性沒有指定時,使用ant的構建文件的附目錄做爲基準目錄

  • target元素

   是ant的基本執行單元,她能夠包含一個或是多個具體的任務,多個target能夠存在相互依賴關係。有    以下屬性:

  (1)name屬性

  (5)description屬性

    是target功能的簡單描述和說明

  • property屬性

四、cd到進入jmeter的build目錄下運行ant(個人是D:\apache-jmeter-3.1\TestCase)

 

生成的報告以下

 

五、 測試報告優化

  用jmeter自帶的測試報告獲得的測試報告信息並非很全,這裏參考網上的方法,作一個優化

  • 下載下載優化模板 jmeter-results-shanhe-me.xsl,拷貝到jmeter的extras目錄中

        href="http://shanhe.me/download.php?file=jmeter.results.shanhe.me.xsl

  • 編輯D:\apache-jmeter-3.1\bin\jmeter.properties文件,設置須要輸出的內容爲true,並去掉前面的註釋符號#,這裏所有設置成true

  • 設置build文件的報告模板爲優化後的模板jmeter-results-shanhe-me.xsl

 按前面的方式再次用ant構建測試,查看優化後的測試報告

 

六、部署到持續集成平臺Jenkins

打開http://localhost:8080/

點擊新建-輸入項目名稱-OK-在構建裏面選擇invoke_Ant-高級-輸入jmeter的build文件的目錄

 

 

 基本配置完成:

JOB主頁,點擊當即構建,執行測試,構建完成便可經過HTML_Report來查看測試結果

 

 繼續構建基本完成,另外還 能夠配置郵件插件來發送測試報告,設置構建時間來定時自動執行測試  (後續加上)

碰見的問題

一、運行ant的時候老是報錯。以下提示java(tm) platform se binary 已中止工做

解決方式:

  • 從新配置jdk的環境變量
  • 我原先安裝的是jdk8,仍是報錯,最後卸載從新安裝了jdk7,問題就解決了!!!!!

二、在jenkins構建運行的時候報錯:提示Java.exe不是內部程序說明的(其實我也不知道什麼鬼啊,覺得我成功了,結果卡在這裏,各類百度,心酸。。。)

猜想應該是和jdk的環境變量有關係(不要問我怎麼猜的。。。。我也不知道)

系統管理-系統設置-全局屬性-Environment variables-添加jdk的環境變量

 

失敗了這麼多,最後纔算是成功了

查看控制檯的輸出---這個和命令行ant run運行輸出是同樣噠。。。

三、記得安裝報告的插件(在jenkines中安裝報告的插件,還有其餘的不想說了)

終於完成了。。。。。。。。。。

相關文章
相關標籤/搜索