我的套路(windows):Jenkins+Jmeter+Ant持續集成


前期准備:

  1、Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    命令行輸入:java -version,出現如下提示說明安裝成功

  

  2、ANT下載:http://ant.apache.org/bindownload.cgi。配置環境變量

    命令行輸入:ant -v,出現如下提示說明安裝成功

  

  3、Jmeter下載:http://jmeter.apache.org/download_jmeter.cgi

  4、將 jmeter的extras目錄中ant-jmeter-1.1.1.jar包拷貝至ant安裝目錄下的lib目錄中

  5、修改Jmeter的bin目錄下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml 

 

一、Jenkins下載安裝

      到官網下載jenkins.war包:http://jenkins-ci.org/。把下載下來的jenkins.war包放到文件夾下,如C:\jenkins,然后打開命令行窗口並進到該目錄下,執行java -jar jenkins.war命令,當提示:“Jenkins is     fully up and running”時,表示啟動成功,這時在瀏覽器窗口輸入:http://localhost:8080/ 就可到jenkins的首頁

 

二、修改Jenkins的根目錄(可改可不改)

  默認地在C:\user\.jenkins ,可以通過設置環境變量來修改,將JENKINS_HOME設為D:\jenkins,然后重新啟動jenkins

 

三、安裝Jenkins插件

      系統管理-->管理插件-->可選插件:HTML Publisher plugin、Performance plugin

 

四、配置JOB

      1. 在Jenkins首頁點擊【新建】任務的,選擇【構建一個自由風格的軟件項目】,輸入名字后點擊【OK】

      2. 增加構建步驟的說明:

         ① Execute Windows batch commnd:這個就是windows命令行參數(默認當前路徑是job的workspace,如果命令很多可以寫成批處理文件放在job的工作目錄下,在這引用就好)

     ② Execute shell:運行shell、python,perl,ruby等腳本

     ③ Invoke Ant:支持Ant構建

 

      3. 增加構建后操作步驟:可以根據自己的需要選擇,常用的是發送郵件,也可以安裝jenkins的插件,安裝插件后這里會有相應的選項

 

此處有坑:

HTML Publisher Plugin 插件在新的Jenkins版本中會導致打開的網頁中無法加載CSS以及無法點擊按鈕的情況,由於CSP導致,可在Jenkins的系統管理—>腳步命令行中執行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") 以解決此問題。其他由於CSP原因導致的html插件也可用此方法解決

 

 

四、保存,構建job

 

五、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     
 9      <property environment="env"/>
10      <property name="ReportName" value="TestReport" />
11  
12     <!-- 需要改成自己本地的 Jmeter 目錄-->  
13     <property name="jmeter.home" value="D:\Jmeter-3.0" />
14     <!-- jmeter生成jtl格式的結果報告的路徑--> 
15     <property name="jmeter.result.jtl.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
16     <!-- jmeter生成html格式的結果報告的路徑-->
17     <property name="jmeter.result.html.dir" value="D:\Jmeter-3.0\demo\report\html" />
18     <!-- 生成的報告的前綴-->  
19     <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl" />
20     <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />
21     
22     <target name="run">
23          <echo message="start..."/>
24          <antcall target="clean" />
25          <antcall target="test" />
26         <antcall target="report" />
27     </target>
28     
29     <target name="clean">
30          <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
31     </target>
32 
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             <!-- 聲明要運行的腳本。"*.jmx"指包含此目錄下的所有jmeter腳本-->
38             <testplans dir="D:\Jmeter-3.0\demo" includes="*.jmx" />
39 
40               <property name="jmeter.save.saveservice.output_format" value="xml"/>
41 
42         </jmeter>
43     </target>
44     
45     
46     <path id="xslt.classpath">
47             <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
48             <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
49     </path>
50 
51 
52     <target name="report">
53         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
54       <xslt
55           classpathref="xslt.classpath"
56                         force="true"
57                         in="${jmeter.result.jtlName}"
58                         out="${jmeter.result.htmlName}"
59                         style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
60          <!--param name="showData" expression="${show-data}" /-->
61           <param name="dateReport" expression="${report.datestamp}"/>
62       </xslt>
63          <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 --> 
64                 <copy todir="${jmeter.result.html.dir}">
65                     <fileset dir="${jmeter.home}/extras">
66                         <include name="collapse.png" />
67                         <include name="expand.png" />
68                     </fileset>
69                 </copy>
70     </target>
71     
72     
73 </project>

 

 

六、報告優化

  1. 添加展示響應數據內容
  2. 添加響應數據過長換行功能
  3. 編輯jmeter-results-detail-report_21.xsl 查看響應數據,修改為:
     
  4.  
    需要刪除build文件中的showData配置,否則會導致編譯出來的仍然不顯示

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM