python編程 Python如何實(shí)現(xiàn)對系統(tǒng)的API接口功能實(shí)現(xiàn)自動化測試?
Python如何實(shí)現(xiàn)對系統(tǒng)的API接口功能實(shí)現(xiàn)自動化測試?根據(jù)題主的描述,題主主要想解決的問題是:如何基于復(fù)雜場景(多接口耦合)開展接口自動化測試。最佳實(shí)踐:Python Robot Framew
Python如何實(shí)現(xiàn)對系統(tǒng)的API接口功能實(shí)現(xiàn)自動化測試?
根據(jù)題主的描述,題主主要想解決的問題是:如何基于復(fù)雜場景(多接口耦合)開展接口自動化測試。
最佳實(shí)踐:Python Robot Framework。
上面的最佳實(shí)踐也是走了很多坑,蹚出來的。曾嘗試過很多方式,甚至還開發(fā)過基于關(guān)鍵字驅(qū)動的自動化測試框架。先說說基于場景的自動化有哪些難點(diǎn),為什么最終選擇Python Robot Framework。
痛點(diǎn):
- 接口與接口的耦合,使得A接口的輸入依賴a接口的輸入,環(huán)環(huán)相套。(Mock的方式此處不討論)。
- 復(fù)雜場景的自動化用例冗長、調(diào)試、維護(hù)成本高。維護(hù)成本高的自動化持續(xù)性很差,大多半途而廢。
- 自動化用例開發(fā)對編碼有一定的要求,不適應(yīng)不具備編碼能力的人進(jìn)行自動化用例開發(fā)、維護(hù)。
解決思路
借鑒關(guān)鍵字驅(qū)動測試思想,把接口請求發(fā)送、響應(yīng)校驗(yàn)、響應(yīng)內(nèi)容返回,三部分封裝成"請求校驗(yàn)"關(guān)鍵字。
同時(shí)再封裝"內(nèi)容提取"關(guān)鍵字——提取接口響應(yīng)體特定數(shù)據(jù)。這樣就可以獲取上一個(gè)接口返回中的特定數(shù)據(jù)作為下一個(gè)接口的輸入?yún)?shù)。
如此。任何場景都可以通過"請求校驗(yàn)"關(guān)鍵字 "內(nèi)容提取"關(guān)鍵字 "請求校驗(yàn)"關(guān)鍵字 …
如何落地
這里就需要考慮選擇哪些方法和工具的問題了,首先關(guān)鍵字方法的實(shí)現(xiàn)通過Python基于測試庫架構(gòu)框架的思想開發(fā)相關(guān)關(guān)鍵字方法。Robot Framework工具核心思想就是關(guān)鍵字驅(qū)動,使用其Ride進(jìn)行關(guān)鍵字庫、資源導(dǎo)入、用例編寫。這里建議在將關(guān)鍵字方法作為庫導(dǎo)入后,用自然語言對每個(gè)關(guān)鍵字做一次映射,這樣便于業(yè)務(wù)測試人員使用。
Robot Framework 同樣支持?jǐn)?shù)據(jù)驅(qū)動,可以了解一下。