Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,能够轻松部署到本地,和你的team成员一块儿管理Api。javascript
详细介绍请看: http://www.cnblogs.com/brookshi/p/7440663.htmlhtml
在线体验: http://www.hitchhiker-api.com/, 能够用 try without login
来免登陆使用 (在线演示不支持压力测试和上传js,虚拟机单核的,撑不住)。java
这个算是以前就想实现的,拖了会,不过也是有朋友在github里的issue里提出,正好促使我完成这个功能。
在Pre Request Script里写的脚本会在请求发送前执行,这就使得能够在请求发送前处理一些事情,好比生成一个md5给请求使用,或者读取文件内容,再或者在请求前先请求一个数据,把这个数据作为变量给如今的请求使用,能够作的事有不少,发挥的余地很大。git
如今在脚本里可使用的方法有:github
require // 这个作js的都懂,有了这个就有无限可能,内置了'lodash', 'request', 'cypro-js'等库,重要的是支持上传js库 readFile // 读取文件 readFileByReader // 使用自定义的方法读取文件,好比读取excel saveFile // 保存文件 removeFile // 删除文件 setEnvVariable // 设置环境变量 getEnvVariable // 获取环境变量 removeEnvVariable // 删除环境变量 environment // 获取当前环境的名字
固然上面的函数一样能够在Test中使用,下面这些只在Test里支持:api
responseBody responseObj responseHeaders responseTime responseCode.code responseCode.name
对每一个项目来讲都有一个data
文件夹和一个lib
文件夹。
data
文件夹用于上传一些测试所须要的数据,能够是任何格式,只要你能读取。
lib
文件夹则用于上传一些js库,须要先压缩成zip格式,上传后会自动解压。
而后在脚本里就能够经过 readFile
读取 data
文件夹下的文件,或者经过 saveFile
保存文件到这个文件夹。
一样能够在脚本经过require
来引用上传的js库,而后使用它。函数
除了项目文件夹外其实还有一个全局的文件夹,这个文件夹能够放一些全局的js库或数据,好比已经内置了一些经常使用的js库:uuid
,lodash
等。工具
这个算是呼声比较高的,以前只是作到按天来跑schedule,后来收到很多这方面的需求,因此增长了以小时或分钟为单位的schedule。post
这个也算是刚需了,由于不少公司会过滤一些来源不明的邮件,因此 Hitchhiker发出的邮件极可能会收不到,如今增长了一个自定义的邮件接口,Hitchhiker会把数据post到这个接口上,就可使用公司的邮箱来接发邮箱了。测试
有朋友表示想在Jenkins里调用Schedule的Run接口,这是个好方法,因此开放了这个接口出来,方便其余程序调用。
如今的Pre Request Script和文件夹系统在压力测试下是不支持的,这个得想个办法支持起来,另一个是文档,如今文档有点乱,得整理下。
Github: https://github.com/brookshi/Hitchhiker, 以为不错的话麻烦 Star 支持下,谢谢。