v0.9是Hitchhiker在2017农历年的最后一个版本,而起点正是刚过完2016农历年,农历2018即将到来,一年轮回,今天写点东西稍微回顾下hitchhiker的2017。git
先仍是说v0.9,此次版本发布主要带来一个新的辅助测试功能:免脚本的断言测试,这是一个携程的朋友提出来的需求。github
以前Hitchhiker支持在test脚本里写 tests['assert'] = value 这样来断言,但不少QA其实并不会编程,或者会其余语言但对js不熟,这样断言写起来就不太方便,因此此次应朋友的需求加了这个功能:编程
上面动图已经展现了功能和用法,具体就很少说了。api
回头看下Hitchhiker的2017,一年过来,对这个项目来讲结果还不错,大小版本发了14个,github上有了1k+的star,我也所以认识了一些朋友,对技术上有也很多提高,整体看对我来讲是成功了。服务器
https://github.com/brookshi/Hitchhiker并发
起初,大概是2016年年中,我开始负责公司一个API项目,由于是金融公司,对数据准确性要求很高,因此产生想法,作一个工具来辅助这个API项目的测试,减小沟通成本以及QA作regression时的压力。后面准备了下,在2016年农历年后,也就是17年的3月份,正式开始编码实现功能。工具
因为不懂设计,因此UI上参考了比较熟悉的一个成名已久的测试工具:Postman,这也致使:即便后来除了UI外,实现了不少Postman没有的功能也仍是摆脱不了Postman的影子,很多人一看跟Postman同样,以为没有意义,在这点上算是一个败笔。不过也由于类Postman UI的易用性,让使用Hitchhiker的人很容易上手,这又是一大优点,算是二者抵消吧。测试
当时,想要经过这个工具解决的问题只有2个:优化
解决这2个问题的方案是:ui
这两个功能在17年7月左右前后实现,个人API项目的接口测试也陆续加了进去,基本上知足了需求。
因为项目的API的并发量比较大,在服务器有限的状况下,须要尽可能提早优化来提升吞吐,避免上线后出问题,因此须要在测试阶段给到服务器压力,而后在10月份时用Go语言为Hitchhiker实现了压力测试。
在0.5版本时用gitbook重写了文档: Hitchhiker使用文档
接下来的一个版本又大幅增强了脚本功能,支持require,支持上传脚本库和数据文件,标志着 NPM 里几十万的js库尽能够拿来用了。
不过惋惜的是基于Go语言写的压力测试因为对js支持有限,不得不放弃,转而使用Node重写了一份压力测试的功能并在v0.6版本上线。
其实到这时为止,Hitchhiker已经知足个人API项目的需求了,但随着使用者愈来愈多,需求不断出现,后续的版本基本都在实现这些需求了:
v0.7:支持自定义smtp,为请求生成各类语言的code,schedule数据不一样时的diff展现
v0.8: 自动化测试结果统计
v0.9: 基于UI的断言测试
还有不少功能想要实现,文档,Mock,管理平台等等,将会在接下来的2018里陆续实现。
在线体验: http://www.hitchhiker-api.com/, 能够用 try without login
来免登陆使用 (在线演示不支持压力测试和上传js库,虚拟机单核的,撑不住)。