標籤:

Selenium Page Object 自動化測試框架-框架設計

抽空利用ECshop開源項目,寫了下Selenium的Page Object自動化測試框架

Ecshop

├─common

├─config

├─data

├─logs

├─pages

├─picture

├─report

├─script

├─tools

├─run.py

詳細介紹每個組件設計含義。

l common

Python Package格式。存放通用功能函數,如瀏覽器啟動函數、截圖函數、日誌生成函數、獲取URL函數、HTML報告輸出函數、配置文檔讀取函數等。

l config

Directory格式。存放測試執行過程中所需的配置文件,可擴展。

l data

Directory格式。測試執行時所需的測試文件,如測試用例、測試集等。

l logs

Directory格式。存放測試執行時生成的日誌文件,便於測試過程追溯。

l pages

Python Package格式。存放頁面操作類函數,如ECShop前端主頁、註冊頁面、登陸頁面等。

l picture

Directory格式。測試發現缺陷或需定位問題時,可調用common中的截圖函數,將截圖文件保存在此處。

l report

Directory格式。框架中已經有詳細的日誌設計,但如果需要輸出HTML報告,則可調用common中的HTML報告輸出函數,輸出測試報告到此處。

l script

Python Package格式。存放測試執行腳本,業務邏輯類的實現腳本,放在此處,調用pages中的基礎類操作方法。

l tools

Directory格式。selenium針對不同瀏覽器的操作調用方法不同,需載入對應的驅動文件,因此tools中可存放FireFox、IE、Chrome的selenium驅動文件。

l run.py

run.py在測試自動化腳本的工程文件夾的根目錄下,裡面只有核心腳本是用__main__作為主函數入口,執行用例管理函數,如有需要,可利用unittest及HTML報告輸出方法,設計執行腳本。

當框架沒有設計多場景多用例調用函數時,可利用unittest進行測試用例管理。


推薦閱讀:

Web自動化 - 選擇操作元素 1
Python多線程Selenium跨瀏覽器測試
selenium自動化測試入門 操作瀏覽器
4.3 通過selenium 模擬瀏覽器抓取
selenium自動化測試入門 下拉框元素定位

TAG:Selenium |