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展示

  • 支持多环境变量及运行时变量

  • 支持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://hitchhiker-api.com/ 来使用,点击 try without login 免注册登录使用,另外,为了免备案,服务器在海外的,所以速度上可能会有点慢,抽疯时可能访问不了,请谅解。

所以最好还是在本地局域网部署,用起来会比较爽。

Github: https://github.com/brookshi/Hitchhiker, 觉得不错的话麻烦 Star 支持下,谢谢。

开源的 Restful Api 集成测试工具 Hitchhiker的更多相关文章

  1. 开源API集成测试工具 Hitchhiker v0.1.3 - 参数化请求

    Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http://www.cnblogs.com/bro ...

  2. 开源API集成测试工具 Hitchhiker v0.2更新 - 压力测试

    Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http: ...

  3. 开源API集成测试工具 Hitchhiker v0.3更新 - 自动同步

    Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http: ...

  4. Hitchhiker 是一款开源的 Restful Api 测试工具

    Hitchhiker 是一款开源的 Restful Api 测试工具 开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到 Hitchhiker 是一款开源的 Restf ...

  5. 开源的API集成测试工具 v0.1.2 - 增强体验

    Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以在轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http://www.cnblogs.com/br ...

  6. 开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到

    Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍 ...

  7. 开源API测试工具 Hitchhiker v0.5更新 - 完善细节

    Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理Ap ...

  8. 开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试

    Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试 ...

  9. 开源API测试工具 Hitchhiker v0.7更新 - Schedule的对比diff

    Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试Ap ...

随机推荐

  1. Android Studio 自动生成 Java Doc

    Android Studio 生成 Java Doc 出现"编码GBK的不可映射字符"问题 错误的解决方案,复制粘贴一万遍也是错误的,下面是查找出来的,没有用的解决方案(还有几个, ...

  2. Argparse4j

    argparse4j 是 Python argparse 命令行解析器的 Java 语言移植版.这个要比spring AspectJ 更简单,更方便实现. <dependency> < ...

  3. MySQL系列(一)--基础知识大总结

    MySQL系列(一)---基础知识大总结 前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里只是作为简单的介绍,但是具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续 ...

  4. npm介绍与cnpm介绍

    npm介绍 说明:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装.卸载.管理依赖等) 使用npm安装插件:命令提示符执行npm instal ...

  5. ajax-post请求

    一般来说字符串读取不出来查看下面这行代码是否加上: xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencode ...

  6. Kibana5 数据探索使用(Discover功能)

    认识Kibana Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口.可使用它对日志进行高效的搜索.可视化.分析等各种操作.Kibana的使用场景 ...

  7. salesforce零基础学习(七十六)顺序栈的实现以及应用

    数据结构中,针对线性表包含两种结构,一种是顺序线性表,一种是链表.顺序线性表适用于查询,时间复杂度为O(1),增删的时间复杂度为O(n).链表适用于增删,时间复杂度为O(1),查询的时间复杂度为O(n ...

  8. IoC是什么

    IoC是什么 Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传 ...

  9. 【模板小程序】链表排序(qsort/insert_sort/merge_sort)

    前言 本文章整理了链表排序的三种方法,分别是快速排序.插入排序.归并排序.为适应不同用途,先给出常用的int版本,再在此基础上抽象出类模板. 目录 一.针对整数的版本(常用) 文中链表定义 链表相关操 ...

  10. 24. leetcode 409. Longest Palindrome

    409. Longest Palindrome Given a string which consists of lowercase or uppercase letters, find the le ...