Hitchhiker是一款开源的RestfulApi集成测试工具,支持Schedule,数据对比,压力测试,可以轻松部署到本地,和你的team成员一起协作测试Api。
所以这次把自动化测试后每个请求的统计视图做出来了。
exculdedepredatedrequest选项,默认是true,如果false的话会把曾经在这个Collection现在已经被删掉的记录也包含进来。
有时做代码上做了更改之后想跑下这些测试,每个Schedule都点一下的话还是略显麻烦,现在给Schedule前面加了个checkbox,勾上的话会有一个RunSelectedSchedules的按钮在上面显示出来,点这个按钮会一次跑所有勾上的Schedule,方便使用。
因为可能在压力测试过程中服务端已经暴露出了问题,不需要再跑下去,这时可以停止当前压力测试。
Hitchhiker的部署一直是个头痛的问题,虽然支持docker很方便的部署,不过并不是所有人都会或者说愿意使用docker,毕竟很大一部分受众是测试,需要从他们角度来思考下,怎样简化部署。
这次先把包打好了,然后加了个setup的脚本在服务端运行,通过浏览器就可以完成一步一步部署了。
短期内还是以继续增加测试新功能为主,比如基于UI的断言测试等。
完全仿照Postman写的?
意义何在呀
完成度挺高的一个轻量级接口测试工具,对于简单的单接口测试来说还是挺方便的。
项目已star
谢谢兄台提醒:)
谢谢
还是有些意义的,比如team一起协作维护API,比如不同环境的数据对比,对RegressionTest比较有用,再比如有些公司不想API数据存到别人的服务器上
UI上是模仿Postman的,因为Postman用起来最舒服,功能上还是有不少差异化的
支持下,希望把性能测试快点加进来,哇哈哈
谢谢支持,性能测试在开发中了
是的,目前已经具备pro的基本功能了
body没有表单格式的啊
暂时还不支持,不过在计划中,现阶段需要自己添加content-type以及body
postman已有,为啥要重写postman+newman还可以写APItestcase在jenkins上跑
很多人问了,也说了很多次:
IC,thanksforyoursharing.第3点,倒是挺符合我的观点的,本地部署。期待更精彩的功能。
明天会发布一个重要功能,参数化请求,这也是postman没有的。
postman可以参数化。试了下Hatchhiker,docker版的,v0.1.3,参数化是什么格式使用postman的参数化格式不行,在url上,json里面的body,parameter里也不行postman是{{parameter_name}}
v0.2发布,支持压力测试
v0.3发布,支持自动同步更新
继续支持功能越来越强大的
谢谢Innocence兄支持
v0.4发布,超强脚本功能,支持PreRequestScript,使用require调用任何上传的js库
666,0.4开始完全具备api单一接口测试全覆盖的能力了
已star做的确实好。
是用js写的么
推荐一下eoLinker,也是很好用的!
嗯,接口测试和自动化这块差不多了,压力测试有待改进
谢谢支持
谢谢推荐,确实不错,不过个人认为接口在云上测试还是有些短处,比如开发或测试环境未必对外网开放,信息安全等
这个目前版本是不是还没有对单个接口的历史执行记录?还是我没有找到呢?
这个确实还没有,现在同事确实也有这样的需求,后面会加进来
端口号这样配置,理论上这样应该是正确的吧?
下面是控制台报错信息:
如果使用docker部署,以后要升级了版本,是直接修改下docker-compose.yml文件中的版本号,然后启动就行了吗?
我使用时都是写的IP地址的。这个问题先这样吧,主机和容器端口号一致的话能用。之后使用过程中再有问题的话再分析吧。
是的,改下版本号再sudodocker-composeup-d就可以了
好的,有问题或需求欢迎到github上提issue
使用docker的部署方式,链接服务器上的现有的mysql,现在的版本能实现吗?
看下浏览器控制台的错误信息,可能是跨域,也可能是数据库没配好
可以的,数据库部分参考代码部署方式,docker-compose.yml需要改下:
感谢感谢,可以连上,能用Attachingtohitchhikering以为没成功呢,后来试了下,再浏览器中是可以用的了
目前还处于再本地Mac上调试阶段,没有正式部署呢之后部署到Linux上去,可能还会遇到问题
v0.5更新:改进细节
再Test里面,用hitchhiker能读取HITCHHIKER_APP_HOST、HITCHHIKER_DB_USERNAME、MYSQL_ROOT_PASSWORD这些环境变量吗?
或者读取Environments下设置的变量。
尝试了{{}}这种格式,Test下不起作用的。
找到了:hitchhiker.environment
要读取HITCHHIKER_APP_HOST、HITCHHIKER_DB_USERNAME、MYSQL_ROOT_PASSWORD这些变量干嘛呢?hitchhiker.environment只是表示当前环境,Environment下设置的变量选择右上角的环境后可以用{{key}}直接访问到
我们的测试,预上线,生产环境的域名是相同的。环境之间的切换是通过切换hosts来实现的,而且是禁止IP地址直接访问的。因此,我是启动了三个容器,分别绑定不同的host,设置不同的端口,指向到同一个数据库,来实现的数据共享和环境切换的。
那么不同环境请求的url中的参数、返回值都是可能有差异的。之前是想在启动docker时分别设置一个env变量,并设置不同环境的值,然后前台读取docker中的这和变量来区分。
详细读过文档后,发现有hitchhiker.environment方法可以读取,可以解决这个问题
Test下面不支持{{key}}这种用法
通过host更改的环境确实就比较麻烦了,也亏你想到这个办法。不过还是觉得不是很好,有很多约束,特别是对测试,建议还是搞几个二级域名做这些事比较好。我们公司之前也是用host,后来都改成域名了。Test下面的变量确实有点问题,我本意是要支持来的,应该说是一个bug吧,下个版本会修正。现在如果想用的Environment下面的变量的话可以在PreRequestScript里写到运行时变量里,然后这个变量在Test里就可以直接使用{{host}}。