博客

CukeTest 1.8.11 发行日志

在CukeTest 1.8.11版本中,我们为Python测试开发带来了全方位的体验升级,涵盖了从开发、执行到报告的每一个环节。同时,新版本正式适配了全新的测试管理平台CukeManager。此外,本次更新还包含了对批处理工具、图像自动化、Qt自动化以及AI助手的大量改进与优化,旨在进一步提升您的自动化测试效率与体验。

新功能

Python支持增强

本次更新对Python的BDD测试支持进行了深度优化,从代码编写、测试执行到报告呈现都获得了显著增强。

  • 开发体验升级

    • 步骤跳转:现已支持在 pytest-bdd 项目的 .feature 文件步骤与对应代码之间进行双向跳转,大幅提升了代码导航体验和维护效率。

    • 步骤生成:可直接从 .feature 文件的可视化界面,为未实现的步骤生成对应的Python步骤定义函数。

    • 简洁的运行输出:优化了Python项目的运行输出,移除冗余信息,让您更专注于测试结果。

      pytest-bdd步骤匹配

  • 内置库升级

    • pytest-html 升级,带来更美观的用例样式,并支持自定义报告标题、截图文件名和时长显示格式。
    • pytest-bdd 升级,现已支持在场景大纲(Scenario Outline)中添加带标签的多个示例表(Examples)、在步骤中使用数据表(DataTable)参数以及更完善的文档字符串(docstring)支持。
  • 执行与集成优化

    • 快速失败:支持在pytest项目中启用快速失败(fail-fast)模式,遇到首个失败用例后立即停止执行。
    • 版本化发布包:Python的独立安装包(.whl)现在会包含与CukeTest版本号匹配的版本信息,便于版本管理。

Web 录制增强:支持持久化用户会话

新版本在 Web 录制设置中增加了 user-data-dir 录制参数,允许您指定一个本地目录作为浏览器的用户数据目录。浏览器会将所有的 Cookies、登录凭证和会话信息都保存在该目录中。

这意味着,您只需在第一次录制时手动登录一次,后续使用同一目录进行录制时,即可自动保持登录状态,无需重复输入账号密码。该功能简化了需要登录才能访问的 Web 应用的自动化脚本录制流程,提升录制效率。

Web录制选项

从HTML报告直接跳转到场景录屏

新版本的HTML报告实现了与录屏文件的无缝联动。现在,当您将鼠标悬浮于报告中的某个场景上时,会出现一个“录屏”图标。点击该图标,CukeTest会立即打开对应的录屏文件,并自动跳转到该场景开始执行的时间点。这一改进能够帮助您快速、直观地复现问题场景,提升调试和分析的效率。

报告跳转至录屏

适配CukeManager测试管理平台

CukeTest现已适配 CukeManager。CukeManager是一款面向桌面应用自动化测试的管理平台,提供集中的项目管理、强大的跨平台执行能力和深度的问题洞察分析,帮助您的团队构建高效、可靠且可扩展的自动化测试体系。

改进

AI助手增强

  • 进一步优化了AI生成BDD场景的逻辑,提升了生成用例的编写质量。
  • 修复了AI转换步骤定义时,空步骤定义方法缩进不正确的问题。

Qt自动化改进

  • 修复并增强了对 QHeaderViewHeaderItem 的操作,解决了 select()editable()selected() 等多个方法的调用问题,提升了表头操作的稳定性。
  • 优化了Qt Quick控件的侦测逻辑,提升了侦测性能和准确性。

批处理工具改进

  • 一键选择失败项目:批量运行结束后,新增“选择失败项目”功能,方便您快速筛选并聚焦于失败的测试。
  • 保留历史状态:重新运行部分选中项目时,会保留未选中项目的上一次运行结果状态,避免信息丢失。
  • 报告体验优化
    • 批量报告的表格会自动隐藏不必要的空列,使报告更整洁。
    • 重新生成报告后,会自动打开报告所在的输出目录。
    • 增强了报告生成的容错性,即使项目信息不完整(如缺少feature、目录不存在)也能正常生成报告。
    • 修复了因空项目、目标目录不存在等原因导致的报告生成失败问题。

模型管理器改进

  • 支持在Windows控件的侦测规则中排除根节点,优化了相关场景下的侦测和录制体验。
  • 支持直接将 .tmodel 模型文件从项目树拖拽到模型管理器窗口中打开,操作更便捷。
  • 优化了侦测倒计时的显示样式,背景变为透明,减少了对被测应用界面的遮挡。

图像自动化改进

  • 差异图像自动报告:当 checkImage() 方法校验失败时,差异对比图会自动附加到测试报告中,让问题定位更直观。
  • 图案控件增强
    • 在Python中,图案控件现已支持 checkImage() 方法,方便对位置动态变化的级联图像进行校验。
    • 改进了级联图案控件的创建和查找体验,避免截图时被提示信息遮挡,并确保 next()parent() 等方法能正确返回级联图案对象。
    • 在描述模式下使用图案控件时,生成的代码会包含图片的绝对路径,提升了脚本的可移植性。

其他改进

  • Dry Run模式运行配置中新增“Dry Run”(试运行)选项。启用后,CukeTest会加载并校验所有测试步骤的匹配性,但不会实际执行自动化操作,适用于快速检查脚本是否存在语法错误或未定义的步骤。
  • 本地脚本转换优化:在未配置AI助手时启用的本地“录制脚本转换”功能得到全面优化,生成的BDD场景和步骤定义更准确、更健壮。
  • 更新了多个内置的项目模板,使其更友好且易于上手。
  • 运行JavaScript项目时,会在控制台自动输出当前正在执行的场景名称。

修复

  • 修复了在部分Linux环境中可能出现的中文乱码问题。
  • 修复了Python的 Window.activate() 方法在部分场景下不生效的问题。
  • 修复了模型管理器的远程画面窗口在关闭后没有自动取消置顶的问题。
  • 修复了在某些情况下,项目运行出错但进程退出码依然为0的问题。