当前位置: 首页 > news >正文

时代变了,我选择ApiFox替代Postman

之前一直使用Postman来测试接口调试,这次准备更换为ApiFox作为API开发工具。

这是一款API开发协作工具,postman等工具是API开发过程当中的单点工具,并不适合单点协作。而ApiFox以API文档为核心,将API开发的整体流程融为一体,大幅度提升工作效率,并且中文界面,上手更加容易。

新建接口

点击下面的两种方式都可以新建接口

在这里插入图片描述

新建接口页面:
  • 接口名称:定义接口名称

在这里插入图片描述

  • 接口请求方式:在输入接口路径时,不需要输入完整路径,可以在右上角的环境配置中设置前置URL

在这里插入图片描述

在这里插入图片描述

  • 请求参数:请求参数的设置方式与postman中类似,在这里设置示例值时可以使用更便捷的方式插入动态值,当前注册用户信息,可以使用数据生成器的方式随机生成用户名、用户密码,email,phone。数据生成器中还可以对生成的数据添加处理函数,比如用户密码必须要有特殊字符,可以使用concat()来追加一个特殊字符

    在这里插入图片描述

  • 返回响应:返回响应数据,这里的数据结构可以自定义添加字段,也可以根据实际返回数据进行生成。也可以在运行后,接收到的返回结果里有提取,将数据提取到响应定义和示例当中。

在这里插入图片描述

在这里插入图片描述

点击保存:这样一个简单的接口API就生成出来了

在这里插入图片描述

PS:当然还有一个更快的生成方法,那就是直接新建接口后,输入URL发送获取到返回数据,然后保存为接口


数据模型

数据模型用于定义 API 请求和响应对象中期望的数据类型和属性 (字段)

参考链接:数据模型 - Apifox 帮助文档

通过数据模型,可以:

  • 定义标准的数据结构。
  • 将数据模型与自动生成的示例结合使用。
  • 在 API 项目中多次复用数据结构。
新建数据模型

在左侧项目概览中找到数据模型,可以新建数据模型,为了快速构建生成数据模型,可以直接从数据库表中进行导入,也可以用schema生成

在这里插入图片描述

在这里插入图片描述

生成出来了一个User数据模型,可以直接在接口API中使用此模型

在这里插入图片描述


生成代码

Apifox 提供三种代码生成类型:生成业务代码生成接口请求代码生成数据模型代码

生成业务代码:面向 API 开发者,生成用于实现 API 功能的服务器端代码。业务代码专注于 API 的服务端实现,与用于与 API 交互的接口请求代码不同。
生成接口请求代码:为 API 使用者生成客户端代码,用于在不同编程语言中实现与服务端 API 的交互。
生成数据模型代码:用于定义数据结构,适用于 API 数据的序列化(发送数据时)与反序列化(接收数据时)处理。

前后端开发可以使用生成代码功能,来生成简单的请求代码和业务代码

在这里插入图片描述


Mock功能

Apifox 提供了一个高效的 Mock 引擎,能够根据接口文档自动生成合理的响应数据,无需额外配置。

参考文档:Mock 数据 - Apifox 帮助文档

Mock 数据可应用于以下场景:

  1. 前后端并行开发时,API 文档已完成但接口尚未开发,前端可以使用 Mock 数据进行开发。
  2. 当 API 涉及不便直接调用的生产数据时,前端可以借助 Mock 数据进行开发。
  3. 测试过程中,外部数据需要测试数据集时,可以使用 Mock 数据作为数据源。

在接口API下方有mock功能URL,可以点击复制此URL,粘贴到浏览器当中,就可以生成符合格式的数据,如果对Mock数据响应格式有需求,可以在修改接口 – 返回响应中,对mock格式进行定义

在这里插入图片描述

在这里插入图片描述


自动化测试

测试在 API 生命周期中发挥着关键作用。它能够验证 API 和各类请求方法的正常运行,以及各个模块的集成是否顺畅。更重要的是,测试可以确保 API 在实际使用中能够有效应对预期的操作需求,避免潜在的性能瓶颈或故障。

Apifox 自动化测试中的测试场景由一组接口或接口用例组成,涵盖每个接口的认证类型、参数、请求头、请求体、测试用例和配置项。你可以将不同请求方法 (如 GETPOSTDELETEPUT 的请求组合在一起,并通过设计 ifforforeach 等流程控制条件来编排测试步骤。

创建一个测试场景的步骤:

  1. 在左侧列表当中找到自动化测试,新建一个测试场景”聊天室用户注册登录“

在这里插入图片描述

  1. 首先添加步骤,可以从接口导入,这里选择了和用户有关的三个接口,分别是判断新用户吗是否存在、注册用户信息、用户登录接口

在这里插入图片描述

在这里插入图片描述

  1. 点击步骤,可以进入里面查看具体情况,并进行调整修改,退出后可以整体运行,然后得到这此测试报告。实际上,在测试场景中多个步骤之间传递数据是很常见的,针对这类情况,可以使用两种方法:读取前置步骤的运行结果使用变量传递数据,参考文档:测试步骤间传递数据 - Apifox 帮助文档

在这里插入图片描述

在这里插入图片描述

这里出错可能由于获取前面的名称有误,后面将姓名进行解码获取后测试成功

在这里插入图片描述

  1. 在实际使用中,还可以通过控制条件对流程进行控制,如果新用户名检测不存在,则用该用户名进行注册用户信息,如果返回成功,进行用户登录接口测试

在这里插入图片描述

经过上面的处理,就可以自定义一些自动化测试脚本,并且可以在 Apifox 测试场景中加入性能测试,评估 API 在不同负载条件下的可扩展性和响应能力。

在这里插入图片描述

这里我请求失败率高的原因在于我后端node中设置了基础限流配置,设置了每个IP每分钟请求访问限制次数

在这里插入图片描述

在性能测试中,会发出大量的接口请求,因此仅会将错误请求分类统计展示,不会记录详细的错误信息以及每个接口请求详情。如果你发现有预期之外的错误,请先运行「功能测试」,将问题全部解决后再运行「性能测试」。


到这里,ApiFox的基础学习就已经完成了,重要的功能模块流程都走过一遍了!

相关文章:

  • Nacos集群
  • Wave Terminal + Cpolar:SSH远程访问的跨平台实战+内网穿透配置全解析
  • 熔盐核裂变反应堆:第四代核能技术的重要突破
  • AI时代新词-AI芯片(AI - Specific Chip)
  • 测绘技术重塑低空经济格局
  • 菜鸟之路Day34一一Mybatis-基础操作
  • 泪滴攻击详解
  • 解决 docker pull镜像失败
  • java虚拟机
  • 网络原理与 TCP/IP 协议详解
  • Java-ArrayList集合的遍历方式详解
  • UE5 Niagara Advance 学习笔记
  • 【大模型面试每日一题】Day 29:简单介绍一下混合精度训练的技术要点及潜在风险
  • Node.js Path模块路径处理秘籍
  • 小样本机器学习再发力!2025再登Nature正刊
  • 《软件工程》第 9 章 - 软件详细设计
  • ubantu给github配置ssh
  • [7-1] ADC模数转换器 江协科技学习笔记(14个知识点)
  • 分布式缓存:证明分布式系统的 CAP 理论
  • 【C++11】特性详解
  • php mysql网站开发工资/aso是什么意思
  • 蒙文网站建设情况汇报/镇江网站seo
  • 查看网站有没有做301/长沙网站托管seo优化公司
  • 小程序电商系统开发/seo服务内容
  • 专业网站建设推广/河南郑州最新消息今天
  • 常州建设局职称网站/引擎搜索是什么意思