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

详细介绍请看: http://www.cnblogs.com/brookshi/p/7440663.html

在线体验: 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同一台机器就够用了。


压力测试用的也是CollectionRequest,可以选择性的挑出合适的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会持续改进。

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

开源API集成测试工具 Hitchhiker v0.2更新 - 压力测试的更多相关文章

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

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

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

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

  3. 开源的 Restful Api 集成测试工具 Hitchhiker

    Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以在轻松部署到本地,和你的team成员一起管理Api. 先上图看看: 简单介绍 背景是Team在开发一些Api,这些Api ...

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

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

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

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

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

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

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

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

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

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

  9. (转)用mysql自带工具mysqlslap对数据库进行压力测试

    http://aolens.blog.51cto.com/7021142/1901557-------用mysql自带工具mysqlslap对数据库进行压力测试 mysqlslap是mysql自带的工 ...

随机推荐

  1. css浮动Float

    核心:浮动元素会脱离文档流并向左/向右移动,直到碰到父元素或者另外一个浮动元素. float :left 向左浮动 right 向右浮动 none (默认)     inherit  继承父元素 fl ...

  2. 团队作业7---Alpha冲刺之事后诸葛亮

    一.设想与目标 1.我们的软件要解决什么问题? 我们的软件主要是帮助老师解决通过博客地址收集博客的相关信息来对学生对课程的认真与努力程度进行评定的问题,主要就是根据采集到的各项博客数据作为评分项,构建 ...

  3. 团队作业9--测试与发布(Beta版)

    Beta版本测试报告 1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? a. 修复的bug: 写入SD存储卡文件权限问题 页面正确跳转 及 部分页面闪退的问题 b. 不能重现的bu ...

  4. 201521123014 《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 泛型(编写的代码可被不同类型的对象所重用) Java中一个集合可以放任何类型的对象,因为任何对象都 is-a ...

  5. 201521123004 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  6. JAVA2015086第十一周作业

    本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了 ...

  7. JAVA课设 学生基本信息管理 团队博客

    1.成员 邹其元 网络1512 201521123060 杨钧宇 网络1512 201521123062 2.项目Git地址 团队项目码云地址 //添加截图 3. 项目git提交记录截图(要体现出每个 ...

  8. 201521123089 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 1.协议:网络中为了进行数据交换而建立的原则,标准或约定. 2.域名:Internet上某一台计算机的名称 ...

  9. What is uClinux?

    What is uClinux? The original uClinux was a derivative of Linux 2.0 kernel intended for microcontrol ...

  10. Java:extends和implements的区别+用法

    Java代码中的extends和implements让我感到很迷惑,现在终于弄明白它们之间的区别和用法了. [c-sharp] view plain copy //定义一个Runner接口 publi ...