零代碼,用介面管理工具 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