提升自动化测试:Apifox 产品更新全解析!

Apifox 新版本上线啦!

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

  • 自动化测试 新增 ForEach 循环组件
  • 数据库连接支持 MongoDB
  • 前/后置操作模块能力升级
    • 支持使用 pm.executeAsync 异步执行外部程序
    • 支持自定义外部程序的执行命令
    • 支持自定义子进程工作目录和环境变量
    • 支持顶层使用 await
    • 更友好的控制台信息输出
  • 用户反馈问题优化
    • 性能大幅优化
    • Query 参数的值为空时,可选择是否在参数名之后添加「等号」
    • Body 类型为 form-data 时,支持配置每个字段的 Content-Type

01 自动化测试新增 ForEach 循环组件

自动化测试 增加 ForEach 循环组件,可以根据设定的某数组内的元素个数,循环执行编排内所有步骤,循环次数等于数组内的元素个数。使用 ForEach 循环组件后只需简单配置即可实现对数组元素的循环使用,大幅提升了用例编写效率,使数组类型数据的验证简单高效。

图片

可以通过动态值变量语法来提取 For 与 ForEach 当前循环内的元素值「当前循环 element」与索引值「当前循环 index」。

  • 当前循环 element:自动提取循环数组中的当前元素,保存到指定变量中。每轮循环开始时,都会根据当前数组元素更新该变量取值。如果元素为对象,可通过 JSONPath 提取子字段。
  • 当前循环 index:当前循环的索引值,会保存在此变量中。从 0 开始,之后每次循环开始时会 +1 更新实际值。

图片

更多关于自动化测试 ForEach 循环组件的内容可以点击「阅读原文」前往帮助文档查看。

02 数据库连接支持 MongoDB

Apifox 最新版本新增对 MongoDB 数据库连接支持

MongoDB 是一种面向文档的非关系型数据库(NoSQL),旨在为 Web 应用提供高性能、可扩展的数据存储解决方案。采用 BSON 格式 (JSON 的二进制表示形式)存储数据,通过键值对组织文档。Apifox 操作 MongoDB 时,会根据 JSON 的实际内容,自动映射每个字段对应的 BSON 数据类型。

对于常用的增删查改操作,Apifox 提供了更友好、便捷的可视化数据库管理体验,只需在「操作类型」中选择相应的操作,再使用 JSON 撰写相应的内容即可,无需撰写任何 JavaScript 代码。如果需要进行更加高级的操作,Apifox 也支持直接运行数据库命令。

图片

03 前/后置操作模块能力升级

支持使用 pm.executeAsync 异步执行外部程序

有用户反馈使用 pm.execute 执行外部程序时,偶尔会出现应用假死的问题,给调试工作带来不便。为此,Apifox 自 2.3.22 版本起,废弃 pm.execute,推荐使用 pm.executeAsync 异步执行外部程序,可以确保脚本执行流畅,大幅提升运行效率,获得更顺畅的 Apifox 使用体验。

支持自定义外部程序的执行命令

使用 Mac 最新系统版本的用户,执行 Python 外部程序时,经常遇到提示无法找到 python 的问题。为了解决这种情况,Apifox 新增支持自定义外部程序的执行命令,可以指定外部程序路径来精准运行文件

这不仅能预防类似 python 无法找到的错误,还可以自由调用任何程序,优化了用户体验。

例如,Apifox 默认使用 python 执行 .py 文件,如果电脑中没有安装 python,但是已经安装了 python3, 那么可以指定用 python3 来执行 'test.py' 文件。

图片

支持自定义子进程工作目录和环境变量

Apifox 新增了自定义子进程工作目录 (cwd) 、子进程环境变量 (env) 的功能。进一步开放子进程的配置,对执行 go 外部程序的开发者更加友好。

例如,go 找不到模块配置文件的时候会报错:

 

go.mod file not found in current directory or any parent directory; see 'go help modules'

现在只需使用 pm.executeAsync 接口,并指定 cwd 即可解决 go 外部程序的问题。

支持顶层使用 await

新增在代码顶层使用 await 的能力,而不必额外声明一个 async 函数,可以避免代码冗余,使代码逻辑表达更清晰,提高了代码的简洁性和可维护性,让开发更高效。

图片

更友好的控制台信息输出

为了让用户清晰地跟踪外部程序运行流程,快速定位并解决问题,Apifox 将在控制台输出更多调试日志,包含标准输出 (stdout) 与标准错误 (stderr) 内容,以便查明错误原因,定位问题根源。

例如,当运行 Python 文件出错时,不再只显示错误码,而是会详细展示标准错误内容,与在终端直接运行时表现一致。

图片

更多关于前/后置操作的内容,可以点击「阅读原文」前往帮助文档查看。

04 用户反馈问题优化

性能优化

本次更新优化了页面加载速度,解决数据模型编辑器的卡顿问题,并提升在文档页面切换不同返回响应时的性能,场景切换更加顺畅。总体提升了 Apifox 的运行流畅度,优化了用户体验。

