写点什么

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

作者:空城机
  • 2025-06-11
    浙江
  • 本文字数:2042 字

    阅读完需:约 7 分钟

时代变了,我选择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 的基础学习就已经完成了,重要的功能模块流程都走过一遍了!

发布于: 刚刚阅读数: 4
用户头像

空城机

关注

曾经沧海难为水,只是当时已惘然 2021-03-22 加入

业余作者,在线水文 主要干前端的活,业余会学学python 欢迎各位关注,互相学习,互相进步

评论

发布
暂无评论
时代变了,我选择ApiFox替代Postman_前端_空城机_InfoQ写作社区