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