jenkins+python自動化測試項目持續集成

1 jenkins的介紹與安裝

1.1 應用場景

衆所周知,寫好一個自動化測試項目的代碼之後,需要在命令行使用"pytest"進行運行,然後再使用命令“allure generate report/ -o report/html --clean”生成allure報告。但使用Jenkins可以自動地完成這些操作。

1.2 介紹

jenkins是一個開源軟件項目,是基於java開發的一種持續集成工具,用於監控持續重複的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成成爲可能。

1.3 安裝

關於jenkins的安裝,可參考小編的其他博客----使用運行war的形式安裝jenkins

2 jenkins插件安裝

2.1 安裝Allure插件

要想使用Jenkins生成allure的xml文件,必須安裝此插件
安裝步驟

  1. 進入Jenkins,點擊“系統管理” -》 “管理插件” -》 “可選插件”
  2. 搜索框中輸入:allure,搜索結果中選中allure,點擊“直接安裝”即可
    在這裏插入圖片描述
    或者,離線安裝,方式如下:
    ① 在下列網址找到要安裝的插件,並下載。
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
    http://mirror.esuni.jp/jenkins/plugins/
    http://mirror.xmission.com/jenkins/plugins/
    ② 選擇“高級”,在Upload Plugin中選擇①中下載好的.hpi文件,再點擊Upload即可。
    在這裏插入圖片描述

2.2 安裝Allure Commandline工具

要想使用Jenkins把allure的xml文件轉成html文件,必須安裝此工具
安裝步驟

  1. 確保allure插件已經安裝成功
  2. 點擊“系統管理” -》“全局工具配置”
  3. 找到Allure Commandline,點擊“Allure Commandline安裝”
  4. 輸入一個別名(隨意)
  5. 輸入安裝目錄
    1)https://bintray.com/qameta/generic/allure2下載 allure-2.6.0.zip2.
    2)解壓縮到一個目錄(不經常動的目錄)
    3)輸入解壓後的目錄。(目錄下應該包含四個文件夾,如圖所示)
    在這裏插入圖片描述
  6. 取消“自動安裝”的選擇
  7. 點擊“save”進行保存
    在這裏插入圖片描述

3 Jenkins持續集成

配置完成後,會自動執行一套流程:
1)自動從GitHub下載自動化測試項目
2)自動執行pytest進行運行
3)自動生成allure報告
4)如果項目中有不通過的腳步,會自動給相關人員發郵件

3.1 準備自動化項目

讓Jenkins自動化執行某個項目並生成報告以及出錯發郵件這些功能,必須先準備一個可以使用pytest運行的自動化項目。使用pytest+allure,並確保可以生成對應的allure報告。

在這裏插入圖片描述

3.2 將項目上傳到GitHub

1)新建GitHub項目,輸入項目名,點擊創建。
在這裏插入圖片描述
2)將本地倉庫的項目push到git上
3)查看項目的git地址
在這裏插入圖片描述

3.3 新建Jenkins項目

1)進入Jenkins主頁,點擊“新建”
2)輸入項目名稱,並點擊“構建一個自由風格的軟件項目”
在這裏插入圖片描述

3.4 Jenkins相關配置

3.4.1 General配置

勾選“Github project”,輸入Project url
在這裏插入圖片描述

3.4.2 源碼管理配置

1)勾選Git,輸入Repository URL,點擊Add,點擊Jenkins
在這裏插入圖片描述
2)輸入GitHub用戶名和密碼,點擊Add
在這裏插入圖片描述

3.4.3 構建觸發器配置

勾選Poll SCM,日程表中填寫 */1 * * * *
在這裏插入圖片描述

3.4.4 構建配置

1)根據平臺選擇執行的命令類型
在這裏插入圖片描述
2)配置pytest環境變量
①mac

export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin
pytest

在這裏插入圖片描述
②Windows

PATH=$PATH;D:\SW\Python 3.6.6\Scripts
pytest

在這裏插入圖片描述

3.4.5 報告配置

1)點擊增加構建後步驟,選擇Allure Report
在這裏插入圖片描述
2)在path中輸入allure報告的xml所在的目錄名稱
在這裏插入圖片描述
3)點擊高級,在Report path中輸入allure-report
在這裏插入圖片描述
在這裏插入圖片描述

