Apifox 1月更新:性能测试、多人协作接口实时同步功能全面解析

看看本次版本更新主要涵盖的重点内容,有没有你所关注的功能特性:

  • 多人在线协作,接口数据实时同步
  • 自动化测试持续升级
    • 支持性能测试
    • 支持从其它项目导入接口/用例作为测试步骤
  • 新增默认响应模板
  • 用户反馈优化
    • 优化从 Postman 到 Apifox 的迁移
    • 重启或刷新客户端时,自动恢复之前未关闭的项目和接口页面
    • 请求参数和请求体支持 boolean 类型

01 多人在线协作,接口数据实时同步

Apifox 接口管理中的 HTTP 接口和数据模型模块支持多人在线协作、实时自动更新,提高研发团队的工作效率,降低反复沟通的成本。

当多人同时编辑同一接口时,会在右上方实时展示所有编辑者的头像。当其他人保存数据后,当前页面将自动更新至变更后的内容,无需手动操作。

当多人同时编辑字段内容时,也会实时在右上方显示「冲突」,及时提醒协作者,有效避免内容冲突。当保存内容时发现冲突内容,Apifox 会提供冲突内容细节对比,可以选择双方需要保留的部分内容,也可以选择一方内容全部覆盖。当然,不小心修改失误的话,可以从 Apifox 的回收站及历史记录功能找回旧版本,一键恢复。

在以下场景,新的接口文档会自动实时更新至团队内的成员,无需手动全局刷新:

  1. 在 App 内修改并保存接口后
  2. 使用 Apifox Helper(IDEA 插件)上传或更新接口后
  3. 定时导入 Swagger/OpenAPI 文件后

02 自动化测试持续升级

支持性能测试

Apifox 新增性能测试功能,可以针对 API 发起大规模的服务请求,检测 API 的性能瓶颈、稳定性及暴露压力状态下的可能风险,评估接口性能表现和应对高峰业务的能力,确保 API 在高负荷情况下能够稳定地运行和响应请求。

运行性能测试前,需要指定测试场景的运行环境和测试数据,并通过设置虚拟用户数、运行时间、爬坡时间等参数进行性能测试,模拟真实业务场景中的高并发请求,对接口响应时间、请求成功率等指标进行检测。

  • 运行环境:测试场景中的运行环境继承自当前项目中的环境。
  • 测试数据(可选) :关联测试数据后,虚拟用户会使用测试数据中定义的变量来执行请求,可选择「随机匹配」或「顺序匹配」的模式运行。
  • 虚拟用户数:目前最高支持 100 个虚拟用户,在指定的测试时间内,模拟在线用户数并行且重复运行测试场景。
  • 运行时间:性能测试的总时长。
  • 爬坡时间:从 0 达到设定虚拟用户数的所需时间。

执行性能测试时,会有可视化面板展示各个接口的总请求数、每秒接口请求数、平均响应时间、最大/最小响应时间、请求失败率等这些各项关键指标。你可以将鼠标移至测试图表中实时查看各个时间内的指标详情。

测试完成后会生成详细的性能测试报告,你可以点击「请求失败率」查看详细的接口失败请求情况,分析可能的错误原因,为后续优化工作提供数据支持。

需要注意的是,目前只支持客户端内测试场景的性能测试,单位时间内,一个项目只能运行一个性能测试,如果有优先级更高的测试项,请点击右上角的「停止」按钮。

目前性能测试功能处于 Beta 阶段,可能存在一些不符合预期的情况。如果您发现了问题,欢迎通过用户群等渠道反馈给我们。

支持从其它项目导入接口/用例作为测试步骤

除了可以导入本项目中的接口作为测试场景的步骤之外,还新增支持从其它项目导入接口/用例作为测试步骤。在添加步骤时,可以从左上角切换至其它项目,查看其它项目中的接口、接口用例,选择导入。

