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

Hitchhiker 是一款開源的 Restful Api 集成測試工具,你能夠在輕鬆部署到本地,和你的team成員一塊兒管理Api。前端

先上圖看看:linux

簡單介紹

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

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

因此我以爲應該有款工具能讓Team的人一塊兒協做開發Api,和Code同樣,每一個人研究的東西能夠保存下來方便其餘開發,這就是開發Hitchhiker的第一個引子。docker

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

Api的性能也是個關鍵的指標,在大規模使用前也須要對Api的性能作測試,因此性能測試是Hitchhiker下一個目標。後端

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

其實咱們以前也是有用過一些測試工具,但不是很滿意,就易用性來講,最好用的仍是Postman,因此Hitchhiker的UI就是模仿它的,用過Postman的話會很容易上手。服務器

能作什麼

  • Team協做開發Apisession

  • 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 支持下,謝謝。

相關文章
相關標籤/搜索