接口管理现状
- 使用Swagger管理API文档
- 使用Postman调试API
- 使用RAP等工具Mock API数据
- 使用JMeter做API自动化测试
Apifox定位
官网地址: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 天生就是为团队协作而生的,接口云端实时同步更新,成熟的团队/项目/成员权限管理,满足各类企业的需求。
临时保存
永久性保存
- 后端能用它来设计、调试接口和管理文档,能操作数据库,支持30多种编程语言,调用外部函数和脚本,支持持续集成,调试功能比Postman更完备;
- 前端能使用mock功能对页面进行调试,智能mock引擎可用于一键mock出真实业务数据;
- 测试能用它做接口自动化,用例自动生成可以高效执行自动化测试;
- 研发管理能用它来协调整个研发流程,把控项目进度
后端角色:
可视化接口设计页面
文档与接口一体化
接口和文档使用同一个工具,一旦接口有修改和迭代,文档可以同步更新维护,避免因为文档和接口分离造成维护不及时的情况。
扩展功能辅助调试
在调试方面,Apifox可以连接并操作数据库,使用真实的业务数据来进行调试,也支持自定义断言对响应数据进行校验,还支持调用外部函数和脚本。这等于能疯狂加外挂,可以根据自己的业务去设计一些辅助调试功能。
可视化设置断言
运行后,查看断言结果
可视化设置提取变量
支持数据库操作
前端角色
零配置Mock非常人性化的数据(先放一张图对比下 Apifox 和其他同类工具 零配置 mock 出来的数据效果:)
可以看出 Apifox 零配置 Mock 出来的数据和真实情况是非常接近的,前端开发可以直接使用,而无需再手动写 mock 规则。
Apifox 如何做到高效率、零配置生成非常人性化的 mock 数据
- Apifox 根据接口定义里的数据结构、数据类型,自动生成 mock 规则。
- Apifox 内置智能 mock 规则库,根据字段名、字段数据类型,智能优化自动生成的 mock 规则。如:名称包含字符串image的string类型字段,自动 mock 出一个图片地址 URL;包含字符串time的string类型字段,自动 mock 出一个时间字符串;包含字符串city的string类型字段,自动 mock 出一个城市名。
- Apifox 根据内置规则,可自动识别出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出非常人性化的数据。
- 除了内置 mock 规则,用户还可以自定义规则库,满足各种个性化需求。支持使用 正则表达式、通配符 来匹配字段名自定义 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等数据格式,方便旧项目迁移。
其他功能截图: