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

  Ecshop

  ├─common

  ├─config

  ├─data

  ├─logs

  ├─pages

  ├─picture

  ├─report

  ├─script

  ├─tools

  ├─run.py

  詳細(xì)介紹每個組件設(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)有詳細(xì)的日志設(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í)行腳本。

  當(dāng)框架沒有設(shè)計多場景多用例調(diào)用函數(shù)時,可利用unittest進(jìn)行測試用例管理。