开源测试工具 [开源] 基于 Nodejs 的 Restful Api 集成测试工具 , 更新 v0.1.2

brookshi · 发布于 2017年08月30日 · 最后由 brookshi 回复于 2017年09月19日 · 1007 次阅读
本帖已被设为精华帖!

v0.1.2

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

这次版本主要是增加一些体验方面的更新:

request的header提示及自动完成

request的header种类基本就那些,但纯靠手写有时会写错,导致请求不到数据,很麻烦。于是把常用header加到自动提示里面,方便使用。

header的收藏功能

一个项目的request的header其实用来用去都是那几个,每个request都去写这些重复的即使有提示也显得麻烦,这时可以添加到收藏,下次再用直接选进来就可以了。(可以右键选新标签中打开图片,看起来清楚些)

tests的全局函数

很多request的tests里会用到同样功能的函数,每个都写的话麻烦不说,维护起来也不方便,考虑像写代码一样,应该提取共同部分,所以增加了一个全局脚本,可以在Project里定义,其下的Request可以直接使用。

清除本地Cache功能

Hitchhiker会把用户所有的更改都记在浏览器的indexDB中,但有时会有一些情况比如说想放弃所有更改,可以清除本地cache,所有数据全部用最新的数据库里的。

UI调整

主要是字体改了,之前统一用的adobe开源的一款SourceCodePro字体,因为是等宽字体,有朋友反应说看起来不舒服,想想有道理,所以把除了代码之外的都使用系统字体,看起来紧凑点。

后续计划

0.2大版本的分布式压力测试还是开发中,测试tool用go写的,代码基本差不多,接下来主要是通信方面。

0.1.3小版本的主要还是小功能和体验上的改进,计划引入一个比较有用的新功能:参数化请求,因为很多需要测试的api大体上差不多,只是query或者body里变了一点,如果重复添加request的话显得麻烦且维护不便,参数化可以把这些变化封装到参数里,一个request就可以了,系统根据参数自动生成多个请求。


v0.1.1

Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以在轻松部署到本地,和你的team成员一起协作管理Api。

先上图看看:

能做什么

  • Team协作开发Api

  • Api历史修改记录及支持diff展示

  • 支持多环境变量及运行时变量

  • 支持Schedule及批量run

  • 不同环境下的请求数据对比 (eg: stage vs product)

  • 易部署 (支持 docker, windows, linux), 数据都存在自己这里,不会上传及丢失

  • 会记往任何修改,不用怕没保存时session失效或系统重启

  • 支持导入Postman v1 collections

  • 性能测试 (开发中...)

  • Api文档 (计划中...)

如何部署

首推使用 docker 部署,简单快捷,具体操作参考 deploy with docker

如果没有docker环境也可以使用源码部署,也很简单

linux 请参考 deploy to linux

windows 请参考 deploy to win

如何使用

参考 使用说明

用到的技术

前后端分离,前端采用 React + Redux + AntDesign,后端基于 Nodejs, 采用 Koajs + TypeORM + MySQL。

语言统一用的 Typescript。

测试的话,前端用Jest,覆盖了逻辑最多的 reducer,后端使用的就是本工具来测试自己,这对时间有限的我来说算是最有性价比的选择。

开源

可以访问 http://www.hitchhiker-api.com/ 来使用,点击 try without login 免注册登录,另外,为了免备案,服务器在海外的,所以速度上可能会有点慢,抽疯时甚至可能访问不了,请谅解。

当然最好还是在本地局域网部署,用起来会比较爽。

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

共收到 14 条回复
2cac51

完全仿照Postman写的?

7642

意义何在呀

605

完成度挺高的一个轻量级接口测试工具,对于简单的单接口测试来说还是挺方便的。

项目已 star

605 chenhengjie123 将本帖设为了精华贴 09月01日 00:18
6916


拼写有错误啊,😂

C80e38
6916_long 回复

谢谢兄台提醒 :)

C80e38
605chenhengjie123 回复

谢谢

C80e38
7642lxs1314520 回复

还是有些意义的,比如team一起协作维护API,比如不同环境的数据对比,对Regression Test比较有用,再比如有些公司不想API数据存到别人的服务器上

C80e38
2cac51Goodboy 回复

UI上是模仿Postman的,因为Postman用起来最舒服,功能上还是有不少差异化的

96c88c

支持下,希望把性能测试快点加进来,哇哈哈

C80e38
96c88cmzmb 回复

谢谢支持,性能测试在开发中了

4817

虽然跟postman类似,还是希望这个做些postman pro的功能😄

C80e38
4817xiaobeiying 回复

是的,目前已经具备pro的基本功能了

76d208

body没有表单格式的啊

C80e38
76d208leo126 回复

暂时还不支持,不过在计划中,现阶段需要自己添加content-type以及body

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册