Apifox使用学习

发布于:2024-09-19 ⋅ 阅读:(6) ⋅ 点赞:(0)

Apifox是API文档、API调试、API Mock、API自动测试一体化协作平台,定位Swagger+Postman+Mock+JMeter。

只需要定义好API文档,API调试、API数据Mock、API自动化测试就可以直接使用。

API文档和API开发测试使用同一个工具,API调试完成后即可保证和API文档定义的一致性。

Apifox 是区分接口设计接口运行两个概念的。

  • 接口设计:即 新建接口 界面或接口详情里的 编辑 界面,用途是 定义接口文档规范,而不是 运行 接口,所以该界面是只能定义接口基本信息、参数名及参数说明等,而不能设置参数值参数值前置脚本/后置脚本 等信息请在接口运行界面或接口用例界面填写。
  • 接口运行:即接口详情里的 运行 界面,用途是 临时调试接口运行 完后,需要点击保存为用例,才能将填写的 参数值前置脚本/后置脚本 等信息保存下来;否则关闭 tab 后,这些信息将会丢失。

一、下载

官网:Apifox - API 文档、调试、Mock、测试一体化协作平台。拥有接口文档管理、接口调试、Mock、自动化测试等功能,接口开发、测试、联调效率,提升 10 倍。最好用的接口文档管理工具,接口自动化测试工具。Apifox = Postman + Swagger + Mock + JMeter。集接口文档工具、接口Mock工具、接口自动化测试工具、接口调试工具于一体,提升 10 倍研发效率。是最好用的API文档工具,API自动化测试工具,API Mock工具,接口文档管理工具,接口文档生成工具。icon-default.png?t=N7T8https://apifox.com/

二、接口文档设计

新建接口:

定义接口文档规范:

定义接口路径、基本信息、参数名及参数说明,不能设置参数值。

接口路径:

        不要包含http协议及域名,这部分在“环境管理”-“前置URL”中设置

        Path参数以大括号{}包裹起来;如获取用户信息/future/member/{menber_id}/info

        不可包含Query参数(即url?后的参数),在下方“请求参数”填写

请求参数:

        Params参数:包含Query参数和Path参数两部分

        Body参数:none、form-data、x-www-form-urlencoded、json、xml、binary、raw

                类型为json或xml,需设置数据结构,数据结构可以引用数据模型。

                接口发送请求时,会根据该设置自动在header加上对应Content-Type,无需手动

                设置

        Header、Cookie、Auth等

        示例值

返回响应:

        接口返回的HTTP状态码

        返回内容的数据格式:JSON、XML、HTML、Raw、Binary

        数据结构:仅JSON、XML可配置数据结构

当一个接口不同不同情况返回不同数据结构时,可设置多个返回响应

公共响应:

        主要用于实现返回响应的复用,通常不同接口在某些情况下会返回相同的数据结构,如资源不存在(404)、服务器错误(500)等,可设置公共响应,避免重复编写,方便统一管理。

响应示例:

        方便查阅接口文档的人快速了解数据结构。示例数据可设置多个:成功案例、

        失败案例。

环境管理:

        前置URL:接口运行时自动添加到接口路径前组成接口实际请求URL。

                尾部不要加上反斜杠/

        服务:当且仅当同一”环境“下,多个接口使用不同的”前置URL“时,才需要添加多个服务

        环境变量:跟随环境切换而发生改变的变量

数据结构/数据模型:

        数据结构:

        主要使用在【接口设计】的返回响应和json/xml类型的Body参数。支持增删改、拖拽。

                json/xml智能识别/快捷导入:已有JSON数据,导入后自动识别快捷生成。

                预览:根据设计的数据结构,mock出假数据,方便查看数据结构的实际效果

                生成代码:根据数据结构生成各种语言的代码

        数据模型:

                可复用的数据结构,根据项目需求,需新建,再引用。

在线分享:

        定义好的API文档,可通过在线文档分享。在线文档支持与运行调试、修改环境变量。

