Hitchhiker:原创开源API协作测试工具
原文:Hitchhiker:原创开源API协作测试工具
关于作者:
Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api。
访问 http://www.hitchhiker-api.com 测试,可以点击 try without login
, 另外,为了免备案,服务器在海外的,所以速度上可能会有点慢,请谅解。(在线演示不支持压力测试)
简单介绍
背景是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文档 (计划中...)
压力测试
Hitchhiker-Node
展示
部署
首推使用 docker 部署,简单快捷,具体操作参考 deploy with docker
如果没有docker环境也可以使用源码部署,也很简单
linux 请参考 deploy to linux
windows 请参考 deploy to win
浏览器
只在Chrome(推荐)和Firefox下测试过,其他的暂不考虑。 这个工具的用户应该是Developer或QA,没理由没有Chrome和Firefox中的一个。
用到的技术
前后端分离,前端采用 React + Redux + AntDesign,后端基于 Nodejs, 采用 Koajs + TypeORM + MySQL。
语言统一用的 Typescript。
测试前端用Jest,覆盖了逻辑最多的 reducer,后端使用的就是本工具来测试自己,这对时间有限的我来说算是最有性价比的选择。
License
GPL-2.0 + 禁止商用
开源
可以访问 http://www.hitchhiker-api.com/ 来使用,点击 try without login
免注册登录使用,另外,为了免备案,服务器在海外的,所以速度上可能会有点慢,抽疯时可能访问不了,请谅解。
所以最好还是在本地局域网部署,用起来会比较爽。
Github: https://github.com/brookshi/Hitchhiker, 觉得不错的话麻烦 Star 支持下,谢谢。
阅读原文,访问文中链接。
Hitchhiker:原创开源API协作测试工具相关推荐
- 软件测试八款优秀的API安全测试工具,会用三款工作效率能提升50%
Postman Postman完全具备作为API测试工具的资格,但其更为人所知的名号却是打造安全API的全套协作平台.数百万Windows.Linux和iOS开发人员使用Postman不是没有原因的. ...
- 开源的压力测试工具 PyLot
为什么80%的码农都做不了架构师?>>> 一.什么是Pylot: Pylot(www.pylot.org)是一款开源的用以测试 Web Service性能和扩展性的工具,它运行 ...
- 开源网络负载测试工具-基准测试
译者注:在上一篇<开源网络负载测试工具测评>文章中,我以我微薄的翻译功底向大家展现了Ragnar Lönn先生对当前主流开源负载测试工具的一些看法.Ragnar Lönn先生主要以测试工具 ...
- 资深开发工程师推荐的8个开源可观察性及测试工具
以下为作者观点: DevOps和 "左移 "心态正影响着后端工程师的工作方式. 你需要监控一个应用程序的运行情况.你需要监控一个应用程序在你的CI/CD管道将其部署到生产中后的表现 ...
- Siege(开源Web压力测试工具)——多线程编程最佳实例
在英语中,"Siege"意为围攻.包围.同时Siege也是一款使用纯C语言编写的开源WEB压测工具,适合在GNU/Linux上运行,并且具有较强的可移植性.之所以说它是多线程编程的 ...
- 三、补充几个常用且开源的通信协议测试工具
做工控的朋友可能有亲身体验,调试协议时工具的重要性.国内有很多比较成熟的工具,我再补充几款国外的工具,并且大部分是开源的. 1.Opendnp3 Simulator 可同时模拟客户端和服务端.支持配置 ...
- windows 下用开源流媒体压力测试工具 rtmpstress 测试RTMP媒体服务器负载性能
最近笔者的朋友需要部署流媒体服务作运营,从国外购买了几套流媒体服务器软件,该流媒体服务器软件是基于java开发的,他向笔者咨询,如何检测该流媒体服务器软件是否能支持1000以上并发,笔者建议找一个RT ...
- PhEmail:基于Python的开源网络钓鱼测试工具
PhEmail简介 PhEmail是一款采用Python编程语言开发的开源网络钓鱼邮件工具,它可以帮助研究人员在进行社会工程学测试的过程中自动化地给目标发送网络钓鱼邮件.PhEmail不仅可以同时向多 ...
- Google 开源 iOS 应用测试工具:EarlGrey
Google于今日宣布了开源的EarlGrey软件,以便开发者更轻松地构建和运行"面向iOS apps源码"的用户界面测试(是的,你没看错!)当前托管于GitHub上.遵从开源Ap ...
最新文章
- 深入解析windows XP/2003:内核模式和用户模式
- Spring IoC(一)IoC容器的设计与实现:BeanFactory与ApplicationContext
- Java之通过Collections.synchronizedMap创建线程安全的HashMap
- vue 项目 引用(外部) js、css
- C++工作笔记-模版类要注意的地方(对比模版函数)
- keychron k8 连接切换蓝牙方案
- mysql undrop_MySQL · 数据恢复 · undrop-for-innodb
- SaaS:新智能背景下重构各个领域的生态系统
- 美国本科申请Essay的写作注意事项
- 高中计算机工作要点,高中信息技术工作计划
- c语言关于数组排序法和插入一个数的详细讲解
- WebSocket网页聊天室
- zbox mysql_系统重启后,使用./zbox start 启动时,mysql数据库启动不起来,日志文件里无任何记录...
- VC版学生成绩管理系统
- 利用CK11N改标准价格需要注意的地方
- 【Java写的碰碰球游戏(2) 】
- MHD-S210W全向麦克风
- firefox插件grease_monkey
- python3分解质因数_Python 质因数分解的研究
- 最大公约数 / 最小公倍数