Pyhton自動化測試持續(xù)集成和Jenkins
持續(xù)集成
官方術語:
持續(xù)集成(Continuous Integration),也就是我們經常說的 CI
持續(xù)集成(CI)是一種實踐,可以讓團隊在持續(xù)的基礎上收到反饋并進行改進,不必等到開發(fā)周期后期才尋找和修復缺陷。
持續(xù)集成流程
在軟件的生命周期過程中,從需求,到實現(xiàn),到測試,到用戶手中,是一個持續(xù)的過程。
在這個過程當中,不止是開發(fā)工作,有很多的環(huán)節(jié)都可以利用自動化的手段去持續(xù)的定期的執(zhí)行任務,來提升整體的軟件質量和效率。
下圖為我畫的在軟件生命周期過程中,開發(fā)人員和測試人員和配置管理人員的流程圖。
圖中紅色字體部分均是可以持續(xù)定期的去執(zhí)行。
將上圖中的內容綜合一下,那么我們可以得到下圖的持續(xù)集成流程。
Jenkins
一款持續(xù)集成工具,可以在 jenkins 當中完成以上持續(xù)集成流程中的每一個環(huán)節(jié)。
jenkins 中有 3 大重要概念:
1、Job(任務/工程)
在 jenkins 平臺中,都是以 Job(任務/工程)為單位去完成一件事情的。
在使用jenkins時,都是會在jenkins管理界面當中創(chuàng)建一個job/item。在job/item中來組織任務。
2、plugin(插件)
jenkins 提供平臺,集成各種插件來完成一個 Job。想用 jenkins 平來做什么,先找找有沒有相應的插件。
比如:windows 命令、Linux 命令的支持、SVN 和 Git 代碼獲取、郵件發(fā)送,測試報告集成等都需要安裝相應的插件才能夠在 jenkins 當中使用這些功能。
3、workspace(工作空間)
jenkins 是通過文件形式來存儲和管理數(shù)據的。
所以,在安裝jenkins,要指定一個Jenkins_Home
目錄。所有jenkins相關的數(shù)據都存放在此目錄下。
workspace即給jenkins指定一個專門的目錄來存儲其所有的配置和數(shù)據。jenkins的workspace是根目錄 ,其下每個Job都有屬于自己的workspace。
每個job的workspace當中用來存放本任務涉及到的數(shù)據/文件,以及任務執(zhí)行完成后生成的數(shù)據/文件。
相當于,給每一個job開辟了一個獨立的文件夾。
4、jenkins 管理(Jenkins Manager)
整個 jenkins 的全局配置。
包括權限管理、插件管理、節(jié)點管理等。
在 Jenkins 當中要完成一個任務,首先要創(chuàng)建一個 Job/Item。
通過配置 Job/Item,來配置任務的觸發(fā)條件、任務的代碼從哪獲取、任務的執(zhí)行過程涉及哪些步驟、任務執(zhí)行完成之后要做哪些通知/展示工作。
一個 Job/Item 的配置項如下:
1、基本信息配置(General)
Job 名字、指定當前 Job 的工作空間、指定當前 Job 綁定到哪個執(zhí)行機上執(zhí)行等。。。
2、源碼管理(Source Code Management)
svn/git 等,需要相應的插件支撐。
配置好源碼管理后,在執(zhí)行 Job 時會自動從相應的源碼庫里下載代碼到當前 Job 的工作空間中。
3、構建觸發(fā)器(Build Triggers)
觸發(fā)器:執(zhí)行當前任務的條件。
常用定時構建:類似 windows/linux 的定時任務。指定當前 Job 執(zhí)行的時間。
定時任務配置規(guī)則如下:
首先,一共有 5 個配置選項(每個選項之間用空格隔開),分別是:
MINUTE(分鐘) HOUR(小時) DOM(每月的天數(shù)) MONTH(一年的月份) DOW(每周的天數(shù))
- MINUTE(分鐘): 指一小時內的分鐘數(shù)。有效值為:0-59
- HOUR(小時):指一天內的小時數(shù)。有效值為:0-23
- DOM(每月的天數(shù)):指一個月內的天數(shù)。有效值為:1-31
- MONTH(一年的月份):指一年當中的月份數(shù)。有效值為:1-12
- DOW(每周的天數(shù)):指一周當中的天數(shù)。有效值為 0-7。0 和 7 都表示周日。1-6 分別表示周一到周六。
支持以下操作:
- *****表示匹配所有有效值。
- M-N 表示一個連續(xù)的有效值范圍。比如在 DOW 中用 1-5,表示取周一到周五。
- M-N/X 或者 */X 表示以 X 為步長,取指定連續(xù)范圍或所有有效值范圍內的值。比如在 DOW 中用 1-5/2,表示取周一,周三,周五。
- A,B,.....Z 表示枚舉。比如在 DOW 中用 1,2,6,表示取周一,周二,周六。
示例:
每周一、三、五,每天上午 10 點整,自動觸發(fā)任務的執(zhí)行。
定時配置如下:0 10 * * 1,3,5
MINUTE(分鐘): 值為 0。
HOUR(小時):值為 10
DOM(每月的天數(shù)):值為* 沒有指定一個月當中,只有哪幾天運行。所以用*匹配所有有效值。
MONTH(一年的月份):值為* 沒有指定一年當中,只有哪個月運行。所以用*匹配所有有效值。
DOW(每周的天數(shù)):值為 1,3,5。用枚舉方式。因為即不是所有值,也不是連續(xù)的有效值。
4、構建(Build)
此一步是用來實現(xiàn)所有你想用此 Job 做的事情。
添加構建步驟:按順序執(zhí)行構建步驟。
構建步驟的下拉列表選項多少,由 jenkins 中已安裝的相關插件決定 。因為許多功能都是由插件來支撐的。
5、構建后行為(Post-build Actions)
此一步主要在任務執(zhí)行完成之后,要做的事情。
比如要發(fā)送郵件、要展示任務執(zhí)行的結果。
方式與 4 中一樣,都是選擇相應的插件功能。
構建后操作步驟的下拉列表選項多少,由 jenkins 中已安裝的相關插件決定 。因為許多功能都是由插件來支撐的。
任務配置完成之后,點擊 立即構建 ,測試任務在執(zhí)行時是否有錯誤。
到此這篇關于Pyhton自動化測試持續(xù)集成和Jenkins的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家
相關文章
Python OpenCV中的resize()函數(shù)的使用
這篇文章主要介紹了Python OpenCV中的resize()函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06Python結合Sprak實現(xiàn)計算曲線與X軸上方的面積
這篇文章主要介紹了Python結合Sprak實現(xiàn)計算曲線與X軸上方的面積,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-02-02在django中使用post方法時,需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時,需要增加csrftoken的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03為什么str(float)在Python 3中比Python 2返回更多的數(shù)字
很多朋友質疑為什么str(float)在Python 3中比Python 2返回更多的數(shù)字,在Python 2.7中,一個float的repr返回最接近十七位數(shù)的十進制數(shù);這足以精確地識別每個可能的IEEE浮點值。對此問題很多朋友都很疑問,下面小編給大家簡單介紹下,需要的朋友可以參考下2018-10-10