3.4.6 郵件配置

  1. 發件人測試郵件配置
    1)點擊“系統管理” -》“系統設置”
    2)找到Jenkins Location,在“系統管理員郵件地址”輸入發件人測試郵箱地址。
    在這裏插入圖片描述
    3)找到郵件通知,輸入SMTP服務器,如smtp.126.com,輸入用戶名默認郵件後綴,如@126.com。點擊高級,輸入用戶名爲發件人測試郵箱地址,密碼爲客戶端授權密碼(若不知道客戶端授權密碼,可自行百度)
    在這裏插入圖片描述
    4)勾選通過發件測試郵件測試配置
    5)輸入Test e-mail recipient爲收件郵箱
    6)點擊Test configuration,會提示Email was successfully sent。收件人郵箱應該收到了郵件。
    在這裏插入圖片描述
    結果
    在這裏插入圖片描述
  2. 發件人正式郵件配置
    1)點擊“系統管理” -》 “系統設置”
    2)找到Extend E-mail Notification,輸入SMTP服務器,如smtp.163.com,輸入用戶名默認郵件後綴,如@163.com
    3)點擊高級,輸入用戶名爲發件人郵箱地址,密碼爲客戶端授權密碼(若不知道客戶端授權密碼,可自行百度)
    4)選擇Default Content Type爲HTML
    在這裏插入圖片描述
    5)將以下html代碼複製到Default Content中
<hr/>
(本郵件是程序自動下發的,請勿回覆!)<br/><hr/>
項目名稱:$PROJECT_NAME<br/><hr/>
構建編號:$BUILD_NUMBER<br/><hr/>
git版本號:${GIT_REVISION}<br/><hr/>
構建狀態:$BUILD_STATUS<br/><hr/>
觸發原因:${CAUSE}<br/><hr/>
目錄:${ITEM_ROOTDIR}<br/><hr/>
構建日誌地址:<a href=" ">${BUILD_URL}console</a ><br/><hr/>
構建地址:<a href="$BUILD_URL">$BUILD_URL</a ><br/><hr/>
報告地址:<a href="${BUILD_URL}allure">${BUILD_URL}allure</a ><br/><hr/>
失敗數:${FAILED_TESTS}<br/><hr/>
成功數:${FAILED_TESTS}<br/><hr/>
變更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
  1. 收件人配置
    收件人需要在項目中進行配置。
    1)進入項目
    2)點擊配置
    3)點擊構建後操作,點擊增加構建後操作步驟,點擊Editable Email Notification
    在這裏插入圖片描述
    4)點擊右下角,高級 -> 高級設置 -> 高級
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    6)輸入Recipient List爲收件人,多個收件人用英文逗號隔開
    在這裏插入圖片描述
    結果
    收到下圖郵件,即爲成功。
    在這裏插入圖片描述

3.5 構建

所謂構建,也就是運行的意思。構建有兩種方式,自動構建和手動構建。

  1. 自動構建
    1)在配置觸發器時,輸入的*/1 * * * * ,表示Jenkins會每分鐘檢索GitHub,看是否有代碼更新,如果有,則會自動構建。
    2)Jenkins剛開始是沒有任何代碼的,當我們保存後,會自動檢測GitHub,如果之前上傳過代碼,會自動構建。
    3)等待構建完成,點擊右側圖標,即可查看報告。
    在這裏插入圖片描述
    在這裏插入圖片描述
    4)紅色圓點表示項目中有未通過的測試腳本,如果全部通過,則爲藍色。

  2. 手動構建
    所謂手動構建,就是手動在項目主頁點擊構建。
    在這裏插入圖片描述

【寫在最後的話】

Jenkins新建一個項目後,初次構建時,由於有很多依賴包需要下載,可能會出現 timeout的提示。

ERROR: Timeout after 10 minutes
ERROR: Error fetching remote repo ‘origin’

解決措施:
1)在項目配置管理中找到git
2)點擊Add,選擇“Advanced clone behaviours”
3)默認超時時間爲10分鐘,設置一個更長的超時時間,如60分鐘
4)點擊apply和save
5)重新構建即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章