基於Jmeter+ant+Jenkins+釘釘機器人群通知的介面自動化測試

2023-05-31 18:00:20

  前言

     搭建jmeter+ant+jenkins環境有些前提條件,那就是要先設定好java環境,本地java環境至少是JDK8及以上版本,最好是JAVA11或者JAVA17等較高的java環境,像jenkins這種持續構建工具基本都在向上相容JAVA的環境,以前的JAVA8或者以下版本可能在執行jenkins等時可能會有異常導致執行失敗或者提示java版本太低需要更新版本等,建議本地電腦環境裝兩套JAVA環境,一個JAVA8、一個JAVA17,需要使用時根據設定的環境變數即可切換JAVA版本

jmeter:開源介面和壓力測試工具,基於java開發,執行需要java環境

ant:Apache Ant是一個將軟體編譯、測試、部署等步驟聯絡在一起加以自動化的一個工具,大多用於Java環境中的軟體開發。Ant執行時需要一個XML檔案(構建檔案),執行需要java環境

jenkins: Jenkins是一個開源軟體專案,是基於Java開發的一種持續整合工具,用於監控持續重複的工作,旨在提供一個開放易用的軟體平臺,使軟體專案可以進行持續整合,執行需要java環境

一、本地JAVA環境安裝設定,安裝JAVA8和JAVA17

分別下載JAVA8和JAVA17版本,JAVA官網下載,地址:

https://www.oracle.com/java/technologies/downloads/

image

按如上地址選擇下載JDK17,windows版本安裝即可,JAVA8歷史版本安裝自行下載安裝即可

如我本地已經安裝了JDK8和JDK17,安裝路徑如下:

image

本地安裝完畢JAVA8和JAVA17後,為了能切換兩個版本,需要分別設定如下環境變數:

  1. 變數名:JAVA_HOME  值:%JAVA_HOME17%,若需要切換為JAVA8,將值改為:%JAVA_HOME8%即可

image

  1. 變數名:JAVA_HOME8  值:C:\Program Files\Java\jdk1.8.0_91,值是本地JAVA8的安裝路徑

image

  1. 變數名:JAVA_HOME17  值:C:\Program Files\Java\jdk-17,值是本地JAVA17的安裝路徑

image

  1. 變數名:CLASSPATH 值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%ANT_HOME%\lib;

image

  1. 變數名:PATH ,將值:%JAVA_HOME%\bin移動到最前面即可

image

如上環境變數設定完畢後,開啟cmd,檢視JAVA當前版本,出現如下即可:

image

如上是顯示當前環境是JAVA17,若切換到JAVA8,修改變數名:JAVA_HOME 將值改為:%JAVA_HOME8%,然後再次開啟cmd檢視JAVA執行版本:

image

二、安裝和設定Jmeter

官網下載安裝,安裝後設定能正常啟動jmeter的GUI介面即可進行介面和指令碼開發

三、安裝和設定ant

ant下載地址:http://ant.apache.org/

下載最新的ZIP壓縮包即可,如下圖:

image

版本:1.10.13官網明確說明了需要JAVA8及其以上的執行環境,JAVA環境低於JAVA8的需要升級

下載後在本地指定路徑下下解壓後,設定環境變數,設定如下:

ANT_HOME:F:\apache-ant-1.10.13-bin\apache-ant-1.10.13

path:%ANT_HOME%\bin;

classpath:%ANT_HOME%\lib;

設定完後,cmd視窗檢視ant版本,顯示如下即ant安裝ok

image

四、jmeter + ant設定

  1. **apache-jmeter-5.4.1\extras下面的ant-jmeter-1.1.1的jar包到ant的lib目錄,如下圖:**

image

  1. 在本地一個磁碟路徑下,新建一個xml檔案:build_test.xml,如我的路徑:D:\apache-jmeter-5.4.1\test

xml檔案,內容如下:

image

xml檔案中指定內容按實際的設定修改即可

同時也將需要執行的jmx指令碼檔案放置在該目錄下

  1. 修改jmeter下jmeter.properties設定

jmeter.properties組態檔路徑:D:\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin

將jmeter.save.saveservice.output_format=csv修改為:jmeter.save.saveservice.output_format=xml

image

  1. cmd視窗執行

cmd切換到xml檔案的目錄下,執行命令:ant -buildfile build_test.xml

執行結果顯示構建成功,即jmeter和ant環境設定ok

image

構建成功後,會在xml檔案所在的目錄下生成html和jtl的檔案,如下圖:

image

html檔案可以直接瀏覽器開啟檢視測試報告,jtl檔案就是jmeter的聚合報告資料檔案,可以使用jmeter載入開啟jtl檔案檢視聚合報告

看一下對應的測試報告:

image

五、jenkins安裝和設定持續構建專案

  1. 安裝jenkins

jenkins官網下載安裝:https://www.jenkins.io/download/,選擇windows版本

image

安裝過程中有個埠和JDK執行環境設定,設定的埠不被系統服務佔用即可

image

image

安裝完畢後,瀏覽器輸入:http://localhost:8080,存取jenkins

第一次存取jenkins需要解鎖,管理員密碼在紀錄檔檔案可以檢視到

image

image

拷貝到密碼輸入框即可,登入後的效果:

image

  1. 安裝相應的外掛

進入外掛管理頁面,切換到第二個選單

image

image

安裝外掛:

DingTalk    -----------傳送釘釘訊息的外掛

HTML Publisher plugin   ---------生成視覺化html測試報告的外掛

Ant In Workspace    -------------ant構建設定外掛

安裝完畢後,檢視第三個選單,檢視已安裝的外掛,

image

安裝完畢外掛後,最好重啟一下jenkins,後面jenkins構建設定才能選擇對應的外掛,重啟jenkins只需要在瀏覽器jenkins伺服器埠後面加上restart回車後,點選yes即可等待jenkins重啟,如下圖:

image

  1. 釘釘群新建自定義機器人

在釘釘群找到群應用:機器人

image

進入後選擇新增自定義機器人

image

新增後儲存好Webhook和加簽,用於後面在jenkins構建時設定釘釘機器人設定,如下圖:

image

  1. 新增構建JOB,新建一個自定義風格的JOB

image

在jenkins外掛釘釘全域性設定中,設定Webhook和加簽

image

進入構建設定,第一步,設定新增釘釘機器人,如下圖:

image

設定構建儲存時間和最大顯示構建數:

image

在構建定時設定,主要是設定jenkins何時定時自動執行該構建專案

image

定時構建語法:

* * * * *(五顆星,中間用空格隔開)

第一顆*表示分鐘,取值 0~59第二顆*表示小時,取值 0~23第三顆*表示一個月的第幾天,取值 1~31第四顆*表示第幾月,取值 1~12第五顆*表示一週中的第幾天,取值 0~7,其中 0 和 7 代表的都是週日

接下來就是構建步驟設定:

image

最後就是構建後的報告輸出設定,如下圖:

image

以上所有設定完畢後,應用儲存即可。

  1. 構建專案

image

等待構建執行完畢,檢視構建歷史和構建紀錄檔,顯示BUILD SUCCESSFUL即代表成功

image

image

構建完畢後在設定路徑下生成html和jtl檔案,如下圖:

image

同時可以在jenkins上檢視html測試報告,如下圖:

image

image

同時也會釘釘群推播構建通知,如下圖:

自動構建效果:

image

這樣就完成了

Jmeter+ant+Jenkins+釘釘機器人群通知的介面自動化測試環境的部署和自動構建,後續只需要使用jmeter完成介面測試場景測試用例的設計和指令碼編寫即可