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