開源的 Restful Api 集成測試工具 Hitchhiker

Hitchhiker 是一款開源的 Restful Api 集成測試工具,你可以在輕鬆部署到本地,和你的team成員一起管理Api。

先上圖看看:

簡單介紹

背景是Team在開發一些Api,這些Api依賴於其他Team的Api,依賴的Api是比較底層且比較大的,用起來不太方便且沒有詳細文檔。

在開發Api的過程中有一個問題讓我比較在意,我們Team是我先研究那個依賴的Api,過程不太容易,需要找文檔,找那個Team的人協作,找case 等,研究了一些後做了一些東西,後面隔了一段時間開始陸續有其他同事參與進來,每進來一個都去研究一下那個Api,包括我做了其他事情後再回來開發Api時又得找資料熟悉下,這個過程造成了很大程度的時間和經驗的浪費。

所以我覺得應該有款工具能讓Team的人一起協作開發Api,和Code一樣,每個人研究的東西可以保存下來方便其他開發,這就是開發Hitchhiker的第一個引子。

後來,Api開始發佈出去,爲減少QA的工作量,需要做一個Api的自動化測試工具來保證數據準確性,希望能讓測試環境的數據和生產上的數據作對比,這樣保證新開發的Api不影響到舊的,測試專注於新功能就好,這是第二個引子。

Api的性能也是個關鍵的指標,在大規模使用前也需要對Api的性能做測試,所以性能測試是Hitchhiker下一個目標。

如果Api是公開的話,文檔是必須的,試想如果我們依賴的Api文檔好的話不僅我們這邊容易,他們那邊其實也省事不少,至少我們不用去頻繁打擾他們了。不過寫文檔過程是比較痛苦的且更新很麻煩,但如果Api的case都已經有了的話,文檔的主體其實就有了,然後對參數加些說明就可以了,QA熟悉的話都可以幫着做,所以一個所見即所得並且支持模板的文檔也在計劃中。

其實我們之前也是有用過一些測試工具,但不是很滿意,就易用性來說,最好用的還是Postman,所以Hitchhiker的UI就是模仿它的,用過Postman的話會很容易上手。

能做什麼

  • Team協作開發Api
  • Api歷史修改記錄及支持diff展示
  • 支持多環境變量及運行時變量,可以處理Api依賴問題
  • 參數化請求,把query/body裏的變化點提取出來,構建出參數列表,極大減少request的數量
  • 支持Schedule及批量run
  • 不同環境下的請求數據對比 (eg: stage vs product)
  • 支持在數據對比前對數據進行處理
  • 易部署 (支持 docker, windows, linux), 數據都存在自己這裏,不會上傳及丟失
  • 會記往任何修改,不用怕沒保存時session失效或系統重啓
  • 支持導入Postman v1 collections
  • 性能測試 (開發中...)
  • Api文檔 (計劃中...)

如何部署

首推使用 docker 部署,簡單快捷,具體操作參考 deploy with docker

如果沒有docker環境也可以使用源碼部署,也很簡單

linux 請參考 deploy to linux

windows 請參考 deploy to win

如何使用

參考 使用說明

用到的技術

前後端分離,前端採用 React + Redux + AntDesign,後端基於 Nodejs, 採用 Koajs + TypeORM + MySQL。

語言統一用的 Typescript。

測試前端用Jest,覆蓋了邏輯最多的 reducer,後端使用的就是本工具來測試自己,這對時間有限的我來說算是最有性價比的選擇。

開源

可以訪問 http://www.hitchhiker-api.com/ 來使用,點擊 try without login 免註冊登錄使用,另外,爲了免備案,服務器在海外的,所以速度上可能會有點慢,抽瘋時可能訪問不了,請諒解。

所以最好還是在本地局域網部署,用起來會比較爽。

Github: https://github.com/brookshi/Hitchhiker, 覺得不錯的話麻煩 Star 支持下,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章