API 测试工具 Hitchhiker 0.6 发布,改进压力测试

栏目: 软件资讯 · 发布时间: 8年前

内容简介:Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试Api。 详细介绍请看: http://doc.hit...

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

详细介绍请看: http://doc.hitchhiker-api.com/cn/introduction.html

在线体验: http://www.hitchhiker-api.com/, 可以用 `try without login` 来免登录使用 (在线演示不支持压力测试和上传js,虚拟机单核的,撑不住)。

更新内容:

1. 重写压力测试

Hitchhiker 之前的压力测试节点是一个基于 Go 的 [Hitchhiker-Node](https://github.com/brookshi/Hitchhiker-Node),早期阶段Hitchhiker的脚本功能并不复杂,不支持上传js库,async/await,以及文件读取保存等,而Go的高并发非常有吸引力,做了下调研后,使用otto做为js解释器,是可以满足那时的脚本运行逻辑的,所以选用了Go做压力测试的节点,在早期是够用的。

后来Hitchhiker开始支持更多复杂的脚本功能,比如自定义js库,因为npm里的很多js库都基于Nodejs,而目前的Go以及otto满足不了这种需求,除非再加一个Node进程来执行脚本,然而这样又过于复杂,还不如直接使用Nodejs来写,所以综合考虑后还是使用Nodejs重写了压力测试点。

重写之后的压力测试是集成在Server一起的,也就是不用再部署其他的程序,而且支持现有所有的脚本功能。

两种方法的优劣:

Go的高并发以及goroutine使得写起这种压力程序时非常之轻松,性能也很有保障,缺点还是在于Hitchhiker的脚本是js,所以Go执行这些脚本比较费劲,也因此目前基于Go的压力点不支持Hitchiker脚本的高级特性。

Nodejs写这种压力测试程序就比较费劲,需要自己管理多进程,以及进程间通信,还没法精确控制1秒的请求数,也就是压力测试的参数QPS对Nodejs的压力点是没用的,不过好在Hitchhiker Server也是基于Nodejs的,所以可以重用请求处理的逻辑,而且Api的压力测试本质上是高IO的,所以Nodejs的性能也很不错。不过Nodejs的程序目前还不支持分布式,稍后会加上去,主体功能已经完成。

稍微比较了下两者的性能,在单机上基本旗鼓相当。

目前是以基于Nodejs的版本为默认的,也可以选用Go的,不过Go的暂时会停止维护,除非Go有了基于Node的js解释器,那时再考虑移回来。

API 测试工具 Hitchhiker 0.6 发布,改进压力测试

2. 重新整理请求流程

之前的请求流程有点乱,导致有些问题不容易发现,比如环境变量没应用到Test脚本里,所以在改这个bug时重构了下代码,把流程理清下:
API 测试工具 Hitchhiker 0.6 发布,改进压力测试
3. 修正Bug

1. global function 里的内容在切换模块后会消失
2. schedule里的请求返回是图片时,会造成JSON.parse失败,导致异常,改了图片只保存链接,不保存内容
3. 浏览器里压力测试的websocket有时会失败,加了重试
4. schedule的定时跑的记录会有1分钟左右的误差
5. 改请求的method时name会被重置
6. response 展示图片

4. 后续计划

短期内还是以增加测试新功能为主,比如curl生成请求,请求生成代码等,长期的一个是文档,一个是Mock,开始根据需求来决定下一个模块。

Github: https://github.com/brookshi/Hitchhiker
码云: https://gitee.com/iwxiaot/Hitchhiker


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网的误读

互联网的误读

詹姆斯•柯兰(James Curran)、娜塔莉•芬顿(Natalie Fenton)、德 斯•弗里德曼(Des Freedman) / 何道宽 / 中国人民大学出版社 / 2014-7-1 / 45.00

互联网的发展蔚为壮观。如今,全球的互联网用户达到20亿之众,约占世界人口的30%。这无疑是一个新的现象,对于当代各国的经济、政治和社会生活意义重大。有关互联网的大量大众读物和学术著作鼓吹其潜力将从根本上被重新认识,这在20世纪90年代中期一片唱好时表现尤甚,那时许多论者都对互联网敬畏三分,惊叹有加。虽然敬畏和惊叹可能已成过去,然而它背后的技术中心主义——相信技术决定结果——却阴魂不散,与之伴生的则......一起来看看 《互联网的误读》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器