1. 程式人生 > 其它 >【Jenkins基礎教程】WEB自動化專案配置

【Jenkins基礎教程】WEB自動化專案配置

WEB自動化專案配置

配置 Git/GitHub

  現在越來越多的專案開始使用 Git 進行程式碼的版本管理,這裡介紹基於 Git/GitHub 的Jenkins 配置。   第一步,進入 Jenkins 首頁,單擊“Manage Jenkins”→“Global Tool Configuration”選項,找到 Git 選項,如圖所示:   在“Path to Git executable”選項中填寫 Git 可執行檔案的本地路徑,如 C:\ProgramFiles\Git\bin\git.exe,單擊“save”按鈕儲存配置.   第二步,回到 Simple test 中的配置。   (1)在github上選擇要測試的專案,複製專案URL:

  (2)勾選“Github 專案”,填寫“專案 URL”(即 GitHub 專案地址),如圖所示:

(2)在“原始碼管理”中勾選“Git”選項,
  • Repository URL:填寫 GitHub 專案地址。
  • Branch Specifier (blank for 'any'):設定專案分支,預設為 master 分支。
  • Repository browser:原始碼庫瀏覽,預設為 Auto。

(3)在"構建觸發器"中勾選“Poll SCM”選項,通過輪詢的方式檢測Git 倉庫的更新,並執行構建任務,如圖所示:

  Schedule:設定輪詢時間。“H/2 * * * * ”表示每兩分鐘檢查一次專案是否有新提交的程式碼,如果有,就將新提交的程式碼拉取到本地。

  儲存之後,即可向 pyautoTest 專案倉庫提交程式碼,通過 SCM 輪詢檢查專案更新並拉取程式碼。

  Simple task 首頁會多出一個“Git 輪詢日誌”選項,單擊檢視 Git 輪詢日誌,如圖所示:

配置專案執行

通過前面的配置並執行構建, pyautoTest 專案程式碼已經拉取到 Jenkins 目 錄(…\Jenkins\workspace\Simple task\),pyautoTest 專案程式碼如圖所示: 開啟 Simple test 首頁,單擊“Configure”選項,重新配置任務,修改構建命令如下:

單擊“儲存”按鈕,儲存任務並重新執行構建,構建日誌如下:

通過構建日誌可以看到,自動化專案已經通過 Jenkins 被執行了。

配置 HTML 報告

  在 pyautoTest 專案中,通過 pytest-html 外掛可以生成 HTML 報告,接下來,在 Jenkins中配置 HTML 報告的檢視,再次單擊“Configure”選項進行配置。   找到“構建”選項,單擊“Add build setup”按鈕,勾選“Execute system Groovy script”選項,在“Groovy script”中新增:
