博客

CukeTest 自动化测试工具2024年度回顾白皮书

cover

下载《CukeTest年度回顾》白皮书(2024)

目录

  1. 引言
  2. 多场景录制:让自动化轻松上手
    • 四种全新录制模式
    • 浮动录制工具条
    • Web/Electron 一键添加检查点
  3. 新的自动化能力
    • Qt完整生态支持
      • Qt WebView/WebEngine 自动化
      • Qtitan 控件支持
      • QtQuick 支持完善
    • Java 自动化增强
    • 智能文本处理与识别
      • 增强的OCR引擎
      • GuiText文字表格
    • 覆盖更多嵌入式平台
  4. 测试开发与管理
    • 一键转换为BDD场景
    • 侦测规则管理与模型精细化
    • 辅助识别属性:objectType
    • 测试任务管理
  5. 平台与环境支持
    • 灵活的Python版本选择
    • 领先的信创方案
  6. 总结

引言

伴随着 1.8.7 版本 的全平台发布,CukeTest 在 2024 年依旧保持快速迭代更新,为自动化测试带来了更多创新与可能。 今年,我们在持续打磨已有功能的同时,也倾听用户在Qt、Web、Java及跨平台等领域的需求,通过不断的更新迭代,提供了更加丰富且灵活的自动化测试体验。

从早期针对嵌入式设备的极致轻量化方案,到最新支持 OCR、图像录制模式以及多技术录制切换,CukeTest 在功能深度与易用性上都有了显著的提升。现在,就让我们一起翻阅这份《2024年度回顾》,回顾 CukeTest 在过去一年中取得的重要进展。

多场景录制:让自动化轻松上手

为了满足不同技术和平台的需求,CukeTest今年推出了多种全新的录制模式和工具,大大提升了测试脚本的生成效率和灵活性。这些更新不仅简化了测试流程,还扩展了自动化测试的适用范围,使复杂应用的自动化变得更加便捷高效。

四种全新录制模式

为了适应更多技术和平台,我们新增了四种录制模式,帮助团队快速生成自动化脚本:

  • Java 录制
    为了提升对Java桌面应用的支持,我们提供了Java应用操作的录制功能,自动生成脚本并允许在模型管理器中浏览Java控件树,降低了Java自动化的使用门槛。

  • Linux ATK 录制
    对基于Qt、GTK开发的Linux桌面应用,CukeTest现已支持通过ATK进行录制。这不仅让Linux平台下的控件识别更加灵活,也让脚本的开发和维护更加便捷。

  • 图像录制模式
    在现有图像自动化功能的基础上,我们引入了基于图像识别的连续录制模式。用户可以通过屏幕上的图案快速进行录制,运行时日志会显示目标控件的截图,帮助您直观地查看每一步的执行情况。

  • 屏幕录制模式
    新增的屏幕录制模式仅记录鼠标与键盘的操作路径,无需关注具体控件对象。对于无法读取内部结构的应用,这种方式能够完美复现用户操作,简化测试脚本的创建过程。

    录制模式

其中图像录制和屏幕录制也将在Lite版本中开放使用。

浮动录制工具条

新加入的浮动录制工具条,让录制脚本变得更直观和高效:

  • 暂停/继续/完成录制:可在应用界面中一键控制录制过程,无需回到 IDE 切换。

  • 添加检查点:点击工具条按钮,自动插入验证逻辑,减少手动编写的麻烦。

  • 操作回放预览:随时查看最近录制的操作,还能用于 Web/Electron 场景中的定位器调试。

    录制工具条

该工具条还支持在多种录制模式间自由切换(如 Qt、Windows、屏幕、图像等),让您在同一脚本中融合不同自动化技术,显著提升对复杂界面的适配能力。

Web/Electron 一键添加检查点

在 Web/Electron 场景下,录制脚本时可直接将目标元素添加为检查点,自动生成图像或属性验证代码。这样一来,无论是纯网页还是 Electron 桌面应用,都能快速构建完整的录制脚本,后期维护也更加轻松。

Web元素检查点

新的自动化能力

Qt完整生态支持

1. Qt WebView/WebEngine 自动化

CukeTest 现支持对 Qt 应用内嵌的 WebView 和 WebEngine 进行录制和自动化测试。用户在录制Qt应用操作时,对内嵌网页的各种操作行为也将被记录,并生成对应 Web 元素的模型对象和自动化脚本。这使得原生 Qt 控件与 Web 元素的自动化流程能够统一管理,提升测试的整体效率。

侦测WebView控件

2. Qtitan 控件支持

我们进一步增强了对 Qtitan 控件的支持,特别是 QtitanRibbon 和 DataGrid 等复杂控件。通过优化识别策略和特征属性,CukeTest 能更精准地操作这些高级控件,简化复杂界面中的自动化编写难度。

侦测Qtitan控件

3. Qt Quick 支持完善

