天天看點

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

思路

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

一個測試架構大概由配置檔案,測試資料,測試用例,相關檔案(發送郵件等),測試日志,斷言和測試報告等子產品組成。

結構

以頁面為基本機關進行建構自動化腳本。如下圖

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

.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、多人進行時一定做多勤溝通、有效溝通。避免各自為陣。這樣做出來的結構才清晰,項目緊密度高。高内聚、低耦合。