1. 程式人生 > 實用技巧 >YApi結合xxl-job自動化測試

YApi結合xxl-job自動化測試

一、YApi介紹

YApi旨在為開發、產品、測試人員提供更優雅的介面管理服務。可以幫助開發者輕鬆建立、釋出、維護 API,包括提供了一系列視覺化介面管理,還有自動化測試

1.1 自動化測試的場景及缺點

傳統的介面自動化測試成本高,大量的專案沒有使用自動化測試保證介面的質量,僅僅依靠手動測試,是非常不可靠和容易出錯的。

YApi 為了解決這個問題,開發了視覺化介面自動化測試功能,只需要配置每個介面的入參和對 RESPONSE 斷言,即可實現對介面的自動化測試。而且大部分介面支援Swagger匯入或者從Idea配置直接匯入。大大提升了介面測試的效率。

二、新建測試集合

使用 YApi 自動化測試,第一步需要做得是建立測試集合和匯入介面,點選新增集合建立,建立完成後匯入介面(同一個介面可以多次匯入)。

三、編寫測試用例

編寫測試用例主要涉及兩個方面,一個是請求引數,另外一個是斷言指令碼。

3.1 編輯請求引數

請求引數可以填寫期望的字串,YApi 還提供了 Mock 引數和 變數引數。Mock引數用來生成隨機字串,變數引數是為了解決請求引數依賴其他介面的返回資料或引數。

3.2 Mock 引數

Mock 引數每次請求都會生成隨機字串

3.3 變數引數

YApi 提供了強大的變數引數功能,你可以在測試的時候使用前面介面的 引數返回值 作為 後面介面的引數,即使介面之間存在依賴,也可以輕鬆 一鍵測試~

Tips: 引數只能是測試過程中排在前面的介面中的變數引數

格式:$.{key}.{params|body}.{path}

例如:現有兩個介面,分別是“導航標題”和“文章列表”

文章列表介面需要傳引數: 當前標題(id),而這個 id 需要通過 導航標題 的返回值獲取,這時應在 文章列表 的引數輸入框中根據前者的 key 找到對應 id。導航標題 的引數和返回值有如下結構:

引數:

返回值:

文章列表 的引數可以如下配置:

其中 $. 是使用 動態變數 的標誌,$.269.params 即表示 key 值為 269 用例的請求引數,$.269.body 即表示 key 值為 269 用例的返回值。

如果 requestBody 是 json 格式也可以在 json 中寫變數引數,如下圖:

Tips: 上下拖動測試集合的列表項可以調整測試的順序。

目前 yapi 中的querybody,headerpathParam的輸入引數已經支援點選選擇功能。無需自己填寫表示式,只需在彈窗中選擇需要展示的表示式即可。 輸入選項包括常量mock資料,在測試集合中也支援變數選擇。具體用法:單擊編輯按鈕開啟表示式生成器,點選需要的資料建立表示式,這裡也可以實時查看錶達式結果。

Tips: 在測試集合中插入變數引數可以會出現下圖的提示資訊,這是正常現象。因為該引數只能在各個介面順序執行的時候才能拉到變數引數中的值

四、編寫斷言指令碼

編寫完請求引數,可通過 js 指令碼寫斷言,實現精準測試,在介面用例頁面點選 Test 編輯。

五、執行自動化測試

在測試列表可以看到每個測試用例的 key,還有 開始測試、報告等功能

點選開始測試會按照 case 定義的引數從上往下一個一個進行測試,如果順序有問題,可以拖動調整

測試完成之後,點選報告檢視該次請求的結果

六、斷言指令碼公共變數

參考:https://nodejs.org/dist/latest-v8.x/docs/api/assert.html

七、服務端自動化測試

開始測試功能是在瀏覽器跑自動化測試,他依賴於瀏覽器的使用環境。服務端自動化測試功能是在YApi服務端跑自動化測試,不需要依賴瀏覽器環境,只需要訪問 YApi 提供的 url 連結就能跑自動化測試,非常的簡單易用,而且可以整合到 jenkins。

7.1 詳細使用方法

點選服務端測試,出現如下彈窗,使用者訪問該 url 就可以獲取當前測試用例的所有測試結果。

然後可以在xxl-job新增這個指令碼的地址,可以選擇郵件通知,來進行定時的自動化測試

然後就能看到郵件了~

https://zhuanlan.zhihu.com/p/32202008

https://hellosean1025.github.io/yapi/

https://testerhome.com/topics/20437