写点什么

Apifox 新功能发布:自动化测试迎来重大突破!

作者:Apifox
  • 2023-11-14
    广东
  • 本文字数:2245 字

    阅读完需:约 7 分钟

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 运行完成并设置上传的测试报告,触发的通知信息会出现「去看看」按钮,点击直达端内此报告位置

用户头像

Apifox

关注

Apifox 2022-05-17 加入

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化平台。Apifox = Postman + Swagger + Mock + JMeter

评论

发布
暂无评论
Apifox 新功能发布:自动化测试迎来重大突破!_程序员_Apifox_InfoQ写作社区