CukeTest 扩展了对 QtQuick/QML 控件的支持,增加了更多自动化方法,提升了跨平台测试的覆盖面与稳定性。现在,测试人员可以更加轻松地对 QtQuick 应用进行全面的自动化测试,确保在不同平台上的一致性。

Java 自动化增强

我们针对 Java 应用的自动化功能进行了全面升级,包括:

  • Java 控件树浏览:在模型管理器中查看 Java 应用的控件层次,快速定位操作对象。
  • 丰富的 Java API:针对常用组件如 Table、Tree、List、ComboBox 等,提供了更全面的测试方法。

这些升级让 Java 应用的自动化开发更易上手,调试和维护效率显著提升。

Java控件识别

智能文本处理与识别

1. 增强的OCR引擎

引入了更精准的光学字符识别(OCR)引擎,现已覆盖Windows和Linux平台。无论是界面中的复杂图案文本,还是嵌入式设备上的调试信息,CukeTest都能实现更高精度的文本识别与处理,提升测试脚本的智能化水平。

OCR识别

2. GuiText文字表格

GuiText 插件新增了文字表格对象(TextTable),专为旧式Windows应用中的文字内容批量识别与操作设计。通过结构化的文本信息,自动化测试脚本的编写和维护变得更加简便,扩展了自动化测试的应用范围。

GuiText文字表格

覆盖更多嵌入式平台

CukeTest进一步扩展了对嵌入式平台的支持,覆盖了更多的硬件和操作系统组合。特别优化了远程执行端的内存使用和长时间运行机制,使其更加适合资源受限的工业与物联网场景,确保在这些环境下依然能高效稳定地运行自动化测试。

测试开发与管理

一键转换为BDD场景

为了让测试团队更好地使用行为驱动开发(BDD),我们在CukeTest中加入了录制脚本转换功能,为编写可读性强、便于协作的测试用例提供了更为便捷的途径。基于 Windows、Qt 等录制得到的脚本,可以一键转换为 Cucumber 或 pytest-bdd 的场景文件。这样,测试团队能够快速切换到行为驱动开发(BDD)的工作流,提高协作效率。

转换为BDD场景

侦测规则与模型精细化

面对属性动态变化或复杂控件树结构,CukeTest引入了自定义侦测规则功能。用户可以在模型管理器中轻松地添加、删除或修改不同的侦测规则,为不同类型的应用控件制定专属的识别策略。这使得自动化脚本在各种复杂场景下依然能够保持高效稳定,显著降低了模型维护的难度。

模型管理器也进行了相应的UI改进,允许对不同规则进行增删改查。复杂项目可为不同类型的应用控件编写特定的侦测策略,形成更加精细化的对象识别模型,进一步减轻模型维护成本。

侦测规则

辅助识别属性:objectType

为了进一步提升控件操作的灵活性,用户现在可以通过设置控件的objectType属性,自定义其在自动化操作时的交互方式。例如,将原本识别为Group的控件转换为List,即可使用列表控件的专用方法进行操作。这一机制提升了对复杂界面控件的操作深度和准确性。

objectType

测试任务管理

除了核心功能的加强,CukeTest团队也持续关注远程测试部署和批量执行的便捷性,为持续集成(CI/CD)环境提供更丰富的指令和配置选项。通过命令行模式、RESTful API以及批量运行工具的结合,测试团队能够高效管理分布在各个节点中的测试任务。

测试任务管理

平台与环境支持

灵活的Python版本选择

为了满足不同项目的依赖需求和运行环境,CukeTest现已提供多版本Python独立环境包。用户可以根据自身开发环境或持续集成(CI)环境的需求,选择最适合的Python版本进行测试配置。这不仅简化了测试环境的搭建过程,还确保了脚本的兼容性与最佳性能表现。此外,今年我们还在Mac平台上引入了Python支持,进一步扩展了CukeTest的跨平台适用性,让更多开发者能够轻松集成和使用。

领先的信创方案

CukeTest 在以往广泛支持各信创平台的基础上,今年我们进一步强化了对国产CPU架构 LoongArch(龙芯) 的适配,确保在信创环境下的稳定运行。同时,我们还对某些国产操作系统版本如凝思、UOS V25等进行了优化和适配。CukeTest致力于在国产化技术生态中提供稳定、高效的自动化测试解决方案,确保最新功能和特性能够顺畅运行在各大国产化平台上。

LoongArch

总结

在2024年,CukeTest 通过全面升级和功能增强,进一步扩大了其在自动化测试领域的应用范围。从轻量级嵌入式Worker到智能文本处理与 OCR 引擎,再到多样化的录制模式和灵活的控件识别机制,CukeTest 持续为用户提供高效、可靠的自动化测试解决方案。

未来,我们将继续致力于创新和优化,进一步拓展AI驱动的测试方法,帮助开发者与测试人员应对更复杂的测试挑战,推动自动化测试技术的进一步发展。

下载《CukeTest年度回顾》白皮书(2024)