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

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

详细介绍请看: http://doc.hitchhiker-api.com/cn/introduction.html

在线体验: http://www.hitchhiker-api.com/, 可以用 try without login 来免登录使用 (在线演示不支持压力测试和上传js,虚拟机单核的,撑不住)。

下面来看看这次的更新:

request和setRequest

Script 增加属性request来得到请求的信息,包括 method, url, headers, body。

const req = hitchhiker.request;
const {url, headers, method, body} = req;

另外增加了一个方法 setRequest(request),这个方法是对请求进行修改。 request和setRequest配合着一起用就可以在请求发送前对其进行适当的编辑,比如增加一个签名,增加一个header之类。

const crypto = hitchhiker.require('crypto-js');

const sign = crypto.HmacSHA1('test', 'asdf');

const req = hitchhiker.request;
url = `${url}?sign=${sign}`;
hitchhiker.setRequest({...hitchhiker.request, url});

当然,做得过份点,把GET请求变成POST请求也不是不行:

let url = hitchhiker.request.url;

url = `${url.substr(0, url.lastIndexOf('/'))}/post?c=d`;

hitchhiker.setRequest({...hitchhiker.request, url, body: '{"name":"brook"}', method: 'POST'});

Common Pre Request Script

之前有个Pre Request Script,是Request级别的,但一个Collection下往往有很多Request有几乎相同的操作,如果每个Request去写将会非常麻烦,维护也不方便。

一个典型的应用场景是Collection下面所有的Request的url都需要在发送前加一个动态hash值,把这些通用的事情放到Collection 级别来做就会非常方便。

配置 inviteMemberDirectly

Hitchhiker 增加了一个新配置:inviteMemberDirectly, 用于决定邀请成员时是否需要发邮件,还是直接拉到Project里来,默认是true。

背景是有些公司的server是不能访问外网的,也就用不了Hitchhiker提供的邮件功能,这时这个直接拉同事到Project里来的功能就非常有用了。

当然,Hitchhiker是支持外部邮件接口的,其实如果愿意的话自己在内网搭一个邮件服务器也不麻烦。

具体这些配置可以参考:Configuration

Request Follow Redirect 和 Request Strict SSL

这两个都是Collection下面的属性。

Request Follow Redirect 用来设置这个Collection下面的请求是否在返回状态码为3xx时继续重定向到下一个页面,默认为false。

Request Strict SSL 用来设置这个Collection下面的请求在发送时是否需要做SSL证书的校验,因为有些公司用的自己做的证书,这些证书在严格SSL模式下会返回证书错误信息,不勾这个选项的话就会忽略这种错误,默认为false。

整理文档

把文档重新整理了一遍,使用gitbook来写和发布,不过gitbook貌似在国内经常被墙,所以在hitchhiker的网站上也放了一份,方便查阅。

文档地址:http://doc.hitchhiker-api.com/cn/introduction.html

画了一个Script流程图:

后续计划

接下来的一个主要目标是让压力测试支持ES6和支持js库,不过因为压力点是用GO写的,用的otto的解释器,而otto只支持到ES5,需要在server做下转换,另外还要支持async/await,可能会有点麻烦。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

Bypass ngx_lua_waf SQL 注入防御(多姿势)

ngx_lua_waf 是一款基于 ngx_lua 的 web 应用防火墙,使用简单,高性能、轻量级。默认防御规则在 wafconf 目录中,摘录几条核心的 S...

630
来自专栏Jack-Cui

Python3网络爬虫(十一):爬虫黑科技之让你的爬虫程序更像人类用户的行为(代理IP池等)

运行平台: Windows Python版本: Python3.x IDE: Sublime text3 1 前言     近期,有些朋友问我一些关于...

5307

使用Python和Requests访问HP OpenStack Nova

因此,我申请加入新的惠普云服务的免费和私人测试版,已经被惠普云团队所接受,今天我终于有一段时间在惠普云端使用OpenStack API。我将从我对服务的第一印象...

1895
来自专栏FreeBuf

Swf Decrypt详解

攻击在持续,攻击的技术在演进。防御者需要持续的跟进研究和投入。最近Flash 0day频繁出现,将我们更多的目光集中到flash上。 Flash作为脚本语言,可...

2627
来自专栏FreeBuf

某开源博客系统最新版源码审计

近期审计一个JAVA开源博客系统mblog2.5最新版,整体系统还是很安全的,漏洞较少,传统的问题像XSS系统使用全局过滤的方式进行实体化处理,上传问题使用白名...

745
来自专栏北京马哥教育

LVS原理知多少?

LVS简介   Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大量并发访问服务的能力,因此对于大负载的服务器来讲, CP...

3636
来自专栏Create Sun

python 爬虫入门案例----爬取某站上海租房图片

前言   对于一个net开发这爬虫真真的以前没有写过。这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方...

3667
来自专栏c#开发者

BizTalk开发小技巧-分拆和组装消息实例

BizTalk开发小技巧-分拆和组装消息实例 场景 对方发出的报文(XML)文件带一个消息头(MessageHeader)对于业务本身只需要消息体的内容(<...

3034
来自专栏FreeBuf

浅谈拒绝服务攻击的原理与防御(2) :反射型DDOS

0×01 前言 前几天提交了一篇关于DDOS攻击的文章到今天下午才审核通过发表出来,所以晚上闲来无事在接着写下面的内容,今天我就不多说废话了直接来干货。 目前来...

2386
来自专栏阮一峰的网络日志

RESTful API 设计指南

网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便...

3165

扫码关注云+社区