學會Python+Selenium,分分鐘搭建Web自動化框架!

博為峰網校發表於2018-12-13

用python+selenium實現UI自動化測試,要有一些HTML和xpth的基礎,當然python基礎一定是必須要會的。筆者建議花點時間瞭解下相關基礎知識,不至於後面發懵。

一、什麼是selenium?

selenium是個強大的工具集。支援快速開發測試自動化,支援在多種瀏覽器平臺上執行測試。支援多開發語言,如:Python、Java、ruby、C#等,本次選擇Python3作為開發語言。

二、用python做測試的優點

學習難度小,開發週期短。對目前國內大多數測試人員來說,編碼經驗不足,python是個很好的入門語言。膠水語言,能與C++, Java, COM, and .NET,Object-C 整合。

測試部門要做單元測試,介面測試,因為人員比例的關係,不可能讓測試人員同時掌握多門語言,python可以對C/C++, Java, Object-C進行介面封裝後,實現單元測試。語法簡約,清晰,減少後期維護的難度。

學會Python+Selenium,分分鐘搭建Web自動化框架!

三、自動化測試框架

一個典型的自動化測試框架一般包括用例管理模組、自動化執行控制器、報表生成模組和日誌模組等,這些模組之間不是相互孤立的,而是相輔相成的。

學會Python+Selenium,分分鐘搭建Web自動化框架!

下面來介紹下每個模組的邏輯單元:

用例管理模組

用例管理模組包括用例的新增、修改、刪除等操作單元,這些單元也會涉及到用例書寫的模式,測試資料的管理、可複用庫等

自動化執行控制器

控制器是自動化用例執行的組織模組,主要負責以什麼方式去執行用例。比較典型的控制器有使用者圖形介面(GUI)和“commandline+檔案”兩種。

報表生成模組

報表生成模組主要負責執行完用例以後生成報表,報表一般以HTML格式居多,資訊主要包括用例的執行情況及相應的總結報告。另外還可以新增傳送郵件功能。

日誌模組

日誌模組主要用來記錄用例的執行情況,以便於更高效的調查用例失敗資訊及追蹤用例執行情況。

四、自動化框架的設計與實現

方案設計

1、程式設計程式碼選擇 python3

2、工具selenium + 單元測試框架 unittest

3、編譯器: IDE/pycharm

結構設計

學會Python+Selenium,分分鐘搭建Web自動化框架!

cases:

根據功能劃分用例管理

學會Python+Selenium,分分鐘搭建Web自動化框架!

用例實現

com

學會Python+Selenium,分分鐘搭建Web自動化框架!

學會Python+Selenium,分分鐘搭建Web自動化框架!

config

edata: 環境配置模組

env.json 、enviroment.yaml 實現城市選擇及SIT、UAT環境切換

sdata: 資料配置

各類資料json檔案、銀行資料、產品資訊、個人資訊等

elements: 元素定義

locator.py 元素定義、menu 、into_a_management.yaml 等

學會Python+Selenium,分分鐘搭建Web自動化框架!

lib

第三方模組引用, 版本管理

學會Python+Selenium,分分鐘搭建Web自動化框架!

report

管理日誌報告

report.xlsx 自動化執行結果生成excel報表

學會Python+Selenium,分分鐘搭建Web自動化框架!

report.xlsx

學會Python+Selenium,分分鐘搭建Web自動化框架!

index.html

學會Python+Selenium,分分鐘搭建Web自動化框架!

需要改進的模組

對於現有實現的測試框架,已經可以滿足web物件的自動化需求,但還是有些可以改進提高的地方,比如:

針對部分測試用例是否可以嘗試資料驅動

新增螢幕截圖功能

封裝selenium中By庫中的函式,以便更高效的定位頁面元素等

結合業界優秀的自動化框架和實踐持續改進

五、總結

基於selenium實現的web自動化框架不僅輕量級而且靈活,可以快速的開發自動化測試用例。結合上面的框架設計思路,希望對大家以後的web自動化框架的設計和實現有所幫助。

歡迎加入  51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ                     群:                    755431660


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2285185/,如需轉載,請註明出處,否則將追究法律責任。

相關文章