API 集成测试工具 Hitchhiker 0.2 发布: 新增压力测试 - 开源中国社区
API 集成测试工具 Hitchhiker 0.2 发布: 新增压力测试
不白兄 2017年10月16日

API 集成测试工具 Hitchhiker 0.2 发布: 新增压力测试

不白兄 不白兄 发布于2017年10月16日 收藏 83

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

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

这次发布的算是一个大版本,主要增加一个重磅功能 - 压力测试:

双11快到了,经常会有整点秒杀的活动,秒杀就是一个典型的压力场景,所以建了一个简单的Case来表现这种场景,来展示Hitchhiker压力测试功能:


Hitchhiker使用一个基于Golang的分布式压力节点,这是一个单独的项目:Hitchhiker-Node。得益于Golang的交叉编译,轻松跨平台生成文件,所以只有一个可执行文件和一个配置文件,没有环境依赖,直接执行。

使用时在release页面先选择对应平台的zip文件下载下来,解压后会有两个文件,一个可执行文件和一个配置文件config.json,打开配置文件,把`Address`的值从localhost改为部署Hitchhiker机器的ip,然后再执行Hitchhiker-Node文件,这样就弄好了一个压力点。

如果想压出很大的请求就可以考虑部署到多台机器上,Hitchhiker会自动根据机器的CPU核数来分配任务,当然,一般情况下直接部署到Hitchhiker同一台机器就够用了。


压力测试用的也是Collection的Request,可以选择性的挑出合适的Request用来做Case,压力测试的参数有:
> - Repeat: 运行整套请求的次数
> - Concurrency: 并发个数
> - QPS: 1秒内限制单个节点请求的个数,默认为0,即没有限制
> - Timeout: 请求的超时时间设置,单位为秒,默认为0,即没有超时设置
> - Keeplive: 设置请求是否使用Keeplive

运行压力测试任务时会实时显示运行状态,包括节点的状态(闪烁表示正在工作),当前任务及任务的数量,下方有三个图表,分别表示 
1. 当前的运行进度,包括完成的数量及TPS
2. 各个Request的请求消耗时间,包括 DNS, Connect, Request, Min, Max 这五个
3. 请求失败的状态,包括 No Response, Server Error(500), Test失败 这三种情况

其他改动
1. 源码部署时支持改端口,之前固定用的8080,要改需要改js文件,现在只需在部署文件时改就好了。
2. 改正Schedule空跑时的异常。

后续计划
压力测试在国庆后总算做出来,后来又花了一些时间来测试,0.2这个版本算是告一段落。
接下来版本计划要改下,涉及新功能的都是大版本,bug是小版本。
下个模块功能是支持API文档,希望能是一个自定义的,所见即所得,支持导出常用格式的API文档系统。
小功能和bug会持续改进。

项目主页

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:API 集成测试工具 Hitchhiker 0.2 发布: 新增压力测试
分享
评论(9)
精彩评论
1

引用来自“测试dog”的评论

Web Service支持吗
这个不管服务具体是什么,只要有接口就可以
最新评论
0

引用来自“高端大气上档次_”的评论

https://raw.githubusercontent.com/brookshi/Hitchhiker/release/deploy/linux_deploy.sh 这个sheel是在墙了么 貌似下载不了
没有呀,我这可以直接打开,不过github这几天貌似不太稳定,有时会访问不了
0
https://raw.githubusercontent.com/brookshi/Hitchhiker/release/deploy/linux_deploy.sh 这个sheel是在墙了么 貌似下载不了
0
看着真不赖
0

引用来自“豌豆粉”的评论

这个不错,公司一直在招这方面的 测试工具
欢迎使用:)
0
这个不错,公司一直在招这方面的 测试工具
1

引用来自“测试dog”的评论

Web Service支持吗
这个不管服务具体是什么,只要有接口就可以
0
Web Service支持吗
0
强烈支持
0
:+1:
顶部