selenium-測試框架搭建(十三)

Tynam.Yang發表於2019-03-03

思路

分離業務程式碼和測試資料,提高程式碼可維護性,實現自動化,減少重複勞動。

一個測試框架大概由配置檔案,測試資料,測試用例,相關檔案(傳送郵件等),測試日誌,斷言和測試報告等模組組成。

 

結構

以頁面為基本單位進行構建自動化指令碼。如下圖

.idea: 存放專案的配置資訊。這個資料夾是自動生成,版本控制資訊等,包括歷史記錄。pycharm建立工程成功後會自動建立

venv: Python環境,一套"獨立"的執行環境,pycharm建立時可以選則建立

config: 配置檔案
baseConfig.ini: 基本的配置檔案,比如url
schoolSystem.ini: 學校系統配置檔案(這兒只是個舉例)
studentSystem.ini: 學生系統配置檔案(這兒只是個舉例)

data: 測試資料
存放上傳資料,還可以細分,例如image、video、txt等

download: 存放下載的資料
存放下載的資料,還可以細分,例如image、video、txt等
errorImage: 存放用例執行失敗時頁面截圖檔案

drivers: 驅動檔案,如chromedriver.exe、edgedriver.exe等

log: 日誌檔案,執行過程中的日誌,.log檔案

report: 測試報告,html檔案

test: 測試檔案
common: 公用方法,專案相關的方法
pages: 以頁面為單位,每個頁面封裝一套測試方法
case: 測試用例
runner: 對測試case進行組織,比如執行那些用例,跳過那些用例

utils: 存放一些其他的方法
HTMLTestRunner.py: 生成測試報告檔案
log.py: 生成日誌檔案,主要設定日誌的輸出級別、格式、檔名等
mail.py: 用例執行完成,將測試報告以郵件的形式傳送給相關人員
readConfig.py: 對配置檔案 ini 的讀取
findElement.py: 對webdriver的二次封裝
...
主要存放和測試相關,但是與專案無關的一些檔案

run.py: 執行,主要是對test/runner下組織的用例進行執行並且生成測試報告


使用提示

1、在使用要根據專案和業務進行,有依有據的進行構造。例如:根據手動功能測試的測試用例進行。或者以業務邏輯進行。總之選則最合適的

2、前段時間在聽一個分享會時,有一點特別深刻,拿來套用一下:以需求為基準。即前期方向一定要做對,比如打算用三個月完成從計劃到自動化的竣工。那麼申清需求以及構思框架等花2個月時間也是值得的。方向一定要要走對,如果開始就是錯誤的那麼後期質量再高也是徒勞的。

3、多人進行時一定做多勤溝通、有效溝通。避免各自為陣。這樣做出來的結構才清晰,專案緊密度高。高內聚、低耦合。

 

相關文章