開源的 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 支持下,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM