Python API自動化框架總結
學完了Python指令碼介面自動化之後,一直沒有對該框架做總結,今天終於試著來做一份總結了。
框架結構如下圖:
來說一下每個目錄的作用:
Configs:該目錄下存放的是.conf,.ini檔案格式的配置檔案;檔案裡面的內容可以通過封裝好的讀寫配置檔案的類去獲取。
datas:該目錄下存放一些測試用例資料,如:Excel
libs:存放修改原始碼後的ddt.py和HTMLTestRunner文件,這個兩個文件主要是為了讓測試報告看起來更明瞭
logs: 存放指令碼執行的日誌檔案
reports: 執行run.py檔案後,存放執行後的測試報告
scripts: 該目錄主要存放封裝好的指令碼,通過呼叫這些指令碼,來實現測試資料的產生的使用和斷言。
constans.py: 該文件是用來獲取各目錄的路徑,指令碼中可以通過匯入該檔案中的各種路徑變數,這樣做的目的是便於框架的複用性。
handle_config.py: 該文件封裝的是讀寫配置檔案裡面的內容的類。
handle_loggin.py: 該文件封裝的是日誌檔案的存放和輸出。
handle_excel.py: 該文件封裝的是讀寫Excel內容的類。在unittest.TestCase類方法中,通過呼叫這個方法,從Excel中讀取測試資料,再將斷言結果寫進Excel中。
handle_pymysql.py: 該文件封裝的是資料庫的連線以及資料庫的查詢等相關操作方法。
handle_requests.py: 傳送request請求的方法封裝。
handle_context.py: 該文件主要是通過正則表示式,實現測試用例資料引數動態化
test_cases: 該目錄下存放的是各功能模組下的測試方法。
run_test.py: 該文件是存放在專案根目錄下,執行所有測試用例方法後,會在reports目錄下自動產生一個.Html的測試報告。
總結:
該框架主要的設計思想是:通過分層設計,將測試用例資料和測試方法以及業務邏輯抽離,做到測試框架可複用性高,易維護。
該框架主要是通過測試方法類-unittest.TestCase,從Excel中讀取測試資料,通過DDT迴圈呼叫測試資料,傳送Request請求,根據請求返回的響應資料與期望值來做斷言。其中DDT驅動資料的時候,通過handle_pymysql做資料庫校驗或者生產相應的測試資料,再通過handle_context結合正則表示式,動態替換引數。
自動化測試怎麼實現介面依賴?
方法一:將被依賴的介面,寫在Excel中(參考手動執行的順序)
方法二:可以通過編寫方法或者函式,在測試類方法中的前置條件方法(SetUpClass)中呼叫這個方法或者函式,得到想要的資料,再執行測試用例方法
自動化測試怎麼做資料庫校驗?
方法一:在測試用例資料文件中,在需要做資料庫校驗的測試用例後面增加一列,然後寫上SQL語句,在執行測試用例方法時,可以通過判斷這個欄位值,來確定是否需要做資料校驗。
以上就是本次介紹的全部知識點內容,感謝大家的學習和對我們的支援。