天天看點

接口自動化之Jenkins搭建

1,搭建Jenkins

Jenkins可以搭建在公司伺服器,也可以在自己電腦上搭建。

2,安裝jdk

官網下載下傳:https://www.oracle.com/tw/java/technologies/javase/javase8-archive-downloads.html

接口自動化之Jenkins搭建

下載下傳完成之後,輕按兩下安裝即可。

安裝成功之後,檢查指令行

接口自動化之Jenkins搭建

 3,安裝Jenkins

官網: https://www.jenkins.io/

下載下傳:https://www.jenkins.io/zh/download/

接口自動化之Jenkins搭建

也可以在 國内的鏡像站進行下載下傳

https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.320/

接口自動化之Jenkins搭建

 4,啟動Jenkins

預設下載下傳的Jenkins 為 war 檔案,是java的可執行封包件。

在指令中使用 java -jar 指令可以啟動Jenkins

運作啟動之後,可以看到有很多日志

java -jar C:\Users\zengy\Downloads\jenkins.war      
  • C:\Users\zengy\Downloads\jenkins.war 這個路徑改為自己的路徑
接口自動化之Jenkins搭建

5,解鎖Jenkins

啟動成功之後,指令行視窗 最小化,不要關閉。

打開浏覽器 http://127.0.0.1:8080/

首次安裝需要解鎖。

接口自動化之Jenkins搭建

使用記事本打開檔案 

接口自動化之Jenkins搭建

6,安裝插件

第一次進入系統之後,安裝對應的插件。

建議選擇 推薦的插件。

接口自動化之Jenkins搭建

Jenkins會自動線上進行安裝

接口自動化之Jenkins搭建

7,注冊管理者賬号

插件安裝完成之後,注冊管理者賬号

接口自動化之Jenkins搭建
接口自動化之Jenkins搭建
接口自動化之Jenkins搭建

 8,建立任務

在登入成功之後,首頁選擇【建立】

接口自動化之Jenkins搭建

輸入任務名稱,選擇【Free style project】 自由風格的項目

接口自動化之Jenkins搭建

 9,genral 正常配置

接口自動化之Jenkins搭建

丢棄舊的建構記錄

接口自動化之Jenkins搭建

在後期執行代碼的過程中,每次都會産生大量的運作日志,如果是在伺服器上,運作日志比較多,後期對磁盤空間有一定的要求,設定删除舊的日志檔案 就比較有必要性。

這裡主要提供兩種主要政策。

  • 按照時間來配置設定。 可以設定最長保留時間。
  • 按照建構次數。

10,源碼管理

Jenkins會自動幫助我們執行自動化測試用例,需要配置自動化代碼的路徑,Jenkins會自動從你配置的代碼倉庫中拉取代碼并執行。

10.1 git 拉代碼

比如 我的代碼倉庫是: https://gitee.com/………………

選擇git,

輸入代碼倉庫的位址。

接口自動化之Jenkins搭建

10.2 建構觸發器

接口自動化之Jenkins搭建

支援 遠端建構,或者Jenkins中其他項目運作完成之後建構。不同建構類型。

定時任務建構

定時任務跟Linux中定時任務文法是一樣。

定時任務主要有5個參數構成

  • 分鐘 (0-59)
  • 小時 (0-23)
  • 日 每個月的幾日(1-31)
  • 月份 (1-12)
  • 星期 (0-7) 0和7 都表示周日
  • * 表示比對所有
    # 每天的每小時的 01分運作 (0:01, 1:01,2:01,....23:01)
    1 * * * *      
    • M-N 表示區間
    • # 6:00-10:00 之間,每小時的01分運作 6:01,7:01,8:01,9:01,
      1 6-10 * * *      
  • M-N/2 表示 M到N,每隔2
    # 6:01, 8:01, 10:01
    1 6-10/2 * * *      
    • M,N 表示M,N 2個值
    # 6:01 10:01,16:01
    1 6,10,16 * * *      
    • H 表示讓Jenkins自動根據負載選擇時間,因為Jenkins 有可能會設定很多個項目,如果所有的項目都在同一時刻運作,對Jenkins的壓力會比較大,有可能Jenkins服務會挂掉。
    每15分鐘運作一次
    # Every fifteen minutes (perhaps at :07, :22, :37, :52):
    H/15 * * * *      
    每小時的0-29分之間,每隔10分鐘執行一次
    H(0-29)/10 * * * *      

    10.3 POLL SCM

