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

相关文章
相关标签/搜索