Python API自動化框架總結(jié)
學完了Python腳本接口自動化之后,一直沒有對該框架做總結(jié),今天終于試著來做一份總結(jié)了。
框架結(jié)構(gòu)如下圖:
來說一下每個目錄的作用:
Configs:該目錄下存放的是.conf,.ini文件格式的配置文件;文件里面的內(nèi)容可以通過封裝好的讀寫配置文件的類去獲取。
datas:該目錄下存放一些測試用例數(shù)據(jù),如:Excel
libs:存放修改源碼后的ddt.py和HTMLTestRunner文檔,這個兩個文檔主要是為了讓測試報告看起來更明了
logs: 存放腳本運行的日志文件
reports: 執(zhí)行run.py文件后,存放運行后的測試報告
scripts: 該目錄主要存放封裝好的腳本,通過調(diào)用這些腳本,來實現(xiàn)測試數(shù)據(jù)的產(chǎn)生的使用和斷言。
constans.py: 該文檔是用來獲取各目錄的路徑,腳本中可以通過導入該文件中的各種路徑變量,這樣做的目的是便于框架的復(fù)用性。
handle_config.py: 該文檔封裝的是讀寫配置文件里面的內(nèi)容的類。
handle_loggin.py: 該文檔封裝的是日志文件的存放和輸出。
handle_excel.py: 該文檔封裝的是讀寫Excel內(nèi)容的類。在unittest.TestCase類方法中,通過調(diào)用這個方法,從Excel中讀取測試數(shù)據(jù),再將斷言結(jié)果寫進Excel中。
handle_pymysql.py: 該文檔封裝的是數(shù)據(jù)庫的連接以及數(shù)據(jù)庫的查詢等相關(guān)操作方法。
handle_requests.py: 發(fā)送request請求的方法封裝。
handle_context.py: 該文檔主要是通過正則表達式,實現(xiàn)測試用例數(shù)據(jù)參數(shù)動態(tài)化
test_cases: 該目錄下存放的是各功能模塊下的測試方法。
run_test.py: 該文檔是存放在項目根目錄下,執(zhí)行所有測試用例方法后,會在reports目錄下自動產(chǎn)生一個.Html的測試報告。
總結(jié):
該框架主要的設(shè)計思想是:通過分層設(shè)計,將測試用例數(shù)據(jù)和測試方法以及業(yè)務(wù)邏輯抽離,做到測試框架可復(fù)用性高,易維護。
該框架主要是通過測試方法類-unittest.TestCase,從Excel中讀取測試數(shù)據(jù),通過DDT循環(huán)調(diào)用測試數(shù)據(jù),發(fā)送Request請求,根據(jù)請求返回的響應(yīng)數(shù)據(jù)與期望值來做斷言。其中DDT驅(qū)動數(shù)據(jù)的時候,通過handle_pymysql做數(shù)據(jù)庫校驗或者生產(chǎn)相應(yīng)的測試數(shù)據(jù),再通過handle_context結(jié)合正則表達式,動態(tài)替換參數(shù)。
自動化測試怎么實現(xiàn)接口依賴?
方法一:將被依賴的接口,寫在Excel中(參考手動執(zhí)行的順序)
方法二:可以通過編寫方法或者函數(shù),在測試類方法中的前置條件方法(SetUpClass)中調(diào)用這個方法或者函數(shù),得到想要的數(shù)據(jù),再執(zhí)行測試用例方法
自動化測試怎么做數(shù)據(jù)庫校驗?
方法一:在測試用例數(shù)據(jù)文檔中,在需要做數(shù)據(jù)庫校驗的測試用例后面增加一列,然后寫上SQL語句,在執(zhí)行測試用例方法時,可以通過判斷這個字段值,來確定是否需要做數(shù)據(jù)校驗。
以上就是本次介紹的全部知識點內(nèi)容,感謝大家的學習和對腳本之家的支持。
相關(guān)文章
神經(jīng)網(wǎng)絡(luò)python源碼分享
這篇文章主要介紹了神經(jīng)網(wǎng)絡(luò)python源碼分享,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12Pytorch運行過程中解決出現(xiàn)內(nèi)存不足的問題
內(nèi)存不足是很多人感到頭疼的問題,本文主要介紹了Pytorch運行過程中解決出現(xiàn)內(nèi)存不足的問題,具有一定的參考價值,感興趣的可以了解一下2024-02-02Python中sklearn實現(xiàn)交叉驗證示例分析
這篇文章主要介紹了Python中sklearn實現(xiàn)交叉驗證,本文python的版本為3.8,各個版本之間函數(shù)名字略有不同,但是原理都是一樣的,集成開發(fā)環(huán)境使用的是Anaconda的Spyder,需要的朋友可以參考下2023-08-08python實現(xiàn)數(shù)據(jù)清洗(缺失值與異常值處理)
今天小編就為大家分享一篇python實現(xiàn)數(shù)據(jù)清洗(缺失值與異常值處理),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12