为了确保从其它项目导入的接口能够正常运行,这个项目第一次被导入时,你需要根据引导完成**「环境关联」设置,确定跨项目步骤的前置 URL**,将其它项目的环境与当前项目的环境关联起来。具体操作可以前往 Apifox 帮助文档查看。

注意:

  1. 编辑/运行 含有其它项目接口的测试场景至少需拥有该项目的**「** 只读权限」
  2. 目前来说,每个项目仅支持创建一个导入了其它项目接口作为步骤的测试场景。

自动化测试模块的升级还包括:

  • 自动化测试体验优化
  • 测试步骤及测试报告,支持搜索及定位
  • 自动化测试动态值的从前置步骤提取功能,支持提取 HTTP 状态码
  • 自动化测试中的自定义请求 ,会根据请求 URL 中填写内容自动判断是否需要补充环境前置 URL
  • 在自动化测试的测试步骤编排中,分组组件会显示组内的请求数量
  • 测试步骤支持同步接口中定义的 JSON 的字段名
  • ......

更多自动化测试相关更新内容,请点击「阅读原文」前往帮助文档查看。

03 新增「默认响应模板」

Apifox 新增「默认响应模板」功能,创建新接口时,会自动以设定的响应模板内容作为初始的响应。

例如,常见的 API 设计,响应内容基本都按照以下格式:

css 复制代码
{    "code":0,    "message":"success",    "data":{}}

可以在「组件库 - 默认响应模板」中将以上内容提前设定好,后续新增的接口都会默认携带该响应内容。默认响应模板只有一个,无法添加多个或删除。与组件不同的是,修改默认响应模板后不会影响已有的接口,只会影响将来新建的的接口。

04 用户反馈问题优化

根据用户的反馈建议,我们对产品进行了优化升级。

优化从 Postman 到 Apifox 的迁移

为了更好地实现 Postman 无缝迁移至 Apifox,我们做出了以下优化:

  1. 导入 Postman 集合时,会同时导入「接口」和「变量」,可以选择将集合使用的 URL 导入为「环境」下的服务。
  2. 导入 Postman 集合时,会把前/后置脚本导入到接口,同时用例会继承脚本。
  3. 支持一次性导入 Postman 的一个集合和多个环境。

重启或刷新客户端时,自动恢复之前未关闭的项目和接口页面

关闭 Apifox 客户端后,再次启动时会自动恢复上一次退出 App 之前未关闭的所有项目和接口页面。此外,点击全局刷新按钮后,也会保留未关闭的所有页面,节省重复打开页面的时间,提升用户体验。

请求参数和请求体支持 boolean 类型

编辑接口文档时, 请求参数和请求体可以选择 boolean 数据类型,后续也会支持配置更多高级属性。

05 了解更多

当然,Apifox 产品团队为大家带来的新功能远不止上方这些:

  • 支持导入 WSDL 格式的 Web Service 接口
  • 导入 Swagger/OpenAPI 文件时,支持解析 example 字段的引用
  • 后置操作的可视化断言支持使用动态值表达式
  • 可以直接在目录树为接口添加用例
  • 子分支中的接口,可以复制协作链接
  • 点击接口文档中的接口名称时,可以直接复制
  • 当环境中的变量较多时,支持搜索
  • 在线文档的 Markdown 文档内的代码块,可以通过复制按钮复制全部内容
  • 如果在线文档的某个接口被删除,更友好地提示正在浏览该页面的用户
相关推荐
程序员爱钓鱼1 小时前
Go语言实战案例-创建模型并自动迁移
后端·google·go
javachen__1 小时前
SpringBoot整合P6Spy实现全链路SQL监控
spring boot·后端·sql
阿珊和她的猫3 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
uzong7 小时前
技术故障复盘模版
后端
GetcharZp7 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
加班是不可能的,除非双倍日工资7 小时前
css预编译器实现星空背景图
前端·css·vue3
桦说编程7 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研7 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi8 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip8 小时前
vite和webpack打包结构控制
前端·javascript