什么是DOClever?
DOClever是一个商业化开源产品,完全免费。无论你是前端工程师,还是后端工程师,接口永远都是两者交互的桥梁,所以DOClever专为中小型团队量身打造,旨在解决接口的管理,测试与数据生成,实现真正的一体化解决方案。
DOClever有哪些功能
- 可以对接口信息进行编辑管理,支持get,post,put,delete,patch五种方法,支持http和https协议,并且支持query,body,json,raw,rest,formdata的参数可视化编辑。同时对json可以进行无限层次可视化编辑。并且,状态码,代码注入,markdown文档等附加功能应有尽有。
- 接口调试运行,一个都不能少,可以对参数进行加密,从md5到aes一应俱全,返回参数与模型实时分析对比,给出不一致的地方,找出接口可能出现的问题。如果你不想手写文档,那么试试接口的数据生成功能,可以对接口运行的数据一键生成文档信息。
- mock的无缝整合,DOClever自己就是一个mock服务器,当你把接口的开发状态设置成已完成,本地mock便会自动请求真实接口数据,否则返回事先定义好的mock数据。
- 支持postman,rap,swagger的导入,方便你做无缝迁移,同时也支持html文件的导出,方便你离线浏览!
- 项目版本和接口快照功能并行,你可以为一个项目定义1.0,1.1,1.2版本,并且可以自由的在不同版本间切换回滚,再也不怕接口信息的遗失,同时接口也有快照功能,当你接口开发到一半或者接口需求变更的时候,可以随时查看之前编辑的接口信息。
- 自动化测试功能,目前市面上类似平台的接口自动化测试大部分都是伪自动化,对于一个复杂的场景,比如获取验证码,登陆,获取订单列表,获取某个特定订单详情这样一个上下文关联的一系列操作无能为力。而DOClever独创的自动化测试功能,只需要你编写极少量的javascript代码便可以在网页里完成这样一系列操作,同时,DOClever还提供了后台定时批量执行测试用例并把结果发送到团队成员邮箱的功能,你可以及时获取接口的运行状态。
- 团队协作功能,很多类似的平台这样的功能是收费的,但是DOClever觉得好东西需要共享出来,你可以新建一个团队,并且把团队内的成员都拉进来,给他们分组,给他们分配相关的项目以及权限,发布团队公告等等。
- DOClever开源免费,支持内网部署,很多公司考虑到数据的安全性,不愿意把接口放到公网上,没有关系,DOClever给出一个方便快捷的解决方案,你可以把平台放到自己的内网上,完全不需要连接外网,同时功能一样也不少,即便是对于产品的升级,DOClever也提供了很便捷的升级方案!
重点功能整理
- 支持swagger数据导入,支持后续同步更新(设置-更新工程)。
- 接口支持多参数实例配置,不同的入参可返回不同的出参。参数实例支持克隆。
- 接口模版,接口常用的参数、基本信息保存为模版。
- Inject注入,运行一个接口开始前和结束后进行js代码的注入操作。可以自由的修改很多功能,比如需要对接口的字段进行自定义的加密处理。 单个接口注入、全局环境注入。
- Mock数据
- 状态码
接口项目管理
在线接口文档,项目版本管理
Restful,Query,Header,Body,Raw信息一应俱全JSON层次采用可视化编辑,结构清晰.
项目版本和接口快照保证你可以实时回溯到任何状态.https,接口加密,文件上传,so easy!
独有的proxy技术加持为您冲破内网的束缚..
- 接口快照回滚,项目版本控制
- 兼容最新版Swagger,PostMan等平台数据
- 接口文档自动在线生成
- Restful,Query,Header,Body,Raw信息一应俱全,独有的proxy技术加持为您冲破内网的束缚
接口场景自动化测试
告别代码,数据智能验证
通过独创的自动化测试技术可以联调不同的业务场景
- 无需代码,可视化界面编写测试用例
- 无需值守,后台轮询,实时监控平台的稳定与安全
- 测试集合,跨项目,联调不同业务场景
Mock规则
对于我们产品开发来说,正常流程是设计原型,设计UI,后端设计数据库和接口,前端开发页面调用接口,对于前端来说,很多时间都是在等待接口的完成,这样会耗费很多时间,如何更好的利用这部分时间进行前后端并行开发呢,于是便有了Mock数据的诞生。简单来说,Mock数据就是借助一些后端来产生假数据返回给前端,让前端的业务流程可以跑下去。目前市面上也有很多工具专门做mock数据的,其实mockjs就是其中最有名的一款,DOClever同样对其进行了支持。
DOClever自身的一些mock规则:
@date 针对String类型,生成当前日期
@num(min,max) 针对Number类型,生成min到max范围之间的数字,比如@num(1,100)
@in(val1,val2,…) 针对String,Number类型,生成括号内的某一个值,比如@in(get,post,put,delete)
@img(width,height) 针对String类型,生成一个图片地址,如果填写 @img,那么图片默认就是600x400
@null 针对String,Number,Boolean,Mixed类型,生成null值
@arr 针对Mixed类型,生成一个数组,比如@arr([123,45])
@obj 针对Mixed类型,生成一个对象,比如@obj({“name”:”aa”})
@count(min,max) 针对Array类型,确定生成数组的大小,比如 @count(1,10)
@code 针对String,Number,Boolean,Mixed类型,会执行自定义的代码并返回结果,比如@code(body[“aa”])这个就会返回body参数里key为aa的值,有以下几个内置对象:param,query,header,body,global(global里面还有以下几个成员:name,baseurl,path,method)
如果不是以@字符开头的话 就直接生成你输入的那个值,当类型不匹配的时候会尝试去做类型转换
@mj 针对String,Number,Boolean,Mixed类型,提供对mockjs的支持,有两种写法,一种是@mj(DPD),例如@mj(@email),表示生成一个随机的email,还有一种是@mj({@DTD:@DPD}),例如:@mj({“3”,”a”}),表示生成”aaa”,具体的语法规则可以参考mockjs的官网
参考资料
DOClever 官网: http://doclever.cn
DOClever 帮助手册:http://doclever.cn/controller/read/read.html#5a532f98b7731a2ba86093b3
Mock.js 官网: http://mockjs.com
