程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

Apifox 接口测试全攻略:从入门到精通

balukai 2025-02-21 12:07:10 文章精选 8 ℃

1、Apifox 工具简介

Apifox接口测试工具是集 API 文档、API 调试、API Mock、API 接口自动化测试等多项实用功能为一体API管理平台,定位为 postman+Swagger+mock。通过一套系统、一份数据,解决多个工具之间的数据同步问题。

只需在 Apifox 中定义 API 文档,那么 API 调试、API 数据 Mock、API 自动化测试等功能就可以直接使用,无需再次定义。API 文档和 API 开发调试流程在同一个工具内闭环,API 调试完成后即可确保与 API 文档定义完全一致。高效、及时、准确!


2、Apifox 接口测试工具功能概述

3、Apifox 如何解决接口管理痛点

A. 开发人员接口管理使用(Swagger 工具管理接口)

B. 后端开发人员通过postman 工具,一边开发一边测试

C. 前端开发人员需要Mock 工具提供前端调用

D. 测试人员通过(postman、jmeter)等工具进行接口测试

为了后台开发、前端开发、测试工程师等不同角色更加便捷管理接口,需要通过一个工具作为载体,Apifox工具应运而生实现了API 设计开发测试一体化协作。俗称:Apifox=Postman+Swagger+Jmeter+Mock 工具集成。

具体分工协助:后端开发人员Apifox 定义好接口,前端开发人员根据Apifox 去Mock 数据,后端开发人员直接在Apifox 进行接口联调,测试人员直接在Apifox 工具中编写测试用例,进行接口测试。

优势:通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!


3、Apifox 如何解决接口管理痛点

A. 开发人员接口管理使用(Swagger 工具管理接口)

B. 后端开发人员通过postman 工具,一边开发一边测试

C. 前端开发人员需要Mock 工具提供前端调用

D. 测试人员通过(postman、jmeter)等工具进行接口测试

为了后台开发、前端开发、测试工程师等不同角色更加便捷管理接口,需要通过一个工具作为载体,Apifox工具应运而生实现了API 设计开发测试一体化协作。俗称:Apifox=Postman+Swagger+Jmeter+Mock 工具集成。

具体分工协助:后端开发人员Apifox 定义好接口,前端开发人员根据Apifox 去Mock 数据,后端开发人员直接在Apifox 进行接口联调,测试人员直接在Apifox 工具中编写测试用例,进行接口测试。

优势:通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!


4、Apifox 最新版下载和安装

1.访问https://apifox.com/ 官网下载Apifox 安装包

2.Apifox 工具分为在线网页版和客户端两个版本

3.Apifox 支持操作系统如下:

1

Windows 64

2

Windows 32

3

MacOS

4

Linux


4.根据自己操作系统选择对应的版本进行下载(本人电脑win 10 64 位)

5.下载完成之后,安装包为zip 格式文件,直接解压

6.解压安装包文件

7.Apifox 具体安装步骤如下:

8.安装成功跳转到登录界面


9.微信扫码/手机号/邮箱三种登录方式选择一种方式进行登录

5、Apifox 新建项目流程


1、点击新建团队,创建新项目

2、输入自己团队名称,保存

3、项目概述

6、Apifox 接口测试工具支持协议

接口测试工具对可支持的协议要求越来越高,需要一个工具同时兼容支持多种协议,满足不同的应用场景,apifox 支持的协议远超postman+jmeter 两种工具协议。

1

HTTP

2

HTTPS

3

TCP

4

RPC

5

Socket

6

GraphQL

7

Dubbo

8

gRPC

9

WebSocket


7、Apifox 接口测试工具支持请求方式


Apifox 工具支持比较常用的get、post、put 等主流的请求方式外,还支持delete、options、head、patch、trace、connect、copy等请求方式。


8、自动生成代码

