开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到

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

详细介绍请看: https://cloud.tencent.com/developer/article/1012689

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

下面来看看这次的更新:

Pre Request Script

这个算是之前就想实现的,拖了会,不过也是有朋友在github里的issue里提出,正好促使我完成这个功能。 在Pre Request Script里写的脚本会在请求发送前执行,这就使得可以在请求发送前处理一些事情,比如生成一个md5给请求使用,或者读取文件内容,再或者在请求前先请求一个数据,把这个数据做为变量给现在的请求使用,可以做的事有很多,发挥的余地很大。

现在在脚本里可以使用的方法有:

require             // 这个做js的都懂,有了这个就有无限可能,内置了'lodash', 'request', 'cypro-js'等库,重要的是支持上传js库
readFile            // 读取文件
readFileByReader    // 使用自定义的方法读取文件,比如读取excel
saveFile            // 保存文件
removeFile          // 删除文件
setEnvVariable      // 设置环境变量
getEnvVariable      // 获取环境变量
removeEnvVariable   // 删除环境变量
environment         // 获取当前环境的名字

当然上面的函数同样可以在Test中使用,下面这些只在Test里支持:

responseBody
responseObj
responseHeaders
responseTime
responseCode.code
responseCode.name 

项目文件夹

对每个项目来说都有一个data文件夹和一个lib文件夹。 data文件夹用于上传一些测试所需要的数据,可以是任何格式,只要你能读取。 lib文件夹则用于上传一些js库,需要先压缩成zip格式,上传后会自动解压。 然后在脚本里就可以通过 readFile 读取 data文件夹下的文件,或者通过 saveFile保存文件到这个文件夹。 同样可以在脚本通过require来引用上传的js库,然后使用它。

除了项目文件夹外其实还有一个全局的文件夹,这个文件夹可以放一些全局的js库或数据,比如已经内置了一些常用的js库:uuidlodash等。

schedule支持以小时或分钟为单位

这个算是呼声比较高的,之前只是做到按天来跑schedule,后来收到不少这方面的需求,所以增加了以小时或分钟为单位的schedule。

支持自定义邮件发送接口

这个也算是刚需了,因为很多公司会过滤一些来源不明的邮件,所以 Hitchhiker发出的邮件很可能会收不到,现在增加了一个自定义的邮件接口,Hitchhiker会把数据post到这个接口上,就可以使用公司的邮箱来接发邮箱了。

开放schedule的run now接口以便其他程序调用

有朋友表示想在Jenkins里调用Schedule的Run接口,这是个好方法,所以开放了这个接口出来,方便其他程序调用。

Bug fix

  • schedule的顺序执行无效
  • sync有时会覆盖用户已经更改的数据
  • sync时环境变量编辑对应框里的内容会被清掉

后续计划

现在的Pre Request Script和文件夹系统在压力测试下是不支持的,这个得想个办法支持起来,另外一个是文档,现在文档有点乱,得整理下。

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

Wijmo 更优美的jQuery UI部件集:爱上 ThemeRoller

Wijmo 是一个基于jQuery UI的UI部件的套件。Wijmo最方便使用的特点之一就是兼容ThemeRoller。ThemeRoller 是一个创建独特的...

1837
来自专栏随心DevOps

Django 开发者都应该清楚的 十 个点

使用 Celery 进行异步任务和 cron 作业(不需要使用 UNIX cron) 开发的前两个星期,你可能不需要将任务放到异步进程中执行,但是当你的非技术...

35914
来自专栏君赏技术博客

团队自用的iOS CSV多语言工具今天终于发布1.0.0版本

image-20180727105818718 一般第一个为基础语言包不需要处理

1294
来自专栏木子昭的博客

用gogs创建图床服务

我原来搭过私人版的github, 也就是gogs,参见用gogs搭建属于自己的git网站, 我想到的办法是, 用gogs建一个仓库存图

922
来自专栏运维前线

Nginx源码安装及调优配置

由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进...

3426
来自专栏Java帮帮-微信公众号-技术文章全总结

WordPress你要会用

WordPress你要会用 虽然是PHP开发的,但不能忽律它的简单化 WordPress介绍 WordPress是一种使用PHP语言开发的博客平台,用...

3135
来自专栏Objective-C

Reveal Version 12 使用指南

2613
来自专栏魏艾斯博客www.vpsss.net

腾讯云CDN开启中间源导致wordpress后台无法访问的最终解决办法

魏艾斯博客使用了腾讯云CDN之后,全国各地打开速度都极快。曾经老魏遇到腾讯云CDN开启中间源导致网站后台打不开的情况,因为网上遇到这种情况的比较少(主要是没人像...

322
来自专栏云计算

容器技术概述

容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术, 运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像...

44911
来自专栏逻辑熊猫带你玩Python

Python | Time Marker时间标签(附详细注释)

如果您之前关注过我的内容,可以回忆一下我之前发过两篇关于文章,如果没有可以进入下面链接:

511

扫码关注云+社区