官网地址:http://apifox.cn/a101j1234
Apifox = Postman + Swagger + Mock + JMeter
Apifox是API文档、API调试、API Mock、API自动化测试一体化写作平台
接口设计:Apifox 接口文档遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 规范的同时,提供了非常好用的可视化文档管理功能,零学习成本,非常高效。并且支持在线分享接口文档。
数据模型:可复用的数据结构,定义接口返回数据结构及请求参数数据结构(仅 JSON 和 XML 模式)时可直接引用。支持模型直接嵌套引用,直接 JSON/XML 智能导入,支持 oneOf、allOf 等高级组合模式。
接口调试:Postman 有的功能,比如环境变量、前置/后置脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且比 Postman 更高效好用。接口运行完之后点击保存为用例按钮,即可生成接口用例,后续可直接运行接口用例,无需再输入参数,非常方便。自定义脚本 100% 兼容 Postman 语法,并且支持运行javascript、java、python、php、js、BeanShell、go、shell、ruby、lua等各种语言代码。
接口用例:通常一个接口会有多种情况用例,比如参数正确用例、参数错误用例、数据为空用例、不同数据状态用例等等。运行接口用例时会自动校验数据正确性,用接口用例来调试接口非常高效。
接口数据 Mock:内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。支持添加“期望”,根据请求参数返回不同 mock 数据。最重要的是 Apifox 零配置 即可 Mock 出非常人性化的数据
数据库操作:支持读取数据库数据,作为接口请求参数使用。支持读取数据库数据,用来校验(断言)接口请求是否成功。
接口自动化测试:提供接口集合测试,可以通过选择接口(或接口用例)快速创建测试集。目前接口自动化测试更多功能还在开发中,敬请期待!目标是:JMeter 有的功能基本都会有,并且要更好用。
快捷调试:类似 Postman 的接口调试方式,主要用途为临时调试一些无需文档化的接口,无需提前定义接口即可快速调试。
代码生成:根据接口及数据数据模型定义,系统自动生成接口请求代码、前端业务代码及后端业务代码。
团队协作:Apifox 天生就是为团队协作而生的,接口云端实时同步更新,成熟的团队/项目/成员权限管理,满足各类企业的需求。
可视化接口设计页面
文档与接口一体化
接口和文档使用同一个工具,一旦接口有修改和迭代,文档可以同步更新维护,避免因为文档和接口分离造成维护不及时的情况。
扩展功能辅助调试
在调试方面,Apifox可以连接并操作数据库,使用真实的业务数据来进行调试,也支持自定义断言对响应数据进行校验,还支持调用外部函数和脚本。这等于能疯狂加外挂,可以根据自己的业务去设计一些辅助调试功能。
零配置Mock非常人性化的数据(先放一张图对比下 Apifox 和其他同类工具 零配置 mock 出来的数据效果:)
可以看出 Apifox 零配置 Mock 出来的数据和真实情况是非常接近的,前端开发可以直接使用,而无需再手动写 mock 规则。
Apifox 如何做到高效率、零配置生成非常人性化的 mock 数据
无代码、智能mock业务数据
前端同学普遍使用mock.js等工具,写脚本构造业务数据对页面进行调试,流程繁琐,多了额外的工作量。
而Apifox预先内置了20多条常用的业务数据mock规则,如身份证号,url,姓名等,能满足常见的业务数据mock需求;
如果需要构造特殊的业务数据,可以自己编写正则表达式,构建造数规则
使用的时候只需要在响应参数中选择对应的mock规则,发起mock服务请求,就能获得非常真实的业务数据。
用例自动生成
在接口调试的过程这种,修改和填写各种请求参数可保存为接口参数用例
创建业务场景用例时,将上述生成的用例根据执行导入,生成一连串测试步骤
用例自动更新
接口如果被开发修改了,那么用例由于使用的是同一套接口数据源,也会同步被更新,不需要人工去手动确定变更的地方,一个个去修改。
对于变更导致的接口响应参数字段的变化,可通过回归测试,借助接口断言,定位到修改的部分,针对性地去修改对应测试用例。
生成在线接口文档:Apifox 项目可“在线分享” API 文档,分享出去的 API 文档可设置为公开或需要密码访问,非常方便与外部团队协作。
API闭环工作流,全生命周期管理
从接口设计、文档管理、前端调试,接口自动化的整个接口研发流程,能够覆盖到从接口设计,到修改、维护、版本迭代的接口全周期的管理。
后端用它来做文档管理和接口设计, 前端用它来调试页面, 测试用它来做自动化
开发和测试再也不用费劲巴拉地——写接口文档用swagger,接口调试用postman,页面调试用mock.js,测试用Jmeter,一遍遍地导入甚至手动复制接口数据到这些工具中。
使用同一套数据源,一旦接口数据发生变更,数据能及时同步更新到各端,不需要另外告知、由下游环节的童鞋自己手动去修改
代码自动生成
根据接口模型定义,自动生成各种语言/框架(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的业务代码(如 Model、Controller、单元测试代码等)和接口请求代码。目前 Apifox 支持 130 种语言及框架的代码自动生成。
更重要的是:你可以通过自定义代码模板来生成符合自己团队的架构规范的代码,满足各种个性化的需求。
导入、导出
支持导出 OpenApi (Swagger)、Markdown、Html 等数据格式,因为可以导出OpenApi格式数据,所以你可以利用 OpenApi (Swagger) 丰富的生态工具完成各种接口相关的事情。
支持导入 OpenApi (Swagger)、Postman、HAR、RAML、RAP2、YApi、Eolinker、NEI、DOClever、ApiPost 、Apizza 、ShowDoc、API Blueprint、I/O Docs、WADL、Google Discovery等数据格式,方便旧项目迁移。