1. 程式人生 > 其它 >如何通過Jenkins整合自動化介面測試

如何通過Jenkins整合自動化介面測試

 目錄

如何通過Jenkins整合自動化介面測試

前言

  1. 由於業務要求,最近做了介面自動化測試。在此之前,在網上了解不同的框架。結合我們目前使用jmeter做介面測試,並且已輸出了大量測試指令碼,綜合考慮工作量、時間成本等客觀因素之後,決定採用jmeter+ant+jenkins+svn的框架搭建一套自動化部署流程。該框架已基本滿足我們日常介面自動化測試。廢話不多說,請閣下參見以下步驟。

工具安裝

安裝jmeter

  1. 下載jmeter安裝包
    下載地址: http://jmeter.apache.org/download_jmeter.cgi

  2. 配置環境變數
    JMETER_HOME 為 jemter安裝路徑;(如:E:\install\apache-jmeter-5.3)
    PATH為%JMETER_HOME%\bin (結尾不要加;)

  3. 安裝驗證
    在命令視窗中輸入jmeter -v回車,能出現jmeter版本則說明配置成功

安裝JDK

  1. 下載jdk安裝包
  2. 配置環境變數
    JAVA_HOME 為( 如:E:\install\Java\jdk1.8.0_121)
    CLASSPATH為 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
    PATH為 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
  3. 安裝驗證
    在命令視窗中輸入java -version回車,能出現java版本則說明配置成功

安裝ant

  1. 下載ant安裝包
    地址:https://ant.apache.org/bindownload.cgi

  2. 配置環境變數
    ANT_HOME 為 (如:E:\install\apache-ant-1.10.11)
    CLASSPATH為 %ANT_HOME%\lib;
    PATH為 %ANT_HOME%\bin

  3. 安裝驗證
    命令列輸入ant -v,出現版本資訊則安裝成功

  4. 配置ant

配置庫檔案
1)將jmeter extras目錄下的ant-jmeter-1.1.1.jar檔案拷貝到ant安裝目錄下的lib資料夾中。

修改jmeter的bin目錄下jmeter.properties檔案的配置:由原來的jmeter.save.saveservice.output_format=csv改為jmeter.save.saveservice.output_format=xml,並且去掉註釋。

2)配置ant的編譯檔案build.xml
複製模板檔案並命名為build.xml, 然後修改文件畫紅框的內容。

build.xml模板檔案:
build-mail.xml
build-without-mail-info.xml

以下是基於Jenkins伺服器和svn不在一臺伺服器時的build.xml檔案配置

Jenkins伺服器上需安裝jmeter和ant並配置環境變數。

3) 驗證配置
將之前的jmeter的指令碼和build.xml配置檔案放在與測試指令碼相同的目錄下,如下圖:

4)執行構建測試
進入命令列,進入build.xml檔案所在目錄,執行ant run命令。
如我的E:\jmeter\script下面有兩個指令碼,如下圖為執行成功:

5)檢視測試報告
在報告輸出存放路徑下檢視是否有jtl和html結果報告



6)優化測試報告
(1)下載報告模板jmeter-results-shanhe-me.xsl,拷貝到jmeter的extras目錄中
  下載地址:jmeter.results.shanhe.me.xsl

(2)設定測試輸出報告要輸出的內容。在jmeter.properties中,設定需要輸出的內容為true,並去掉前面的註釋符號#,這裡全部設定成true後儲存

(3)設定build.xml檔案的報告模板為優化後的模板jmeter-results-shanhe-me.xsl

(4)在build.xml檔案所在目錄,執行ant run命令,檢視優化後的測試報告

安裝Jenkins

我們團隊已部署有Jenkins,故無需再安裝。以下Jenkins安裝配置步驟僅供自己本地測試時參考。

(2)方式一:下載windows版本直接點選下一步安裝即可。
(3)方式二:下載war包方式,將war包放入安裝好的tomcat到路徑下webapps目錄,具體操作步驟可自行百度。

  • 配置環境變數
    JENKINS_HOME 為 (如:E:\jenkins)

(3)選擇安裝外掛,第一個為預設安裝,第二個為手動,這裡選擇預設的。

有些外掛下載不下來,可更改管理外掛中最新更新站點地址為下方路徑https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json


在Jenkins外掛管理中安裝 HTML Publisher Plugin、Email Extension Plugin和Groovy plugin


(4)安裝完外掛後,建立新使用者、使用者後續登入和管理

登入Jenkins後的介面如下:

(5)配置ant環境變數

Jenkins持續整合構建

新建自由專案

  • 定義一個易懂的描述性的名字(如:自動化測試)


  • 配置svn地址及憑證

  • 在build Triggers中勾選Bulid periodically,填寫定時任務規則,如每週一至週五每天19:00分構建任務(0 19 * * 1-5)。填寫完成後儲存。

  • 配置構建資訊,點選build選中Invoke,在Build File填寫build.Xml檔案所在路徑

  • 配置報告資訊

  • 配置傳送郵件相關資訊
    配置傳送郵件前,需先在Jenkins的系統管理裡設定傳送郵件的賬號和郵件通知模板資訊




附郵件內容:mail_info.txt

手動構建

檢視構建結果


檢查接收郵箱是否收到構建的郵件

以上即為完整的jmeter+ant+Jenkins+svn配置,報表展示部分後續再做優化

FQA

構建時沒有從倉庫拉取程式碼,而是直接從本地讀取build.xml檔案,構建後郵件傳送成功但是接收不到測試報告附件?

原因:因為配置Editable Email Notification時Attachments目錄預設指向工作空間,從本地讀取程式碼時不會儲存資料在工作空間,導致讀不到資料
解決辦法:增加一個構建步驟,即Execute Windows batch command,手動將本地執行結果報告的html檔案複製到Jenkins工作空間目錄裡。如果直接從svn拉取指令碼,則Attachments也是寫專案該測試報告的相對路徑

收到的郵件附件,開啟測試報告後圖標按鈕不能正常展示

原因:沒有將圖示拷貝過來,配置郵件傳送附件時可將圖示一起傳送

測試報告中一些統計指標展示為”NaN”

解決辦法:將jmeter安裝目錄的lib目錄下的xalan-2.7.2.jar和serializer-2.7.2.jar拷貝到Ant的lib目錄下

非root使用者不能直接在Jenkins伺服器上使用jmeter的環境變量表達式${JMETER_HOME},

所以配置build.xml時只能指向jmeter的絕對路徑,或者使用root使用者指向Jenkins

總結

  1. 在實際搭建過程中可能會遇到各種不同的問題,比如配置郵件傳送部分折騰了不少時間,也百度查閱了其他大佬和諮詢我們小組其他測試大佬的處理意見,最後結合我們目前的環境終於完成搭建。此文僅供有興趣的小夥伴在使用該框架搭建時參考使用!