1、根据接口模型定义,自动生成各种语言/框架(如TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的业务代码。

2、(如 Model、Controller、单元测试代码等)和接口请求代码。目前 Apifox 支持 130 种语言及框架的代码自动生成。

3、更重要的是:你可以通过自定义代码模块来生成符合自己团队的架构规范的代码,满足各种个性化的需求。

4、自定义脚本支持运行 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种语言代码。


9、兼容多种数据格式

  1. 支持导出 OpenApi (Swagger)、Markdown、Html 等数据格式,因为可以导出OpenApi格式数据,所以你可以利用 OpenApi (Swagger) 丰富的生态工具完成各种接口相关的事情。
  2. 支持导入 OpenApi (Swagger)、Postman、apiDoc、HAR、RAML、RAP2、YApi、Eolinker、NEI、DOClever、ApiPost 、Apizza 、ShowDoc、Google Discovery等数据格式,方便旧项目迁移。
  3. 支持定时自动导入OpenApi (Swagger)、apiDoc、Apifox格式数据。



Apifox接口测试项目实战部分

下载和安装完Apifox 工具之后,通过工具Apifox进行项目实战对项目接口文档、接口开发、接口调试进行系统讲解,Apifox 开发测试一体化协作完成项目。

1、接口测试流程

测试流程

开发人员提供接口文档,功能模块 接口请求地址 请求参数 请求方式 响应报文 注意事项

设计接口的测试用例

测试接口脚本 脚本调试

执行脚本

缺陷跟踪

输出测试报告

2、Apifox工具获取登录uuid接口开发和调试实战

登录之前,需要进行授权,先获取用户的UUID 信息才可以验证登录接口,后面所有的接口都需要用到这个UUID,登录的盾牌

Apifox工具如何新增新建文档以及编写接口文档信息

1、点击新建接口,进行编写接口文档

2、输入接口文档名称、选择【状态】、【责任人】、【输入标签】、【接口说明】等信息,基本信息操作误区之后操作<保存>,登录验证uuid接口文档编写完成。

3、配置获取用户登录uuid 接口信息

URL

https://kdtx-test.itheima.net/api/captchaImage

请求方式

get

4、选择<运行>栏目配置,配置获取UUID 登录接口相关配置信息

5、配置完成操作<发送>

6、接口发送之后,服务端响应报文

响应报文信息

msg


操作成功


img


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


code


200


uuid


3a73857c385a4d91b6d7661a6fc22788


3、后置操作提取变量

1、后置操作提取变量作用

在使用 Apifox 进行接口测试的过程中,有时需要将当前测试接口的请求参数提取出来,以便用作其它用途。例如,我们在进行登录接口的测试时,可以通过后置操作获取其相应的UUID值,其操作和上文一样,编写相应的接口文档。

在一些具有明显上下游关系的接口中,有时需要将 A 接口的返回数据作为 B 接口的请求参数。

比如在创建登录信息场景下,需要将获取用户登录UUID接口返回的 UUID 中的数据作为后续接口的请求参数,然后在获取uuid接口中的「后置操作」中添加「提取变量」功能,基于获取uuid接口返回的结果自动提取数据并设置为变量(临时变量/环境变量/全局变量),方便其它接口运行的时候直接使用。

2、指定变量类型

打开 Apifox 中的某条接口,在“后置操作”页中添加“提取变量”,变量类型选择为“环境变量”。

3、接口间相互传递数据

例如当前 B 接口的请求参数依赖于 A 接口返回的数据,现希望 B 接口在发送请求的同时能自动获取 A 接口返回的数据并作为请求参数。实现思路如下:

  1. A 接口在后置操作中添加提取变量功能,将返回的数据自动提取至变量中。
  2. B 接口对应的参数值直接引用已提取的变量。

2、如何获取UUID 接口

打开 UUID接口用例的”后置操作“页,在后置操作中添加提取变量功能。将接口返回 Response JSON 数据里的 uuid 值提取到名为 uuid 的变量中。

3、登录接口

在登录接口中的请求参数中直接填写 {{uuid}},即可在请求中引用上一步骤中所创建的数值。

4、Apifox 工具管理登录接口脚本开发和调试实战

1、新建登录接口文档信息

2、登录接口请求参数

URL

http://kdtx-test.itheima.net/api/login

请求方法

POST

Content-Type

application/json

请求体

{

"username":"admin",

"password":"HM_2023_test",

"code":"2",

"uuid":"{{uuid}}"

}


备注说明

实现步骤:

设置请求方式

输入接口地址

点击发送请求

查看响应结果

3、Apifox 工具实现登录接口参数配置信息

1、通过后置操作获取UUID 信息

5、登录接口后置提取token信息

由于后续接口都需要依赖登录接口返回的token信息, 需要将登录接口的返回token数据作为后续接口的请求参数。实现思路如下:

  1. 登录接口在后置操作中添加提取变量功能,将返回的数据自动提取至变量login_token中。
  2. 后续接口对应的参数值直接引用{{login_token}}已提取的变量。

登录接口运行--->后置操作--->添加后置操作--->选择提取变量

定义变量名称:login_token

变量类型:环境变量

提取来源:Response JSON

JSONPath 表达式:$.token

5、Apifox项目实战之添加产品接口脚本开发和调试

1、新建产品接口文档

2、添加产品接口请求参数

URL

http://kdtx-test.itheima.net/api/clues/course

请求方法

POST

Content-Type

"application/json","Authorization":"xxx"

请求体

{

"name": "测试开发提升课01",

"subject": "6",

"price": 899,

"applicablePerson": "2",

"info": "测试开发提升课01"

}

备注说明

实现步骤:

设置请求方式

输入接口地址

点击发送请求

查看响应结果

Authorization=token


3、Apifox 工具实现添加产品接口参数配置信息


请求URL:http://kdtx-test.itheima.net/api/clues/course 请求方式:post

请求头信息配置Content-Type:application/json,Authorization 字段信息为登录接口返回的token 字段信息,引用{{login_token}},具体配置如下:

4、添加产品接口请求信息配置如下:

{

"name": "测试开发提升课01",

"subject": "6",

"price": 899,

"applicablePerson": "2",

"info": "测试开发提升课01"

}

5、发送请求返回响应结果报文信息

{

"msg": "操作成功",

"code": 200,

"data": {

"id": 23056458704402138

}

}



7、Apifox项目实战之文件上传接口脚本开发和调试

接口测试过程中需要上传文件操作,通过文件上传接口讲解apifox 工具是怎么对文件上传进行操作.

1、新建文件上传接口文档

2、文件上传接口请求参数

URL

http://kdtx-test.itheima.net/api/common/upload

请求方法

POST

Content-Type

{"Content-Type ":" multipart/form-data",

"Authorization":"{{token}}"}

请求体

file


备注说明

实现步骤:

设置请求方式

输入接口地址

点击发送请求

查看响应结果

Authorization=token


3、Apifox 工具实现上传文件接口参数配置信息

请求URL:http://kdtx-test.itheima.net/api/common/upload 请求方式:post

请求头信息配置Content-Type:multipart/form-data,Authorization 字段信息为登录接口返回的token 字段信息,引用{{login_token}},具体配置如下:

4、上传文件接口请求信息配置,选择Body,选中form-data, 参数名称=file, 参数值=选择需要上传的文件,类型=file

5、发送请求返回响应结果报文信息

{

"msg": "操作成功",

"fileName": "/profile/upload/2024/08/06/74962262-fdf6-48b0-a59d-a38fa99b1531.pdf",

"code": 200,

"url": "http://localhost:8080/profile/upload/2024/08/06/74962262-fdf6-48b0-a59d-a38fa99b1531.pdf"

}

8、总结

总的来说,Apifox这个工具的功能性还是很强大的,很多企业也开始使用这个工具,对于后台开发、前端开发、测试工程师来说,不善于接础新事物对自身的发展是不利的,这篇文章主要介绍了这个工具的基本使用。

最近发表
标签列表