Hitchhiker是一款开源的RestfulApi测试工具,支持多人协作,支持Schedule、数据比对、压力测试,支持上传脚本自定义请求,可轻松部署到本地,与您的团队成员一起管理Api。详细介绍见:http://doc.hitchhiker-api.com/cn/introduction.html在线体验:http://www.hitchhiker-api.com/可以使用免登录试试,避免登录(onlinedemo不支持压测和上传js,单核虚拟机不支持)。我们来看看这个更新:request和setRequestScript添加属性request来获取请求的信息,包括method、url、headers和body。constreq=hitchhiker.request;const{url,headers,method,body}=req;另外增加了一个方法setRequest(request),就是修改request。Request和setRequest可以一起使用,在发送之前对请求进行适当的编辑,比如添加签名,添加头部等等。constcrypto=hitchhiker.require('crypto-js');constsign=crypto.HmacSHA1('test','asdf');constreq=hitchhiker.request;url=`${url}?sign=${sign}`;hitchhiker.setRequest({...hitchhiker.request,url});当然,如果过头了,把GET请求变成POST请求也不是不可以:leturl=hitchhiker.request.url;url=`${url.substr(0,url.lastIndexOf('/'))}/post?c=d`;hitchhiker.setRequest({...hitchhiker.request,url,body:'{"name":"brook"}',method:'POST'});在CommonPreRequestScript之前还有一个PreRequestScript,它是Request级别的,但是一个Collection下往往会有很多Request,操作几乎相同。如果每个Request都写,维护起来会很麻烦,不方便。一个典型的应用场景是Collection下的所有Requesturl在发送前都需要加上一个动态的hash值。把这些常用的东西放到Collection级别就很方便了。配置inviteMemberDirectlyHitchhiker新增一个配置:inviteMemberDirectly,用于决定邀请成员时是发送邮件,还是直接拉入Project。默认为真。背景是部分公司的服务器无法访问外网,导致漫游者提供的邮件功能无法使用。这时候直接拉同事到Project的功能就非常有用了。当然,Hitchhiker支持外部邮件接口。其实,如果你愿意,在内网架设一个邮件服务器并不麻烦。具体配置可以参考:ConfigurationRequestFollowRedirect和RequestStrictSSL都是Collection下的属性。RequestFollowRedirect用于设置当返回状态码为3xx时,该Collection下的请求是否继续重定向到下一页,默认为false。RequestStrictSSL用于设置本Collection下的请求在发送时是否需要SSL证书验证,因为有些公司使用自己的证书,这些证书在严格SSL模式下会返回证书错误信息,不要勾选这个选项这个错误将被忽略,默认为false。整理文档整理文档,使用gitbook编写发布。不过gitbook在国内好像经常被封,所以我也在hitchhiker网站上放了一份,方便参考。文档地址:http://doc.hitchhiker-api.com/cn/introduction.html画一个Script流程图:后续计划接下来的主要目标是让压力测试支持ES6,支持js库,但是因为ofthepressurepoint是用GO写的,使用otto的解释器,而otto只支持ES5,需要在服务端进行转换。另外,它还支持async/await,这个可能有点麻烦。Github:https://github.com/brookshi/Hitchhiker,如果觉得不错请点个Star支持一下,谢谢。
