無需編寫程式碼,用介面管理工具 eoLinker 高效完成API測試流程相關業務

吳億歐發表於2018-09-07

引言

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

關鍵詞

市場推廣、定時任務、資料關聯

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

目錄

1、流程設計 2、流程除錯 3、定時任務 4、使用tips 5、小結

1、流程設計

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

介面1 登入:最基本的登入介面,市場推廣人員登入自己的賬號。 介面2 獲取使用者列表:在發放優惠券之前,先確定使用者名稱單。 介面3 獲取優惠券列表:獲取各種型別的優惠券。 介面4 給使用者贈送優惠券:以介面2和介面3的返回結果作為請求引數。 介面5 退出登入:完成業務流程後,退出登入。

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

圖片1.png

圖片2.png

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

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

當我們編輯好介面,完成好對資料關聯的設定,這時候只需回到自動化測試頁面,點選“ 測試全部 ”就可以完成測試了。如何進行資料關聯的內容將會在下文介紹。 下圖可以看到,我們完成正確的設定後,得到了成功的測試結果。

圖片3.png

2、流程除錯

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

  • 第一步:獲取優惠券列表的返回值 我們有3種不同面值的優惠券:滿100減10、滿1000減100和滿10000減1000,對應著不同 couponID 。

圖片4.png

  • 第二步:填寫介面4的請求引數 介面4的請求引數就是介面2和介面3的返回引數。

圖片5.png

點選後面“關聯”按鈕,會出現以下彈框,選擇要關聯的資料,比如下圖選中了 couponID 。

圖片6.png
圖片7.png

生成繫結值。如圖中 userID 和 couponID 都生成了繫結值。 <response[39677].userList.userID>引數值的格式是eoLinker規定的關聯引數形式,使用單書名號包裹的返回值 response [介面的關聯ID(可在單例列表進行檢視)].子引數。 如果返回值的子引數是陣列,那就需要加元素序號,第一個元素為0,以此類推。如couponList[0]。 關聯引數可以在 請求頭部、請求體(form-data、raw),REST引數 中使用。 在除錯中,測試報告也是十分重要的。 使用普通UI自動化模式,測試完畢後,會生成詳細的測試報告,通過檢視詳情就能看到完整的測試報告。如果測試失敗了,通過測試報告也能及時進行修正。

圖片8.png

3、定時任務

在本文的業務流程中,我們可以通過定時測試任務,讓整個流程自動執行。 首先在自動化測試的二級選單--定時測試任務中,新增該任務。新增任務之前需要新增分組,比如這裡新建了“贈送使用者優惠券”的分組。

圖片9.png

這裡需要填寫名稱:"給使用者贈送優惠券",時間設定“永久有效”,週期為“一週”,日期選擇“週一到週五的早10點和晚六點”,按照這樣的規則傳送優惠券。 在用例列表中選擇之前設定好的用例:優惠券

圖片10.png

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

圖片11.png
圖片12.png

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

4、使用tips

請求引數處理

有些引數需要在傳送前進行加密,例如密碼等。在 eoLinker 中,通過程式碼注入功能就可以對引數 userPassword 加密,比如 對於介面1,我使用 eoLinker 內建的加密方法對請求引數 userPassword 進行 MD5 和 SHA1 加密。

圖片13.png
圖片14.png

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

返回引數匹配

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

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

下面說一下校驗規則

校驗規則: statusCode為字串000000 列表中的couponID是1,couponName為滿100減10

eoLinker填寫的校驗規則:

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

5、小結

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

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

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

立即體驗:www.eolinker.com

相關文章