开源的 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展示
支持多环境变量及运行时变量
支持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的更多相关文章
- 开源API集成测试工具 Hitchhiker v0.1.3 - 参数化请求
Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http://www.cnblogs.com/bro ...
- 开源API集成测试工具 Hitchhiker v0.2更新 - 压力测试
Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http: ...
- 开源API集成测试工具 Hitchhiker v0.3更新 - 自动同步
Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http: ...
- Hitchhiker 是一款开源的 Restful Api 测试工具
Hitchhiker 是一款开源的 Restful Api 测试工具 开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到 Hitchhiker 是一款开源的 Restf ...
- 开源的API集成测试工具 v0.1.2 - 增强体验
Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以在轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http://www.cnblogs.com/br ...
- 开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到
Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍 ...
- 开源API测试工具 Hitchhiker v0.5更新 - 完善细节
Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理Ap ...
- 开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试
Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试 ...
- 开源API测试工具 Hitchhiker v0.7更新 - Schedule的对比diff
Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试Ap ...
随机推荐
- GitHub 入门教程
一.前言 编程进阶的道路是坎坷的,没有任何捷径.这个时期只能是积累.吸收.学习.坚持,做到量的积累,到质的飞跃 古语有云:'书山有路,勤为径'.'不积跬步,无以至千里' 编程是一个动手实践性的学科,多 ...
- hadoop全分布式环境搭建
本文主要介绍基本的hadoop的搭建过程.首先说下我的环境准备.我的笔记本使用的是Windows10专业版,装的虚拟机软件为VMware WorkStation Pro,虚拟机使用的系统为centos ...
- 51nod_1264:线段相交(计算几何)
题目链接 关于判断线段相交,具体算法见 点击打开链接 ,先进行快速排斥试验,若不能判断出两个线段不相交,再进行跨立试验. //吐槽1,long long 会溢出... //吐槽2,只进行跨立试验的虽然 ...
- JMeterPluginsCMD Command Line Tool
There is small command-line utility for generating graphs out of JTL files. It behave just like righ ...
- Unity 工作经历+近期面试经历
由于团队解散,这最近都在找新工作机会--投简历找工作.已经面试三家了,都没拿到offer,挺失落的.把这种感受记录下来,以作后鉴. 这本质上是一篇面试经历的记录,并不是什么面试攻略,主要是给自己总结的 ...
- 如何修改script.bin/script.fex
你是否经常看见其他帖子里或者其他人提到要修改script.bin或script.fex ,但你又不知道怎么改. 其实 script.bin就是script.fex通过 fex2bin生成的,scrip ...
- 【逻辑漏洞】基于BurpSuite的越权测试实战教程
一.什么是越权漏洞?它是如何产生的? 越权漏洞是Web应用程序中一种常见的安全漏洞.它的威胁在于一个账户即可控制全站用户数据.当然这些数据仅限于存在漏洞功能对应的数据.越权漏洞的成因主要是因为开发人员 ...
- Java GC - 垃圾回收机制
1.简介 对于Java developer来说,了解JVM GC工作原理能够帮助我们开发出更优秀的应用,同时在处理JVM瓶颈时能够更加自由.在最近一年的应用开发中能体会到这些知识带来的好处,并且让我们 ...
- 最短路之Bellman-Ford算法
说明: Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的. 这时候,就需要使用其他的算法 ...
- ue4 C++ 导入图片
void SDrawHouseTypeTools::OnButtonClickLoadImage() { // 当前如果是在硬装模块,则可进行导入户型操作 FHardEdM ...