软件介绍
Apifox是一款API调试与管理工具,集成了API的开发、测试、模拟、发布等一系列功能。软件支持RESTful API的设计,并能自动生成API文档,方便团队之间的协作和交流。用户可以编写测试用例并进行自动化测试,支持各种断言,可以使用ApiFox模拟API响应,以便前端开发可以提前进行编码,支持多环境配置,方便在不同环境下进行API测试。
功能特色
一、API文档设计
1、可视化 API 文档管理,零学习成本。
2、支持数据模型,接口之间可以复用相同数据结构。
3、接口文档完全遵循 OpenAPI(Swagger) 规范。
4、支持在线分享 API 文档,方便与外部团队协作。
二、API调试
1、Postman 有的功能 Apifox 都有(如环境变量、前置/后置脚本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。
2、自动校验数据结构:校验返回的数据结构是否符合文档定义,自动发现接口数据异常。
3、可视化的断言、提取变量、数据库(SQL)操作等功能。
4、支持接口用例功能(一个接口多个用例)。
三、API自动化测试
1、完善的 API 场景测试(流程测试)功能,保证接口数据的正确性。
2、可视化的断言、提取变量、数据库(SQL)操作等功。。
3、支持自定义前置/后置脚本,自动校验数据正确性。脚本语法 100% 兼容 Postman,降低学习成本。
4、支持调用 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等语言代码。
四、自动生成代码
1、根据接口/模型定义,自动生成各种语言/框架的业务代码和 API 请求代码。
2、支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 种语言及框架。
3、支持自定义代码模板,自动生成符合自己团队的架构规范的代码,满足各种个性化的需求。
五、数据导入/导出
1、支持导出 OpenAPI (Swagger)、Markdown、Html 等数据格式。
2、支持导入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、NEI、RAML、DOClever 、Apizza 、DOCWAY、ShowDoc、apiDoc、I/O Docs、WADL、Google Discovery 等数据格式。
六、支持 HTTP、TCP、RPC
1、支持 HTTP(s) 接口管理。
2、支持 Socket (TCP) 接口管理。
3、后续将会支持 GraphQL、Dubbo、gRPC、WebSocket 等协议接口。
七、团队协作
1、接口数据云端同步,实时更新。
2、成熟的团队/项目权限管理,支持管理员、普通成员、只读成员等角色设置,满足各类企业的需求。
Apifox中文版界面概览
1、接口概览页
2、接口设计界面
3、接口运行界面
快捷键大全
新建接口:Ctrl + N新建快捷调试:Ctrl + T
保存接口/保存用例:Ctrl + S
发送请求:Ctrl + Enter
切换到【运行】Tab:Ctrl + Enter
关闭Tab:Ctrl + W
强制关闭Tab:Ctrl + Alt + W
切换到下一个Tab:Ctrl + Tab 或 Ctrl + PageDown
切换到上一个Tab:Ctrl + Shift + Tab 或 Ctrl + PageUp
跳转到特定标签页:Ctrl + 1 到 Ctrl + 8
跳转到最后一个标签页:Ctrl + 9
导入数据 Ctrl + O:⌘ + O
导入抓包数据 (cURL):Ctrl + I
查找接口:Ctrl + F
常见问题
1、Apifox 是否收费?
Apifox 公网版 (SaaS版) 免费,私有化部署版收费。
2、登录(Auth)态如何实现?
请参考文档:登录态(Auth)如何处理
3、接口发送请求前需要调用登录接口获取 token 放在 header,如何实现?
请参考文档:登录态(Auth)如何处理
4、B接口请求参数依赖于 A 接口返回的数据,如何实现?
请参考文档:接口之间如何传递数据
5、同项目下有不同域名的接口,如何处理?
方案一:在环境里新增多个服务,分别设置不同的前置 URL ,接口分组和接口维度可以指定对应的前置 URL。推荐本方案!
方案二:把域名设置成环境变量如DOMAIN_1,接口路径这样填写:https:///users。接口路径是以http://或https://起始的,系统会自动忽略里环境里前置 URL。
方案三:给不同域名接口设置不同环境,通过切换环境来运行不同域名下的接口。不推荐本方案!
6、脚本如何读取或修改接口请求信息?
请参考文档: 脚本读取/修改接口请求信息
7、是否支持查询数据库字段作为参数传给接口?
支持,请参考文档:数据库操作
8、数据是存储在本地还是云端?可否离线使用?可否私有化部署?
目前Apifox 有 Saas 版 和私有化部署版 。
Saas版是免费的,数据都是存在云端的,需要联网才能使用。
私有化部署版 是收费的,数据存在使用者企业内部,不连外网也可以使用。
注意
环境变量/全局变量里的 本地值 仅存放在本地,不会同步到云端,团队成员之间也不会相互同步,适合存放token、账号、密码之类的敏感数据。
9、使用 Postman 调用接口返回正常,而 Apifox 返回错误
解决方法:对比 postman 和 apifox 实际发出的请求内容(url、参数、body、header)是否完全一样。
查看实际请求内容方法:
Apifox:返回内容下的实际请求 tab (老版本为Request tab) 里查看
Postman:点击底部状态栏里的Console查看
10、为什么修改了环境变量(或全局变量)值,而引用的地方没有生效?
请检查环境变量、全局变量、临时变量里是不是有多个地方定义了相同名称的变量,如果有,系统会根据优先级来取值。优先级顺序如下:临时变量>环境变量>全局变量。
请检查修改的是否是本地值,环境变量(或全局变量)仅读取本地值,而不会读取远程值。
软件亮点
1,接口文档定义
Apifox 遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 规范的同时,提供了非常好用的可视化文档管理功能,零学习成本,非常高效。
2,接口调试
Postman 有的功能,比如环境变量、预执行脚本、后执行脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且和 Postman 一样高效好用。
3,数据 Mock
内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。支持添加“期望”,灵活配置根据参数值返回不同数据内容。最重要的是 Apifox 零配置 即可 Mock 出非常人性化的数据。
4,接口自动化测试
提供接口集合测试,可以通过选择接口(或接口用例)快速创建测试集。目前接口自动化测试更多功能还在开发中,敬请期待!目标是: JMeter 有的功能基本都会有,并且要更好用。