一款簡約實用的“線上介面流程測試工具”

小蟲巨蟹發表於2018-07-23

去年為了落地“基於代理服務的介面合併方案”,實用 Node 開發了一個 freedom-api 模組,最近靈光一閃,發現了 freedom-api 的另一個妙用,遂對 freedom-api 進行了升級完善,簡化流程。開發出了 線上介面流程測試工具,有興趣可以嘗試下

一、目的

對於前端開發的同學來說,會出現這樣一種場景:當後臺將介面交付之後,此時自己還在開發前端邏輯,忙得正焦頭爛額,只會簡單的通過瀏覽器或者 postMan 來試一試介面通不通,至於介面之間的上下承接,請求結果是否達到預期,無力 Care。當 Ready 去聯調的時候,結合業務邏輯,才發現介面會有各種各樣的坑,才讓後臺匆匆忙忙去修復,讓後臺白白錯過一個並行修復期。

對於有專門介面測試同學的 team,各種高階的介面測試工具倒是功能齊全,可是測試指令碼的學習成本不可謂不高

在 freedom-api 中,定義了一套基於 Json 的簡要的流程規則,如果輔之於一套視覺化的流程配置介面,一款簡約實用的“線上介面流程測試工具”呼之欲出~~

工具介面

二、工作流程描述

一款簡約實用的“線上介面流程測試工具”

  1. 使用者通過視覺化的工具,配置好介面請求流程
  2. 點選執行按鈕,客戶端將會和伺服器端建立一個 web socket 連線,同時格式化流程定義傳送到伺服器端,伺服器端在執行具體一個請求流程的前後,實時同步請求資訊到客戶端,客戶端顯示流程日誌
  3. 對於具體的流程,還可以通過簡單的 Js 表示式設定結果斷言,斷言不通過,流程將中斷,就可以將介面懟回給後端了

三、優勢

  1. 規則簡單:除了 $data$$allData$ 這倆內建變數,你不需要記住更多
  2. 完整的資料取用,你不光可以看到 response.body,response.header 也一網打盡
  3. 不用擔心登入態。即使你的流程很多都需要基於頭一個介面完成的登入,你也不必擔心通過代理伺服器請求之後,登入態會丟失,因為 freedom-api 很好的處理了 cookie。如果登入態不急於 cookie 維護,從 $allData$ 中可以獲取到你所需的一切
  4. 清晰的編輯指引,以及內建的 demo,讓你輕鬆的編輯流程
  5. 我湊這麼多字數著實不易,有空就看看唄~~

四、有待優化

真實的應用場景中,介面流程的各種鑑權加密必不可少,目前工具這塊支援得比較簡單。好在,freedom-api 基於 tapable 外掛機制,這一塊可以補充各種外掛供使用者勾選。當然這塊做不做,還得看 "Anybody care ?"

五、測試環境的介面,只能內網環境訪問

這個就是致命傷了,只能內網訪問的介面,我的伺服器沒有理由可以穿透。但是,如果需要,通過 freedom-api 自己在內網搭建一套有何妨? 還可以通過補充各種外掛,訂製完善各種功能。

沒精力?Maybe I can help

相關文章