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

Ecshop

├─common

├─config

├─data

├─logs

├─pages

├─picture

├─report

├─script

├─tools

├─run.py

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

common

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

config

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

data

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

logs

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

pages

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

picture

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

report

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

script

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

tools

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

run.py

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

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

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