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 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭1 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
高山我梦口香糖2 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
m0_748235242 小时前
前端实现获取后端返回的文件流并下载
前端·状态模式
m0_748240253 小时前
前端如何检测用户登录状态是否过期
前端
black^sugar3 小时前
纯前端实现更新检测
开发语言·前端·javascript
AskHarries3 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
寻找沙漠的人3 小时前
前端知识补充—CSS
前端·css