System.setProperty("
hudson.model.DirectoryBrowserSupport.CSP", "")
  Jenkins 在靜態檔案頭中引入了 Content-Security-Policy , 在 Jenkins 中具體為DirectoryBrowserSupport,它為 Jenkins 的 HTML/JavaScript、使用者目錄以及文件等設定了非常嚴格的許可權保護。不過,這會導致當通過 Jenkins 檢視 HTML 報告時丟失 CSS 樣式,執行上面的指令碼將清除檔案的許可權保護。   找到“Post-build Actions”選項,單擊“Add post-build action”按鈕,配置“Publish HTMLreports”,如圖所示:
  • HTML directory to archive:用於指定測試報告目錄,這裡設定為 test_report。
  • Index page[s]:指定測試報告的索引頁面,這裡配置為**/report.html,表示匹配某目錄下的 report.html 檔案。
  • Keep past HTML reports:是否儲存舊的 HTML 報告。
  • Include files:配置檔案,根據提示填寫**/*.html。
  檢視 Simple task 首頁,可以發現增加了一個 HTML Report 選項,如圖所示:

單擊“HTML Report”選項,可檢視歷史構建生成的測試報告列表,如圖所示:

配置構建統計

有時需要直觀地檢視歷史構建情況,這時 pyautoTest 生成的 XML 格式的報告就派上用場了。 單擊“Configure”選項,繼續進行任務的配置。找到“Post-build Actions”選項,單擊“Add post-build action”按鈕,配置“Publish JUnit test result report”,如圖所示:

測試報告(XML):指定測試報告目錄下面的 XML 檔案,如/test_report/**/*.xml。重新儲存任務並執行構建,XML 報告統計如圖所示:

頁面右側是“測試結果趨勢”,可以幫助我們檢視自動化測試的歷史執行情況。單擊“最新測試結果”,可以檢視更詳細的 XML 測試報告:

配置自動傳送郵件

自動傳送郵件也是常用功能之一,這裡將介紹如何配置自動傳送郵件。

第一步,在 Jenkins 首頁,單擊“系統管理”→“系統設定”選項。 (1)單擊“Jenkins Location”選項,配置“System Admin e-mail address”,如圖所示:

Jenkins 將用這個郵箱傳送通知郵件,這裡必須填寫,並且必須與後面的配置保持一致:

(2)單擊“Extended E-mail Notification”選項,可以看到配置項較多,但並不是每一項都需要填寫,郵箱基本配置如圖所示:
  • SMTP server:郵箱 SMTP 服務地址,如 126 郵箱服務地址為 smtp.126.com。
  • Default user E-mail suffix:郵箱字尾,126 郵箱字尾為@126.com。
  • Use SMTP Authentication:勾選使用 SMTP 認證。
  • User Name:傳送郵件的使用者名稱。
  • Password:客戶端授權碼,並非郵箱登入使用的密碼,請自行查詢資料設定客戶端授權碼。
  • Use SSL:是否使用 SSL 連線 SMTP 伺服器,預設勾選。
  • SMTP port:SMTP 埠,預設為 465。
  • Charset:字符集,設定為 UTF-8。
  • Default Content Type:預設郵件內容型別,這裡選擇 HTML(text/html)。
  關於郵箱的配置還有一些選項,可以選擇不填,單擊“儲存”按鈕儲存即可。   第二步,回到 Sample test 任務中的配置,找到“Post-build Actions”選項,單擊“Addpost-build action”按鈕,配置“Editable Email Notification”,如圖所示:
  • Project Recipient List:接收構建結果的郵件列表。
  • Default Subject:郵件標題,根據 Jenkins 任務填寫。
  • Default Content:郵件正文,配置如下。
(本郵件自動下發,請勿回覆!)<br/>
構建專案:$PROJECT_NAME <br/>
構建版本:# $BUILD_NUMBER <br/>
構建狀態:$BUILD_STATUS <br/>
執行用例數:${TEST_COUNTS} <br/>
成功用例數:${TEST_COUNTS, var="pass"} <br/>
失敗用例數:${TEST_COUNTS, var="fail"} <br/>
跳過用例數:${TEST_COUNTS, var="skip"} <br/>
合計: ${TEST_COUNTS, var="total"} <br/>
Check console output at $BUILD_URL to view the results.

這裡使用 Jenkins 特定變數配置,郵件會將變數替換為具體的結果。

Attachments:郵件附件,這裡可以指定測試報告的目錄。 Attach Build Log:附加構建日誌。 單擊“Advanced Settings…”按鈕,更多選項如圖所示:

Triggers:選擇觸發郵件傳送規則,可以選擇每次傳送,也可以選擇當任務失敗時傳送。

Send To:指定傳送郵件的物件。 儲存任務,再次執行任務構建。登入收件箱,可以看到 Jenkins 自動傳送的郵件如圖所示: 通過郵件可以看到本次構建的基本情況,還可以通過附件(build.log)檢視構建日誌。 至此,自動化專案的 Jenkins 配置已經基本完成。這些配置可以滿足以下需求: (1)編寫自動化測試用例並將程式碼提交到 GitHub 倉庫。 (2)Jenkins 通過輪詢檢測程式碼是否更新。 (3)拉取最新的測試程式碼並執行,將執行結果傳送到指定郵箱。 (4)同時,通過 Jenkins 也可以檢視 HTML 測試報告和歷史執行情況。

本部落格所有文章僅用於學習、研究和交流目的,歡迎非商業性質轉載。

本文來自部落格園,作者:hello_殷,轉載請註明原文連結:https://www.cnblogs.com/yinzuopu/p/15588806.html

本文版權歸作者和部落格園共有,歡迎轉載,但必須給出原文連結,並保留此段宣告,否則保留追究法律責任的權利。