接口自動化之Jenkins搭建

這個配置中的日程表也是表示定時任務,文法跟上面一樣。

這不過這個定時主要是去看你的代碼倉庫中有沒有送出更新,如果有送出更新代碼,則執行建構。

 12,建構

建構就是去執行自動化代碼。

輸入執行指令

pip install -r reqiurements.txt    
pytest -s -v testcases      

将原來在開發環境中執行的指令放進來。

Mac或者Linux系統執行

python3 -m venv venv
source venv/bin/activate &&
pip3 install -r reqiurements.txt &&
pytest -s -v testcases      

13,測試報告

allure報告

allure是比較專業的一個測試報告。

官網位址:

https://docs.qameta.io/allure/#_get_started

安裝Jenkins 插件

接口自動化之Jenkins搭建

找到管理插件 選項

接口自動化之Jenkins搭建

搜尋插件 并安裝 

可選插件】--【搜 allure】

接口自動化之Jenkins搭建

配置allure

從GitHub上下載下傳 最新的allure 封包件

https://github.com/allure-framework/allure2/releases

下載下傳完成之後,将檔案解壓

接口自動化之Jenkins搭建

Jenkins中配置allure的檔案路徑

打開【Manage Jenkins】

接口自動化之Jenkins搭建

打開 Global Tool Configuration 全局工具配置

接口自動化之Jenkins搭建

選擇 【Allure Command Line 安裝選項】

接口自動化之Jenkins搭建

手動選擇 allure的路徑。

接口自動化之Jenkins搭建

 14,python代碼結合

python代碼中需要安裝allure 第三方庫。

安裝插件

https://pypi.org/project/allure-pytest/

pip install allure-pytest      

代碼中有 allure-pytest 包的記錄。

接口自動化之Jenkins搭建

Jenkins中配置

自己寫的測試用例不用動,修改運作指令。

pytest -s -v testcases --alluredir=reports      
  •  --alluredir=reports 生成allure報告資料,資料儲存到 reports目錄中。
接口自動化之Jenkins搭建

建構後操作

接口自動化之Jenkins搭建

路徑中填寫 reports

路徑跟上面執行指令時使用的路徑保持一緻即可。

接口自動化之Jenkins搭建

測試

接口自動化之Jenkins搭建
接口自動化之Jenkins搭建

15,Jenkins通知

安裝郵件插件

接口自動化之Jenkins搭建

如果 【已安裝】的清單中沒有 這個插件,就去 【可選插件】中 進行安裝。

接口自動化之Jenkins搭建

配置郵箱位址

前提條件需要 郵箱開啟 pop3 服務。

以163郵箱為例

打開設定頁面

接口自動化之Jenkins搭建

開啟服務

接口自動化之Jenkins搭建

新增163的授權碼管理。

接口自動化之Jenkins搭建

發送短信之後,會生成授權碼,一定要記好這個授權碼。

接口自動化之Jenkins搭建

配置Jenkins郵箱服務

打開Jenkins--【config system】

接口自動化之Jenkins搭建

在系統管理者郵箱位址中填寫自己的郵箱位址

接口自動化之Jenkins搭建

在郵件通知子產品中輸入自己郵箱的對應相關資訊。

接口自動化之Jenkins搭建

測試是否可以調通。

接口自動化之Jenkins搭建

配置郵件通知

打開項目配置,在【建構後操作】--【E-mail Notification】

接口自動化之Jenkins搭建

多個郵件之間使用

,

隔開。

接口自動化之Jenkins搭建

執行完成之後, 可以收到郵件通知。

接口自動化之Jenkins搭建