如何基于復(fù)雜場(chǎng)景(多接口耦合)開(kāi)展接口自動(dòng)化測(cè)試。

最佳實(shí)踐:Python + Robot Framework。

 自動(dòng)化測(cè)試

上面的最佳實(shí)踐也是走了很多坑,蹚出來(lái)的。曾嘗試過(guò)很多方式,甚至還開(kāi)發(fā)過(guò)基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架。先說(shuō)說(shuō)基于場(chǎng)景的自動(dòng)化有哪些難點(diǎn),為什么最終選擇Python+Robot Framework。

痛點(diǎn):

接口與接口的耦合,使得A接口的輸入依賴(lài)a接口的輸入,環(huán)環(huán)相套。(Mock的方式此處不討論)。

復(fù)雜場(chǎng)景的自動(dòng)化用例冗長(zhǎng)、調(diào)試、維護(hù)成本高。維護(hù)成本高的自動(dòng)化持續(xù)性很差,大多半途而廢。

自動(dòng)化用例開(kāi)發(fā)對(duì)編碼有一定的要求,不適應(yīng)不具備編碼能力的人進(jìn)行自動(dòng)化用例開(kāi)發(fā)、維護(hù)。

解決思路

借鑒關(guān)鍵字驅(qū)動(dòng)測(cè)試思想,把接口請(qǐng)求發(fā)送、響應(yīng)校驗(yàn)、響應(yīng)內(nèi)容返回,三部分封裝成"請(qǐng)求校驗(yàn)"關(guān)鍵字。

同時(shí)再封裝"內(nèi)容提取"關(guān)鍵字——提取接口響應(yīng)體特定數(shù)據(jù)。這樣就可以獲取上一個(gè)接口返回中的特定數(shù)據(jù)作為下一個(gè)接口的輸入?yún)?shù)。

如此。任何場(chǎng)景都可以通過(guò)"請(qǐng)求校驗(yàn)"關(guān)鍵字 + "內(nèi)容提取"關(guān)鍵字 + "請(qǐng)求校驗(yàn)"關(guān)鍵字 +…

如何落地

這里就需要考慮選擇哪些方法和工具的問(wèn)題了,首先關(guān)鍵字方法的實(shí)現(xiàn)通過(guò)Python基于測(cè)試庫(kù)架構(gòu)框架的思想開(kāi)發(fā)相關(guān)關(guān)鍵字方法。Robot Framework工具核心思想就是關(guān)鍵字驅(qū)動(dòng),使用其Ride進(jìn)行關(guān)鍵字庫(kù)、資源導(dǎo)入、用例編寫(xiě)。這里建議在將關(guān)鍵字方法作為庫(kù)導(dǎo)入后,用自然語(yǔ)言對(duì)每個(gè)關(guān)鍵字做一次映射,這樣便于業(yè)務(wù)測(cè)試人員使用。

Robot Framework 同樣支持?jǐn)?shù)據(jù)驅(qū)動(dòng),可以了解一下。