干貨||Selenium Page Object 自動化測試框架-框架設(shè)計
抽空利用ECshop開源項目,寫了下Selenium的Page Object自動化測試框架
Ecshop
├─common
├─config
├─data
├─logs
├─pages
├─picture
├─report
├─script
├─tools
├─run.py
詳細介紹每個組件設(shè)計含義。
l common
Python Package格式。存放通用功能函數(shù),如瀏覽器啟動函數(shù)、截圖函數(shù)、日志生成函數(shù)、獲取URL函數(shù)、HTML報告輸出函數(shù)、配置文檔讀取函數(shù)等。
l config
Directory格式。存放測試執(zhí)行過程中所需的配置文件,可擴展。
l data
Directory格式。測試執(zhí)行時所需的測試文件,如測試用例、測試集等。
l logs
Directory格式。存放測試執(zhí)行時生成的日志文件,便于測試過程追溯。
l pages
Python Package格式。存放頁面操作類函數(shù),如ECShop前端主頁、注冊頁面、登陸頁面等。
l picture
Directory格式。測試發(fā)現(xiàn)缺陷或需定位問題時,可調(diào)用common中的截圖函數(shù),將截圖文件保存在此處。
l report
Directory格式??蚣苤幸呀?jīng)有詳細的日志設(shè)計,但如果需要輸出HTML報告,則可調(diào)用common中的HTML報告輸出函數(shù),輸出測試報告到此處。
l script
Python Package格式。存放測試執(zhí)行腳本,業(yè)務(wù)邏輯類的實現(xiàn)腳本,放在此處,調(diào)用pages中的基礎(chǔ)類操作方法。
l tools
Directory格式。selenium針對不同瀏覽器的操作調(diào)用方法不同,需加載對應(yīng)的驅(qū)動文件,因此tools中可存放FireFox、IE、Chrome的selenium驅(qū)動文件。
l run.py
run.py在測試自動化腳本的工程文件夾的根目錄下,里面只有核心腳本是用__main__作為主函數(shù)入口,執(zhí)行用例管理函數(shù),如有需要,可利用unittest及HTML報告輸出方法,設(shè)計執(zhí)行腳本。
當框架沒有設(shè)計多場景多用例調(diào)用函數(shù)時,可利用unittest進行測試用例管理。


