思路
分離業務代碼和測試資料,提高代碼可維護性,實作自動化,減少重複勞動。
一個測試架構大概由配置檔案,測試資料,測試用例,相關檔案(發送郵件等),測試日志,斷言和測試報告等子產品組成。
結構
以頁面為基本機關進行建構自動化腳本。如下圖

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