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 设计,响应内容基本都按照以下格式:

 

{ "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 文档内的代码块,可以通过复制按钮复制全部内容
  • 如果在线文档的某个接口被删除,更友好地提示正在浏览该页面的用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/424437.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语义分割常用评价指标

在图像处理领域中,语义分割是很重要的一个任务。在实际项目开发中,评估模型预测效果以及各指标的含义对于优化模型极为重要。 本文将主要评价指标的计算算法进行了详细说明,并加上注释解释每个指标的含义。这对理解各指标背后的数学原理以及能否在实践中应用或许有…

大数据学习之Flink,Flink的安装部署

Flink部署 一、了解它的关键组件 客户端(Client) 作业管理器(JobManager) 任务管理器(TaskManager) 我们的代码,实际上是由客户端获取并做转换,之后提交给 JobManger 的。所以 …

导出 MySQL 数据库表结构、数据字典word设计文档

一、第一种 :利用sql语句查询 需要说明的是该方法应该适用很多工具,博主用的是navicat SELECT TABLE_NAME 表名,( i : i 1 ) AS 序号,COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE…

基于Python实现人脸识别相似度对比

目录 引言背景介绍目的和意义 人脸识别的原理人脸图像获取人脸检测与定位人脸特征提取相似度计算 基于Python的人脸相似度对比实现数据集准备人脸图像预处理特征提取相似度计算 引言 背景介绍 人脸识别技术是一种通过计算机对人脸图像进行分析和处理,从而实现自动识…

从编程中思考:大脑的局部与全局模式(一)

郭靖正在帐篷中用Unity写代码,刚写完一段代码。欧阳锋从帐篷外走进来,正要说点什么,郭靖反应敏捷,转身反手一招神龙摆尾击出,将欧阳锋震出帐篷,灰溜溜逃跑。 using UnityEngine;public class LocalGlobalD…

深入解析Python中的break、continue和pass语句

在Python编程中,控制流语句是一种常见的工具,用于控制程序的执行顺序和流程。其中,break、continue和pass语句是控制循环的重要组成部分。本文将深入解析Python中的break、continue和pass语句,包括其基本语法、应用场景和最佳实践…

鸿蒙开发笔记(二十二): 页面路由(router),组件导航 Navigation, Tabs

1. 页面路由 router 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回和页面返回前增加一个询问框几个方…

three.js从入门到精通系列教程052 - 制作立方体添加重影特效

<html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程052 - 制作立方体添加重影特效</title><script src"ThreeJS/three.js"></script><script src"ThreeJS/jquery.js"><…

【Java程序员面试专栏 专业技能篇】MySQL核心面试指引(一):基础知识考察

关于MySQL部分的核心知识进行一网打尽,包括三部分:基础知识考察、核心机制策略、性能优化策略,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第一部分:基础知识考察,子节点表示追问或同级提问 基本概念 包括一些核心问…

imgaug库图像增强指南(31):iaa.JpegCompression——探索压缩与质量的微妙平衡

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

Web即时通信技术——WebRTC

WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个开放的项目&#xff0c;旨在在网页端提供实时的音频、视频和数据通信&#xff0c;不需要插件或其他附加软件。它是由Google主导&#xff0c;并在Mozilla、W3C和IETF等组织的支持下开发。WebRTC的目标是使浏览器…

IOS-生命周期-Swift

目录 App生命周期应用状态未运行——Not running未激活——Inactive激活——Active后台——Backgroud挂起——Suspended 关系图生命周期方法相关方法注意在其他地方监听 ViewController生命周期UIView生命周期 App生命周期 应用状态 App主要有五种状态&#xff0c;分别是&…