导入:

        支持多种数据格式的导入,方便项目迁移。导入可选的内容包括:接口、数据模型、环境、测试用例、测试套件。注意:导入OpenAPI/Swagger格式只包含接口、数据模型、环境。导入postman只包含接口。

                手动导入:支持文件、Url导入

                自动导入:可设置多个数据源,定时同步到具体分组中

导入抓包数据:

        可快速导入Chome、Charles或Fiddler等工具的抓包数据。格式为cURL

        Charles工具:抓包,找到请求,单击右键复制->复制为cURL

        Fiddler工具:抓包,点击File->Export Sessions->Selected Sesssions,选项第一个

                默认cURL script,点击Next即可保存为.bat文件,文件编辑工具打开该.bat,

                复制内容即可。

导出:

        支持直接导出OpenAPI(原Swagger)、HTML、Markdown、Apifox等数据格式

        OpenAPI(Swagger)支持导出3.1、3.0、2.0版本

        OpenAPI(Swagger)支持导出离线文件,或直接打开URL。

前置操作/后置操作:

        设置维度支持:项目维度、分组维度(对应的分组进行设置)、单个接口、

                单个接口用例

        断言:

                可对接口返回数据(或响应时间)设置断言,判断是否符合预期

        提取变量:

                可从接口返回结果中提取数据,设置到变量(临时变量/环境变量/全局变量),

                方便其他接口运行时直接使用。例如登录返回的token。

        数据库操作:

                前置操作、后置操作支持添加数据库操作,可读写数据库数据,查询结果可在

                接口请求参数、断言、自定义脚本等场景中使用。目前支持MySQL、

                SQL Server、Oracle、PostgreSQL。例如从数据库获取id。

                        在数据库链接管理(项目设置-数据库连接),先配置好数据库信息

                        编写sql语句,获取数据库数据,返回结果是数组格式,通过jsonpath表达式

                                提取到定义的变量

        自定义脚本:

                语法100%兼容Postman,支持运行其他任何语言代码

环境变量/全局变量/临时变量

        变量是允许在多个地方重复使用的值。只需要更改一次变量值,就能改变所有引用了该变量相关值。接口运行tab、接口用例、快捷调试、集合测试的所有参数值、前置/后置脚本都可以使用变量。变量优先级:临时变量>测试数据变量>环境变量>全局变量

        环境变量:

                最常用的变量,跟随环境切换而发生改变的变量

        全局变量:

                使用方法类环境变量类似,但全局变量不会跟随环境切换而改变

        临时变量: 

                仅在单次与逆行接口用例或测试管理里的测试用例或测试套件中有效,

.                        不会持久化保存

动态变量/随机变量:

        动态变量是在接口运行中,参数的值按照指定规则生成的变量。在请求参数的

.                示例值位置,点击 魔法棒 图标。

        变量:可以引用 环境管理 中的 环境变量 、全局变量。例如注册中的username

        常量:想要参数的示例值保持为一个常量。例如注册中的password

        动态变量:若想要按照规则随机生成一个变量,可以在这里选择

        自定义表达式:若上述没有符合你的需求,可以按照自己的规则。支持Mock.js、

                                Nunjucks语法

智能mock:

        内置智能mock规则库:根据字段名、字段数据类型,智能优化自动生成的mock规则

        自定义mock规则:项目设置-功能设置-mock设置,支持使用正则表达式、通配符 来

                                        匹配字段名自定义mock规则

自定义mock规则:

        数据结构定义mock规则:定义数据结构的时候,可手动设置mock规则。可设mock固定值例如code:0、msg:OK,或引用mock规则库,例如reg_time.也可以自己写mock规则,例如正则表达式。

        返回字段高级设置:点击“更多”,设置长度范围、枚举值、Partten、format,也会作为Mock规则使用。例如type:0、1、2.注意这里是定义接口文档

        除了接口文档可使用mock功能,在数据模型中也可使用。

数据抓包:

在网页点击【F12】-【网络】


网站公告

今日签到

点亮在社区的每一天
去签到