apifox(api接口调试工具)
应用截图





应用介绍
apifox支持快速的API文档处理、API 调试、API Mock以及API自动化测试,接口调试工作效率高,能够在编辑设计的时候及时发现问题并让程序编程师进行修改,整合多复合数据结构,多api设计功能于一体,操作安全、稳定且流畅,是很多程序员朋友们常备的api管理调试工具。apifox完整版简介这是一款接口调试工具,方便用户对API进行测试,支持可视化接口管理,接口调试,自动校验数据结构,自动化测试等功能,让用户在开发过程中更方便快捷的对接口进行测试。支持数据结构(JSON Schema)管理,多接口可复用相同数据结构,还支持如环境变量、预执行脚本、后执行脚本、Cookie/Session 全局共享等功能。主要功能API 文档设计可视化 API 文档管理,零学习成本。支持数据模型,接口之间可以复用相同数据结构。接口文档完全遵循 OpenAPI(Swagger) 规范。支持在线分享 API 文档,方便与外部团队协作。API 调试Postman 有的功能 Apifox 都有(如环境变量、前置/后置脚本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。自动校验数据结构:校验返回的数据结构是否符合文档定义,自动发现接口数据异常。可视化的断言、提取变量、数据库(sql)操作等功能。支持接口用例功能(一个接口多个用例)。API 自动化测试完善的 API 场景测试(流程测试)功能,保证接口数据的正确性。可视化的断言、提取变量、数据库(SQL)操作等功能。支持自定义前置/后置脚本,自动校验数据正确性。脚本语法 100% 兼容 Postman,降低学习成本。支持调用 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等语言代码。API 数据 Mock零配置即可 mock 出非常人性化的数据(根据 API 文档智能 mock)。内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并支持定义数据结构时设置 mock 规则。支持根据不同参数值返回不同数据内容。CI 持续集成支持命令行方式运行 API 测试 (Apifox CLI)。支持集成 Jenkins 等持续集成工具。数据库操作支持读取数据库数据,作为 API 请求参数使用。支持读取数据库数据,用来校验(断言) API 请求是否成功。自动生成代码根据接口/模型定义,自动生成各种语言/框架的业务代码和 API 请求代码。支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 种语言及框架。支持自定义代码模板,自动生成符合自己团队的架构规范的代码,满足各种个性化的需求。支持 HTTP、TCP、RPC支持 HTTP(s) 接口管理。支持 Socket (TCP) 接口管理。后续将会支持 GraphQL、Dubbo、gRPC、WebSocket 等协议接口。数据导入/导出支持导出 OpenAPI (Swagger)、Markdown、Html 等数据格式。支持导入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、NEI、RAML、DOClever 、Apizza 、DOCWAY、ShowDoc、apiDoc、I/O Docs、WADL、Google Discovery 等数据格式。团队协作接口数据云端同步,实时更新。成熟的团队/项目权限管理,支持管理员、普通成员、只读成员等角色设置,满足各类企业的需求。Apifox 解决方案#一、如何解决这些问题#1、Apifox 定位Apifox = Postman + Swagger + Mock + JMeterApifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!#2、Apifox 功能接口设计: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 天生就是为团队协作而生的,接口云端实时同步更新,成熟的团队/项目/成员权限管理,满足各类企业的需求。常见问题#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. 为什么修改了环境变量(或全局变量)值,而引用的地方没有生效?请检查环境变量、全局变量、临时变量里是不是有多个地方定义了相同名称的变量,如果有,系统会根据优先级来取值。优先级顺序如下:临时变量>环境变量>全局变量。请检查修改的是否是本地值,环境变量(或全局变量)仅读取本地值,而不会读取远程值。注意事项维护不同工具之间数据一致性非常困难、非常低效。并且这里不仅仅是工作量的问题,更大的问题是多个系统之间数据不一致,导致协作低效,频繁出问题,开发人员痛苦不堪。开发人员在 Swagger 定义好文档后,接口调试的时候还需要去 Postman 再定义一遍。前端开发 Mock 数据的时候又要去 RAP 定义一遍,手动设置好 Mock 规则。测试人员需要去 JMeter 定义一遍。前端根据 RAP Mock 出来的数据开发完,后端根据 Swagger 定义的接口文档开发完,各自测试测试通过了,本以为可以马上上线,结果一对接发现各种问题:原来开发过程中接口变更,只修改了 Swagger,但是没有及时同步修改 RAP。同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不一致。时间久了,各种不一致会越来越严重。
详细信息
| 更新时间 | 2022-01-20 11:30 |
| MD5 | 73e5ccd6d48bbda4f46bc383044d985e |
| 授权 | 免费软件 |