Apifox – API 设计、开发、测试一体化协作平台
行业情况
常用解决方案
存在的问题
- 开发人员在 Swagger 定义好文档后,接口调试的时候还需要去 Postman 再定义一遍。
- 前端开发 Mock 数据的时候又要去 RAP 定义一遍,还需要手动设置 Mock 规则。
3.测试人员需要去 JMeter 再定义一遍。 - 前端根据 RAP Mock 出来的数据开发完,后端根据 Swagger 定义的接口文档开发完,各都试测试通过了,本以为可以马上上线,结果一对接发现各种问题:
(1)开发过程中接口变更了,只修改了 Swagger,但是没有及时同步修改 RAP。
(2)后端开发的接口数据类型和文档不一致,肉眼难以发现问题。 - 同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不一致。
- 时间久了,各种不一致会越来越严重。
Apifox – Postman + Swagger + Mock + JMeter
核心功能
解决的问题
- 一套系统、一份数据,解决多个系统之间的数据同步问题。
- 只要定义好接口文档,接口调试、数据 Mock、接口测试即可直接使用,无需再次定义。
- 接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。
- 高效、及时、准确!
最佳实践
- 前端(或后端):在 Apifox 上定好接口文档初稿。
- 前后端:一起评审、完善接口文档,定好接口用例。
- 前端:使用系统根据接口文档自动生成的 Mock 数据进入开发,无需手写 mock 规则。
- 后端:使用接口用例 调试开发中接口,只要所有接口用例调试通过,接口就开发完成了。如开发过中接口有变化,调试的时候就自动更新了文档,零成本的保障了接口维护的及时性。
- 后端:每次调试完一个功能就保存为一个接口用例。
- 测试人员:直接使用接口用例测试接口。
- 所有接口开发完成后,测试人员(也可以是后端)使用集合测试功能进行多接口集成测试,完整测试整个接口调用流程。
- 前后端 都开发完,前端从Mock 数据切换到正式数据,联调通常都会非常顺利,因为前后端双方都完全遵守了接口定义的规范。
接口文档设计
- 完全可视化
- 零学习成本
- 遵循OpenAPI规范
- 完全可视化;
- 支持模型之间嵌套引用
- 支持 JSON/XML 智能导入
- 遵循 JSON Schema 规范
- 支持 oneOf、allOf 等高级组合模式
Apifox – 接口用例/接口调试
接口用例
- 一个接口多个用例
- 自动跟随接口变更
接口调试
Postman 有的功能 Apifox 基本都有
环境变量、全局变量、前置/后置脚本、Cookie/Session 全局共享等…
自动校验接口数据
- 根据数据结构自动校验
- 完整的 JSON Schema 校验
前置操作/后置操作
断言
提取变量
- 可视化
- JSON Path 提取
数据库操作
- 读取数据库数据
- 写入数据库数据
自定义脚本
- 语法 100% 兼容 Postman
- 支持运行其他任何语言代码
Mock 数据
零配置 Mock 接口数据
智能 Mock 数据
- 根据接口定义里的数据结构、数据类型,自动生成 mock 规则。
- 内置智能 mock 规则库,根据字段名、字段数据类型,智能优化自动生成的 mock 规则。
- 可自动识别出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出非常人性化的数据。
- 支持自定义规则库,满足各种个性化需求。支持使用 正则表达式、通配符 来匹配字段名自定义 mock 规则。
自定义 Mock 规则
- 支持 Mock.js 语法
- 扩展身份证、国内手机号等常用规则
高级 Mock
自动化测试
自动化测试
其他特性
生成业务代码
- 根据接口/模型定义,自动生成各种语言/框架的业务、模型代码。
- 支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 种语言及框架。
生成接口请求代码
自动生成代码
- 根据接口/模型定义,自动生成各种语言/框架的业务代码和接口请求代码。
- 支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 种语言及框架。
- 支持自定义代码模板,自动生成符合自己团队的架构规范的代码,满足各种个性化的需求。
支持 CI/CD
- 支持命令行方式运行接口测试 (Apifox CLI)。
- 支持集成 Jenkins 等持续集成工具。
支持 HTTP、TCP、RPC
- 支持 HTTP(s) 接口管理。
- 支持 Socket (TCP) 接口管理。
- 后续将会支持 GraphQL、Dubbo、gRPC、WebSocket 等协议接口
数据导入/导出
- 支持导出 OpenAPI (Swagger)、Markdown、Html 等数据格式。
- 支持导入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、RAML、DOClever 、Apizza 、DOCWAY、ShowDoc、I/O Docs、WADL、Google Discovery 等数据格式。
团队协作
- 接口数据云端同步,实时更新。
- 成熟的团队/项目权限管理,支持管理员、普通成员、只读成员等角色设置,满足各类企业的需求。