Jenkins+Jmeter+Ant自動化集成環境搭建

Jenkins + Jmeter +Ant自動化集成環境搭建


軟件測試技術交流羣 : 429183023 


2017-03-24更新,部分網友反映build.xml文件設置有問題,之前版本的blog的確是沒有貼出來具體的build設置,此次更新已經給出參考配置


注意:大家有什麼問題的,可以加羣一起聊,或者評論留言


搭建環境(此篇blog編寫時候的搭建環境,目前雲盤已經上傳JDK、Ant、Jmeter、Jenkin最近版本):

JDK:jdk1.7.0_79

Ant:apache-ant-1.9.7

Jmeter: apache-jmeter-2.13

Jenkins: jenkins-1.651.1

以上安裝包以及相關工具,jmeter常用插件下載地址:

http://pan.baidu.com/s/1pKWPi5d

 

  1. JDK安裝:
    1. 雙擊JDK安裝包,選擇安裝路徑(爲了節省C盤系統盤空間,不建議選擇默認路徑。本人所有相關軟件全部安裝在 D:\Progrom Files目錄下,例如Jdk安裝在D:\Progrom Files\Java\jdk1.7.0_79路徑下);

    1. 配置JDK環境變量:

1)系統變量→新建 JAVA_HOME 變量 。

變量值填寫jdk的安裝目錄(本人是 D:\Progrom Files\Java\jdk1.7.0_79);

 

2)系統變量→尋找 Path 變量→編輯

在變量值最後輸入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原來Path的變量值末尾有沒有;號,如果沒有,先輸入;號再輸入上面的代碼)

 

3)系統變量→新建 CLASSPATH 變量

變量值填寫 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一點)

系統變量配置完畢

 

4)檢驗是否配置成功 運行cmd 輸入 java -version (java 和 -version 之間有空格)

若如圖所示 顯示版本信息 則說明安裝和配置成功。

 

  1. Jmeter安裝:
    1. 解壓apache-jmeter-2.13.zip到D:\Progrom Files目錄下。

    2. Jmeter插件的安裝。解壓JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,將對應ext目錄下的文件拷貝到D:\Progrom Files\apache-jmeter-2.13\lib\ext目錄下;

    3. 配置jmeter環境變量:

    1) 設置環境變量,新建系統變量在變量名中輸入:JMETER_HOME,變量值中輸入:D:\Progrom Files\apache-jmeter-2.13,點擊確定即可。

    2) 在環境變量CLASSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

    在環境變量Path中添加%JMETER_HOME%\bin
    3) 檢驗是否配置成功 運行cmd 輸入 jmeter -v (jmeter和 -v 之間有空格)

    若如圖所示 顯示版本信息 則說明安裝和配置成功。

  2. 安裝Ant
    1. 解壓apache-ant-1.9.7-bin.zip到D:\Progrom Files目錄下;

    2. 配置Ant環境變量
      1. 新建以下環境變量:

        ANT_HOME:D:\Progrom Files\apache-ant-1.9.7,此爲你的ANT安裝路徑;

        設置完成後,點擊"確認"來保存。

      2. 在環境變量PATH的最後面添加一下內容:

        ;%ANT_HOME%\bin 注意前面的分號,如果PATH中最後沒有分號";"的話要加上,有的話就可去除。

      3. 進入cmd命令窗口,在CMD窗口中輸入ant -version,敲擊回城鍵,會顯示出你安裝的ANT版本,如果成功顯示,說明你的配置應該是成功了.
    3. 本地調試使用ant構建運行Jmeter,並且生成jtl、Html報告;
      1. jmeter默認保存的是.csv格式的文件,所以我們先要設置一下bin/jmeter.properties文件內容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
      2. 將apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷貝到apache-ant-1.9.7\lib目錄下;
      3. 在\apache-jmeter-2.13\extras目錄下打開CMD,運行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目錄下是否出現Test.jtl、Test.html文件,若有,則構建成功。注意:Test.jmx是默認存在的Sample腳本文件。

        若構建失敗,請分析cmd打印的日誌消息,定位問題;

      4. build文件推薦設置:

      5. <!-- 這個是推薦build,至於原理,大家可以查看ant-jmeter-1.1.1.jar源碼 -->  
        
        
        


      6. <?xml version="1.0" encoding="UTF-8"?>
        
        <project name="ant-jmeter-test" default="run" basedir=".">
            
        	<tstamp>
                <format property="time" pattern="yyyyMMddhhmm" />
            </tstamp>
        	<property name="basedirectory" value="D:\Program Files\apache-jmeter-3.1\extras" />
            <!-- 需要改成自己本地的 Jmeter 目錄-->  
            <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.1" />
            <!-- jmeter生成jtl格式的結果報告的路徑--> 
            <property name="jmeter.result.jtl.dir" value="${basedirectory}" />
            <!-- jmeter生成html格式的結果報告的路徑-->
            <property name="jmeter.result.html.dir" value="${basedirectory}" />
        	<!-- Name of test (without .jmx) -->
        	<property name="test" value="Test"/>
            <!-- 生成的報告的前綴-->  
            <property name="ReportName" value="TestReport" />
            <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />
            <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />
            
            <path id="xslt.classpath">
                <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
                <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
            </path>
            
            <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="${basedirectory}" includes="${test}.jmx" />
                </jmeter>
            </target>
                
            <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-detail-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>
  3. 安裝Jenkins:
    1. 本人安裝的是jenkins-1.651.1.msi安裝版,也可自行選擇安裝Jenkins其他版本;
    2. 雙擊jenkins.msi啓動安裝,安裝目錄選擇D:\Progrom Files\Jenkins,然後啓動成功。
    3. Jenkins服務默認端口爲8080,如與其他服務衝突,可在..\Jenkins\jenkins.xml中修改默認端口,如我這裏修改爲--httpPort=7033;

    4. Jenkins服務默認是自動啓動的,如果想修改爲手動啓動,請自行管理->服務,找到Jenkins服務,修改爲手動啓動即可。

    5. 打開Jenkins,首次進入會默認讓你選擇安裝插件(此處如果完全不清楚自己需要什麼插件,建議全選)。插件安裝完成之後,需要設置登錄用戶,按照自己喜好設置即可。
    6. 進入Jenkins主頁:

    1. 系統設置->管理插件->可選插件,搜索Performance plugin(Jmeter報告需要),安裝此插件;

    2. Jenkins設置Ant的環境變量:
      1. 系統設置->Global Tool Configuration,找到ant,新增Ant,輸入Ant的Name,安裝路徑;

    3. Jenkins設置郵件:
      1. 按照如圖所示設置即可,本處設置的是QQ企業郵箱的服務,其他郵箱按照類似設置即可。

      1. 測試郵件發送成功之後,Extended E-mail Notification參照上面的設置即可。(注意:必須配置,否則後期項目構建發送郵件將失敗)

         

    4. 配置測試項目
      1. 新建測試項目(接口測試) :

        在Jenkins首頁左邊 點擊新建 -> 選擇"構建一個自由風格的軟件項目",輸入Item名稱(中英文不限,建議使用英文) –> 點擊OK,進入你新建的測試項目的配置頁面;

      2. 項目配置步驟1:

        a、描述:用於編寫該項目的介紹(請忽略);

        b、丟棄舊的構建:這裏勾選上,爲了避免多餘的構建日誌、臨時文件佔磁盤空間,需要定期的清除過期文件。例如這裏選擇保存3天之內的構建文件,最大保存N個構建項目的文件;

        具體設置如下圖所示:

      3. 項目配置步驟2:
        1. 配置工作空間:

          點擊高級項目選項右側的高級 -> 勾選使用自定義的工作空間;

          目錄填寫你的Jmeter安裝目錄\extras即可。說明:比如上面步驟中,大家的jmeter安裝目錄爲D:\Progrom Files\apache-jmeter-2.13,則此處填寫D:\Progrom Files\apache-jmeter-2.13\extras;

           

          (說明:設置工作目錄主要是ant構建時用到了該目錄下的build.xml文件,以及的的jmx腳本文件、jtl文件、html文件存放在此處; 準確的來說,此工作目錄與jmeter沒有任何關係,只是初學爲了避免干擾,這裏直接將工作空間與jmeter直接聯繫在了一起。)

      4. 項目配置步驟3:
        1. 源碼管理,這裏不涉及,選擇none;
        2. 構建觸發器:選擇此項目構建的觸發條件,例如本項目的是爲了實現接口的定時監控,於是選擇Build periodically(定期構建)。

          注意:關於定期構建參數的說明:"* * * * *",總共有5個參數,分別代表分(0~59)、時(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);

        3. 構建 -> 增加構建操作 -> Execute Windows batch command ;

          此處編寫刪除jtl文件的命令(因爲Jmeter運行jmx腳本文件,生成jtl報告文件。如果存在同名的jtl文件,並不會覆蓋,而是追加,所以每次構建運行jmeter腳本文件之前需要刪除jtl文件):

          del "D:\Progrom Files\Jenkins\jobs\apache-jmeter-2.13\extras"\***.jtl

         

      5. 項目配置步驟4:

        Invoke Ant配置

        1. Ant Version 選擇之前在jenkins設置的ant;
        2. Properties 填寫test=***,此處***爲你的jmeter 文件名字(不帶.jmx)。

          說明:此處test=***的原因,可以查看工作目錄extras下的build.xml文件中有這樣的一段代碼:<property name="test" value="Test"/>,test變量的默認值是Test,我們Properties就是爲了給build.xml文件的變量重新賦值的。建議自行了解build.xml文件的結構;

      6. 項目配置步驟5:
        1. 新增構建後操作Archive the artifacts,add a New report(JMeter),

          填寫用於存檔的文件"**/+++.html",這裏+++與你的jmx文件名一致;

          填寫Report files: **/---.jtl,這裏---與你的jmx文件名一致;

           

        1. 新增構建後操作E-mail Notification

        1. 新增構建後操作Editable Email Notification,如圖

        然後選擇 -> Advanced Settings... ,出現Triggers,這裏我們可以根據需要增加Triggers。例如本人增加了Failure – Still(持續失敗)的情況下郵件報警;

        Recipient List :收件人的郵箱,用";"間隔

        SubJect:郵件標題

        Content: 郵件內容,可以按照HTML格式編寫。

        如圖所示

 

到這裏整套環境就搭建完成了,可以自行構建測試是否達到預期;

 

發佈了15 篇原創文章 · 獲贊 35 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章