Query 参数的值为空时,可选择是否在参数名之后添加「等号」

当 Query 参数的值为空时,参数名右侧默认不添加等号,界面上以「虚线等号」表示,可根据不同场景按需选择是否在参数名之后添加「等号」

图片

Body 类型为 form-data 时,支持配置每个字段的 Content-Type

为了更好地适配不同后端框架的序列化规则,Body 类型为 form-data 时,支持配置每个字段的 Content-Type,从而更好地表达字段的 MIME 类型。**点击右上方的三个点,在显示列中勾选「Content-Type」**即可配置。

图片

05 了解更多

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

  • 「通过 JSON 等生成」支持连接 MySQL 数据表直接生成 API 文档 的数据结构
  • 导入 Swagger/OpenAPI 文件时,会依次尝试将 summary 或 operationId 字段的值作为接口名称
  • 导入 OpenAPI(Swagger)数据,选择「智能合并」会保留原有的请求示例
  • 接口未通过校验响应时,会提供更详细的错误原因和解决方案
  • 自动化测试多线程报告导出优化
  • CLI 运行完成并设置上传的测试报告,触发的通知信息会出现「去看看」按钮,点击直达端内此报告位置

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

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

相关文章

hadoop 大数据环境配置 配置jdk, hadoop环境变量 配置centos环境变量 hadoop(五)

1. 遗漏一步配置系统环境变量,下面是步骤,别忘输入更新系统环境命令 2. 将下载好得压缩包上传至服务器: /opt/module 解压缩文件存放地址 /opt/software 压缩包地址 3. 配置环境变量: 在/etc/profile.d 文件夹下创建shell文件 …

完整版付费进群带定位源码

看到别人发那些不是挂羊头卖狗肉,要么就是发的缺少文件引流的。恶心的一P 这源码是我付费花钱买的分享给大家,功能完整。 搭建教程 nginx1.2 php5.6--7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库(shujuk…

YOLOv8-seg 分割代码详解(二)Train

前言 本文主要以源码注释为主,可以了解到从模型的输出到损失计算这个过程每个步骤的具体实现方法。 流程梳理 一、选取有效 anchor   以 640x640 的输入为例,模型最终有8400个 anchor,每个 anchor 都有其对应的检测输出(4n&am…

linux 安装 mini conda,linux下安装 Miniconda

下载地址 https://docs.conda.io/projects/miniconda/en/latest/index.html 安装conda mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/mini…

Redis应用之二分布式锁

一、前言 前一篇 Redis应用之一自增编号 我们主要介绍了使用INCR命令来生成不重复的编号,今天我们来了解Redis另外一个命令SET NX的用途,对于单体应用我们可以简单使用像synchronized这样的关键字来给代码块加锁,但对于分布式应用要实现锁机…

【中间件篇-Redis缓存数据库07】Redis缓存使用问题及互联网运用

Redis缓存使用问题 数据一致性 只要使用到缓存,无论是本地内存做缓存还是使用 redis 做缓存,那么就会存在数据同步的问题。 我以 Tomcat 向 MySQL 中写入和删改数据为例,来给你解释一下,数据的增删改操作具体是如何进行的。 我…

CSS常用示例100+ 【目录】

目前已有文章 11 篇 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS相关…

arcgis--浮点型栅格数据转整型

利用【Spatial Analyst工具】-【数学】-【转为整型】工具,将浮点型数据转为整型。如下: 【转为整型】对话框参数设计如下: 转换结果如下:

做一个Sprngboot文件上传-阿里云

概述 这个模块是用来上传头像以及文章封面的,图片的值是一个地址字符串,一般存放在本地或阿里云服务中 1、本地文件上传 我们将文件保存在一个本地的文件夹下,由于可能两个人上传不同图片但是却同名的图片,那么就会一个人的图片就…

mysql之正则表达式匹配

题目: 今天在牛客网看到一道关于数据库正则表达式匹配的问题,发现自己一点不会做。 正则表达式: 一、正则表达式 MySQL 正则表达式通常是在检索数据库记录的时候,根据指定的匹配模式匹配记录中 符合要求的特殊字符串。MySQL 的…

C与汇编深入分析

汇编怎么调用C函数 直接调用 BL main传参数 在arm中有个ATPCS规则(ARM-THUMB procedure call standard)(ARM-Thumb过程调用标准)。 约定r0-r15寄存器的用途: r0-r3:调用者和被调用者之间传递参数r4-r11…

2023网络钓鱼状况报告:ChatGPT等工具致网络钓鱼电子邮件数量激增1265%

近日,SlashNext发布了《2023年网络钓鱼状况报告》,报告显示:自ChatGPT于2022年11月推出以来,网络钓鱼电子邮件数量激增1265%,这标志着网络犯罪依托于人工智能进入了一个新的时代。 该报告深入分析了2022年第四季度至2…