零代碼,用介面管理工具 eoLinker 完成API測試業務

零代碼,用介面管理工具 eoLinker 完成API測試業務

來自專欄 eoLinker | 成就萬物互聯

引言

作為開發人員,有時需要協助市場部門進行開發,比如在市場推廣中,經常通過給用戶贈送優惠券來提高復購率。這篇文章,將介紹如何使用介面管理工具 eoLinker 的自動化測試 [UI模式] 構建此業務邏輯。

關鍵詞

市場推廣、定時任務、數據關聯

接下來,我們以給用戶贈送優惠券為例進行流程的搭建。搭建完整個流程後,你會發現不再需要編寫複雜的代碼了,只需簡單幾步就能完成。

目錄

1、流程設計

2、流程調試

3、定時任務

4、使用tips

5、小結


1、流程設計

我們先確定完成該業務邏輯需要用到的介面:

介面1 登錄:最基本的登錄介面,市場推廣人員登錄自己的賬號。

介面2 獲取用戶列表:在發放優惠券之前,先確定用戶名單。

介面3 獲取優惠券列表:獲取各種類型的優惠券。

介面4 給用戶贈送優惠券:以介面2和介面3的返回結果作為請求參數。

介面5 退出登錄:完成業務流程後,退出登錄。

按照上面的流程設計,我新建了下圖中的5個介面,同時調整好正確的測試順序。

介面1 的返回參數 statusCode ,我設置了4個狀態碼,剛好對應4種可能的情況,如果有更多可能性,可以繼續補充。

若API文檔已建立了相關的介面,在自動化普通UI模式下可以批量添加已有介面。

當我們編輯好介面,完成好對數據關聯的設置,這時候只需回到自動化測試頁面,點擊「 測試全部 」就可以完成測試了。如何進行數據關聯的內容將會在下文介紹。

下圖可以看到,我們完成正確的設置後,得到了成功的測試結果。

2、流程調試

在流程測試中,上一個介面的返回參數可能會是下一個介面的請求參數。這時候就需要用上 關聯數據 。比如給用戶發送優惠券,就需要傳遞上一個介面返回的優惠券 couponID 。下面通過兩個步驟來進行數據關聯:

第一步:獲取優惠券列表的返回值

我們有3種不同面值的優惠券:滿100減10、滿1000減100和滿10000減1000,對應著不同 couponID 。

第二步:填寫介面4的請求參數

介面4的請求參數就是介面2和介面3的返回參數。

點擊後面「關聯」按鈕,會出現以下彈框,選擇要關聯的數據,比如下圖選中了 couponID 。

生成綁定值。如圖中 userID 和 couponID 都生成了綁定值。

<response[39677].userList.userID>參數值的格式是eoLinker規定的關聯參數形式,使用單書名號包裹的返回值 response [介面的關聯ID(可在單例列表進行查看)].子參數。

如果返回值的子參數是數組,那就需要加元素序號,第一個元素為0,以此類推。如couponList[0]。

關聯參數可以在 請求頭部、請求體(form-data、raw),REST參數 中使用。

在調試中,測試報告也是十分重要的。

使用普通UI自動化模式,測試完畢後,會生成詳細的測試報告,通過查看詳情就能看到完整的測試報告。如果測試失敗了,通過測試報告也能及時進行修正。

3、定時任務

在本文的業務流程中,我們可以通過定時測試任務,讓整個流程自動執行。

首先在自動化測試的二級菜單--定時測試任務中,添加該任務。添加任務之前需要添加分組,比如這裡新建了「贈送用戶優惠券」的分組。

這裡需要填寫名稱:"給用戶贈送優惠券",時間設置「永久有效」,周期為「一周」,日期選擇「周一到周五的早10點和晚六點」,按照這樣的規則發送優惠券。

在用例列表中選擇之前設置好的用例:優惠券

確認測試環境,填寫我的郵箱,再選擇通知類型。這樣設置後,以後我們只需通過查看郵件,就可以獲取介面測試的所有情況,確保介面正常運行。

如上圖,每次的測試歷史可以在測試任務列表下載,十分方便。

4、使用tips

請求參數處理

有些參數需要在發送前進行加密,例如密碼等。在 eoLinker 中,通過代碼注入功能就可以對參數 userPassword 加密,比如

對於介面1,我使用 eoLinker 內置的加密方法對請求參數 userPassword 進行 MD5 和 SHA1 加密。

在代碼注入功能的右側導航欄,eoLinker 目前內置了包括 MD5 在內的3種加密方式,點擊就可以直接調用了。如果想用其他的加密方式,只需要了解一些簡單語法你就可以使用 Javascript、Jquery 代碼進行加密。當然也可以在發送前對請求參數做其他處理。

返回參數匹配

除了對請求參數進行處理外,對返回的參數也需要進行校驗,在這個業務中,我們只選擇特定的用戶發送相應優惠券,這就需要通過校驗來對返回的參數進行匹配。

對於介面2,我需要先對返回值進行判斷,再決定自動化測試流程是否繼續,eoLinker校驗失敗時默認停止測試。如果不想停在這裡的話,可以勾選下方的「 該用例校驗位失敗時,依然執行下一個用例 」。這樣即便失敗也會繼續測試下去。

下面說一下校驗規則

校驗規則:

statusCode為字元串000000

列表中的couponID是1,couponName為滿100減10

eoLinker填寫的校驗規則:

填寫匹配規則的過程中,主要為參數選擇正確的類型(string、int等)以及層級關係。比如在這裡參數 couponList 和 couponID 就是不同的類型,而couponID 是 couponList 的子欄位。

5、小結

最後,完成任務退出登錄,這樣一個完整的業務流程就完成了。通過自動化測試的UI模式進行業務流程測試,既不用編寫代碼,又能通過測試報告及時修正錯誤,相比傳統的測試方式極大地提高了工作效率。

eoLinker,高效、專業、規範,讓介面管理更加簡單!

更多更新內容請前往eoLinker微信公眾號,本文轉自eoLinker公眾號。

立即體驗:https://www.eolinker.com

推薦閱讀:

【獅子金融】API庫存大增 美油續跌
API Method Recommendation from Feature Requests
API的設計(1) - 錯誤處理
航班查詢介面-動態數據10分鐘內準確更新
安卓下不解析json

TAG:API | 科技 | 計算機科學 |