接口自動(dòng)化測(cè)試框架 Python如何實(shí)現(xiàn)對(duì)系統(tǒng)的API接口功能實(shí)現(xiàn)自動(dòng)化測(cè)試?
Python如何實(shí)現(xiàn)對(duì)系統(tǒng)的API接口功能實(shí)現(xiàn)自動(dòng)化測(cè)試?根據(jù)課題的描述,課題要解決的主要問題是:如何基于復(fù)雜場(chǎng)景(多接口耦合)進(jìn)行接口自動(dòng)測(cè)試。以上最佳實(shí)踐也是很多洞,涉水而出。我嘗試了很多方法,甚
Python如何實(shí)現(xiàn)對(duì)系統(tǒng)的API接口功能實(shí)現(xiàn)自動(dòng)化測(cè)試?
根據(jù)課題的描述,課題要解決的主要問題是:如何基于復(fù)雜場(chǎng)景(多接口耦合)進(jìn)行接口自動(dòng)測(cè)試。
以上最佳實(shí)踐也是很多洞,涉水而出。我嘗試了很多方法,甚至開發(fā)了一個(gè)關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架。讓我們談?wù)劵趫?chǎng)景的自動(dòng)化的困難,以及為什么最終選擇Python robot框架。
參照關(guān)鍵字驅(qū)動(dòng)測(cè)試的思想,將接口請(qǐng)求發(fā)送、響應(yīng)驗(yàn)證和響應(yīng)內(nèi)容返回三部分封裝為“請(qǐng)求驗(yàn)證”關(guān)鍵字。
同時(shí)封裝“content extraction”關(guān)鍵字,提取接口響應(yīng)體的具體數(shù)據(jù)。這樣就可以得到前一個(gè)接口返回的具體數(shù)據(jù)作為下一個(gè)接口的輸入?yún)?shù)。
就是這樣。任何場(chǎng)景都可以通過“request verification”關(guān)鍵字、“content extraction”關(guān)鍵字和“request verification”關(guān)鍵字進(jìn)行驗(yàn)證
這里我們需要考慮選擇哪些方法和工具。首先,基于測(cè)試庫體系結(jié)構(gòu)框架的思想,用Python實(shí)現(xiàn)了關(guān)鍵字方法。robot框架工具的核心思想是關(guān)鍵字驅(qū)動(dòng),其主要功能是關(guān)鍵字庫、資源導(dǎo)入和用例編寫。建議將關(guān)鍵字方法作為庫導(dǎo)入后,每個(gè)關(guān)鍵字在自然語言中映射一次,方便業(yè)務(wù)測(cè)試人員使用。
Robot框架還支持?jǐn)?shù)據(jù)驅(qū)動(dòng)。你可以了解它。
python已經(jīng)自動(dòng)化了,大家一般用什么測(cè)試框架?
謝謝
!Python中似乎只有一個(gè)瀏覽器測(cè)試框架,它是模仿ruby框架制作的。它似乎可以更好地應(yīng)用于ie。非常舊的框架。JS支持不好。然而,Python很容易編寫測(cè)試框架。這很容易做到?;跒g覽器的測(cè)試也很容易做到。因?yàn)槟梢允褂胮yqt,所以這個(gè)庫中有一個(gè)基于WebKit的瀏覽器?;旧?,你可以隨心所欲。最近,我聽說有幾個(gè)新的BDD框架正在開發(fā)中。我不知道怎么做。實(shí)際上,對(duì)于Python來說,框架的成本太低了。所以最好不要成為一個(gè)框架。它有一個(gè)叫做dry的基本編程原理。不要重復(fù)你自己的話,不要重新發(fā)明方向盤。直接使用現(xiàn)有的Python測(cè)試套件,結(jié)合進(jìn)程、線程模型和QT,輕松組裝測(cè)試模塊。
接口自動(dòng)化測(cè)試,數(shù)據(jù)庫表需要校驗(yàn)嗎?
視情況而定。
接口讀取數(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)然,在每次自動(dòng)化運(yùn)行之前,自動(dòng)化環(huán)境需要在每次自動(dòng)化運(yùn)行之后清空。
寫入數(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)字段較多時(shí),建議根據(jù)請(qǐng)求體封裝一個(gè)方法來實(shí)現(xiàn)拼接SQL的功能,具體如下:
然后封裝數(shù)據(jù)庫查詢方法來驗(yàn)證count的個(gè)數(shù)是否等于期望的個(gè)數(shù)。