學會Python+Selenium,分分鐘搭建Web自動化框架!
用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進行介面封裝後,實現單元測試。語法簡約,清晰,減少後期維護的難度。
三、自動化測試框架
一個典型的自動化測試框架一般包括用例管理模組、自動化執行控制器、報表生成模組和日誌模組等,這些模組之間不是相互孤立的,而是相輔相成的。
下面來介紹下每個模組的邏輯單元:
用例管理模組
用例管理模組包括用例的新增、修改、刪除等操作單元,這些單元也會涉及到用例書寫的模式,測試資料的管理、可複用庫等
自動化執行控制器
控制器是自動化用例執行的組織模組,主要負責以什麼方式去執行用例。比較典型的控制器有使用者圖形介面(GUI)和“commandline+檔案”兩種。
報表生成模組
報表生成模組主要負責執行完用例以後生成報表,報表一般以HTML格式居多,資訊主要包括用例的執行情況及相應的總結報告。另外還可以新增傳送郵件功能。
日誌模組
日誌模組主要用來記錄用例的執行情況,以便於更高效的調查用例失敗資訊及追蹤用例執行情況。
四、自動化框架的設計與實現
方案設計
1、程式設計程式碼選擇 python3
2、工具selenium + 單元測試框架 unittest
3、編譯器: IDE/pycharm
結構設計
cases:
根據功能劃分用例管理
用例實現
com
config
edata: 環境配置模組
env.json 、enviroment.yaml 實現城市選擇及SIT、UAT環境切換
sdata: 資料配置
各類資料json檔案、銀行資料、產品資訊、個人資訊等
elements: 元素定義
locator.py 元素定義、menu 、into_a_management.yaml 等
lib
第三方模組引用, 版本管理
report
管理日誌報告
report.xlsx 自動化執行結果生成excel報表
report.xlsx
index.html
需要改進的模組
對於現有實現的測試框架,已經可以滿足web物件的自動化需求,但還是有些可以改進提高的地方,比如:
針對部分測試用例是否可以嘗試資料驅動
新增螢幕截圖功能
封裝selenium中By庫中的函式,以便更高效的定位頁面元素等
結合業界優秀的自動化框架和實踐持續改進
五、總結
基於selenium實現的web自動化框架不僅輕量級而且靈活,可以快速的開發自動化測試用例。結合上面的框架設計思路,希望對大家以後的web自動化框架的設計和實現有所幫助。
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2285185/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分分鐘教你Python Web開發框架DjangoPythonWeb框架Django
- 【python+selenium的web自動化】- PageObject模式解析及案例PythonWebObject模式
- python+selenium UI自動化測試環境搭建及使用PythonUI
- 【智慧物流】分分鐘瞭解透徹自動化立體倉庫
- 【python+selenium的web自動化】- 元素的常用操作詳解(一)PythonWeb
- 介面自動化(四):框架搭建(Python)框架Python
- {e}此法不怕跳不怕長龍(分分鐘學會)
- 介面自動化實戰之框架搭建框架
- 【python+selenium的web自動化】- 針對上傳操作的實現方案PythonWeb
- Java語言搭建介面自動化框架學習八(鑑權)Java框架
- 基於Selenium + Python的web自動化框架PythonWeb框架
- 介面自動化測試框架搭建的思路框架
- 介面自動化測試框架搭建總結框架
- web自動化測試框架-06 如何快速編寫自動化指令碼Web框架指令碼
- 在公司內部網路如何搭建Python+selenium自動化測試環境Python
- pytest+request+allure 介面自動化框架搭建分享框架
- web自動化框架—BasePage 類的簡單封裝Web框架封裝
- 10 分鐘輕鬆學會 Jackson 反序列化自動適配子類
- java自動化——web自動化複習JavaWeb
- Web自動化測試 環境搭建(selenium+python)WebPython
- 基於Python3.7 Robot Framework自動化框架搭建PythonFramework框架
- web自動化測試框架-01 搭建基礎架構並執行一個樣例Web框架架構
- Web自動化-Selenium自動化測試-1-主要學習計劃Web
- Selenium自動化實現web自動化-1Web
- pytest+selenium+allure web端UI自動化框架設計WebUI框架
- 基於Selenium+Python的web自動化測試框架PythonWeb框架
- 分分鐘掌握快速排序排序
- Jmeter+Ant+Jenkins介面自動化測試框架搭建for WindowsJMeterJenkins框架Windows
- Java語言搭建介面自動化框架學習一(單介面請求和響應)Java框架
- Web自動化必會知識:「Web基礎、元素定位、元素操作、Selenium執行原理、專案實戰+框架」Web框架
- 【Python自動化Excel】pandas處理Excel的“分分合合”PythonExcel
- RF-Web自動化Web
- 分分鐘快速定製您的專屬個性化軟體應用——BizTool自動化工具簡介
- 首次搭建 java+selenium+linux+docker+jenkins+git 之 web 自動化JavaLinuxDockerJenkinsGitWeb
- 搭建自動化 Web 頁面效能檢測系統 —— 部署篇Web
- python+selenium實現自動搶票Python
- 自動化測試框架框架
- titans Selenium 自動化框架框架