無需編寫代碼,API業務流程測試零代碼實現
引言
除了測試單個介面,我們常常需要對多個有數據或者邏輯關聯的介面進行業務流程測試,例如獲取驗證碼-註冊-登錄。傳統測試業務流程需要編寫一系列測試代碼,現在通過eoLinker全UI界面,無需編寫任何代碼即可完成稍複雜的API測試。
關鍵詞
流程化測試、自動化測試、數據關聯
填寫完介面文檔後,我們往往要對多個有數據或者邏輯關聯的介面進行API業務測試。精彩世界盃火熱進行,現以為支持球隊點贊業務來舉個例子:
介面1登錄:在進行測試前我們需要先登錄,將其返回的token欄位作為後續介面的請求頭欄位。
介面2獲取球隊列表:點贊之前我們需要先請求球隊列表數組。
介面3為球隊點贊:將上一個介面的球隊ID作為請求參數發送點贊請求。
介面4退出登錄:為了不影響瀏覽器的測試環境,我們需要退出登錄將環境恢復到測試前。
如下圖
若API文檔已建立了相關的介面,在自動化普通UI模式下可以批量添加已有介面
接下來我會依次介紹如何處理複雜的參數、對返回值匹配、將上一個介面返回值作為請求參數值等等。
對請求參數進行處理
登錄介面,我使用eoLinker內置的加密方法對請求參數userPassword進行MD5加密。
在請求前代碼注入里,僅需要了解一些簡單的對象賦值、for循環語法你就可以使用Javascript、Jquery對請求參數、請求頭部等操作自如。
對返回參數進行匹配
對於介面2,我需要先對返回值進行判斷,再決定自動化是否繼續,eoLinker校驗失敗時默認停止測試。
校驗規則:
· statusCode為字元串000000
· 列表中的第一個元素是中國隊,teamID為數字1
eoLinker填寫的校驗規則:
填寫匹配規則的過程中需要注意類型(string、int、boolean、float、array、object)以及層級關係。
上一個請求的返回值作為本次請求的請求參數
點贊喜歡的球隊時,需要傳遞上一個介面返回的球隊teamID。
獲取球隊列表的返回值:
第一步,填寫介面2:獲取球隊列表的返回參數,為關聯參數提供數據結構。
選中teamList的類型(選對了類型才能準確關聯),增加子欄位操作將teamName和teamID填入。
第二步,填寫介面3:為球隊點贊的請求參數。
點擊後會出現以下彈框,選中teamID。
生成綁定值。
是eoLinker規定的關聯參數形式,使用單書名號包裹的返回值response[介面的關聯ID(可在單例列表進行查看)].子參數。因為返回值的子參數teamList是數組,所以需要加元素序號,第一個元素為0,以此類推。關聯參數可以在請求頭部、請求體(form-data、raw),REST參數中使用。
測試報告
使用普通UI自動化模式,只需要動動滑鼠就可以完成一系列的業務流程測試,生成詳細的測試報告。


TAG:eolinker |