pythonweb自動化測試腳本 Python如何實(shí)現(xiàn)對系統(tǒng)的API接口功能實(shí)現(xiàn)自動化測試?
Python如何實(shí)現(xiàn)對系統(tǒng)的API接口功能實(shí)現(xiàn)自動化測試?根據(jù)課題的描述,課題要解決的主要問題是:如何基于復(fù)雜場景(多接口耦合)進(jìn)行接口自動測試。以上最佳實(shí)踐也是很多洞,涉水而出。我嘗試了很多方法,甚
Python如何實(shí)現(xiàn)對系統(tǒng)的API接口功能實(shí)現(xiàn)自動化測試?
根據(jù)課題的描述,課題要解決的主要問題是:如何基于復(fù)雜場景(多接口耦合)進(jìn)行接口自動測試。
以上最佳實(shí)踐也是很多洞,涉水而出。我嘗試了很多方法,甚至開發(fā)了一個關(guān)鍵字驅(qū)動的自動化測試框架。讓我們談?wù)劵趫鼍暗淖詣踊睦щy,以及為什么最終選擇Python robot框架。
參照關(guān)鍵字驅(qū)動測試的思想,將接口請求發(fā)送、響應(yīng)驗(yàn)證和響應(yīng)內(nèi)容返回三部分封裝為“請求驗(yàn)證”關(guān)鍵字。
同時封裝“content extraction”關(guān)鍵字,提取接口響應(yīng)體的具體數(shù)據(jù)。這樣就可以得到前一個接口返回的具體數(shù)據(jù)作為下一個接口的輸入?yún)?shù)。
就是這樣。任何場景都可以通過“request verification”關(guān)鍵字、“content extraction”關(guān)鍵字和“request verification”關(guān)鍵字進(jìn)行驗(yàn)證
這里我們需要考慮選擇哪些方法和工具。首先,基于測試庫體系結(jié)構(gòu)框架的思想,用Python實(shí)現(xiàn)了關(guān)鍵字方法。robot框架工具的核心思想是關(guān)鍵字驅(qū)動,其主要功能是關(guān)鍵字庫、資源導(dǎo)入和用例編寫。建議將關(guān)鍵字方法作為庫導(dǎo)入后,每個關(guān)鍵字在自然語言中映射一次,方便業(yè)務(wù)測試人員使用。
Robot框架還支持?jǐn)?shù)據(jù)驅(qū)動。你可以了解它。
接口自動化測試工具有哪些?
接口自動化:如果是HTTP協(xié)議接口,第一種方法是使用eclipse封裝httpclient,然后編寫java腳本來測試接口。第二個是使用JMeter工具,這是一個測試HTTP接口和接口性能的工具
,視情況而定。
接口讀取數(shù)據(jù)庫操作,如get模式,即查詢、驗(yàn)證預(yù)期響應(yīng)內(nèi)容和實(shí)際響應(yīng)內(nèi)容,即驗(yàn)證數(shù)據(jù)倉庫數(shù)據(jù)查詢過程,因此無需驗(yàn)證數(shù)據(jù)庫。當(dāng)然,每次執(zhí)行自動化都需要環(huán)境初始化。在每次執(zhí)行自動化用例之前插入自動化測試數(shù)據(jù),執(zhí)行之后清除自動化數(shù)據(jù)。
寫入數(shù)據(jù)庫的接口,如post或delete模式,即寫入/刪除。一般來說,除了驗(yàn)證預(yù)期的響應(yīng)結(jié)果和實(shí)際的響應(yīng)結(jié)果外,還需要驗(yàn)證數(shù)據(jù)庫是否真的進(jìn)行了相關(guān)的操作。因?yàn)榻涌诜祷氐慕Y(jié)果并不能真正反映數(shù)據(jù)是否被寫入或刪除。
通常使用SQL驗(yàn)證。當(dāng)字段較多時,建議根據(jù)請求體封裝一個方法來實(shí)現(xiàn)拼接SQL的功能,具體如下:
然后封裝數(shù)據(jù)庫查詢方法來驗(yàn)證count的個數(shù)是否等于期望的個數(shù)。