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