版本 7.2

Squish 7.2 是一个功能发布版,为产品的所有版本带来了新功能、错误修复和易用性改进。

请参阅以下部分以获取所有更改的详细列表。

适用于新平台的Squish for Qt:WebAssembly

Squish for Qt for WebAssembly是Squish for Qt包组的新成员,可用于对使用Qt for WebAssembly构建的AUT进行测试,使其在浏览器中运行并准备测试。然后可以使用Squish for Web进行部署的AUT的测试。

针对Weston(Wayland组合器)的嵌入式扩展

一个针对Weston(Wayland组合器)的扩展,使得AUT可以在基于Wayland的系统上与Squish完全测试,现在可以在Squish嵌入式源程序包内下载。

新功能:test.vpWithImage

新的函数test.vpWithImage允许使用图像对象或文件/路径中的图像,而不是从验证点中指定的对象获取屏幕截图。

离线文档

包含内置搜索和新外观感受的Squish二进制包中生成的HTML文档与在线文档完全等价。

通用

  • 修复了在尝试突出显示对象失败后,AUT未接收任何用户输入的问题。这种情况可能发生在,例如,在临时对话框(弹出窗口)中突出显示对象或者在squishide的“应用程序对象查看”仍然激活的情况下关闭AUT窗口时。
  • squishrunner的JUnit报告生成器(--reportgen junit)现在也显示跳过的BDD测试用例和步骤。
  • 在创建验证点时,关于重复验证尝试的信息现在已成为验证消息的一部分。以前,在多次重试的情况下,它会作为单独的消息记录。
  • 消除了squishrunner的不当行为,其中会执行与测试案例主脚本(如test.foo.pytest.xyz.js)名称相似的脚本。在此方面的实现中执行了更严格的规则,即要执行的脚本的名称必须是test.[py|js|rb|pl|tcl]
  • 修复了从XLSX电子表格加载测试数据的问题,其中一些字符串数据直接存储在字符串单元格中而不是共享字符串表中。

squishide

  • 对于Squish评估,现在在squishide的标题栏中显示评估期剩余天数。
  • 对象映射编辑器中添加了按钮和上下文菜单,以查找对象名称并在应用程序对象视图中显示找到的对象。
  • 修复了将外部测试结果导入Windows上测试结果视图的问题。
  • 修复了Squish Eclipse IDE插件中的代码高亮和导航到符号定义的问题。
  • 改进了混合测试套件(包含BDD和脚本测试用例)通过标记过滤测试用例的功能。
  • 在 accordance with valid Gherkin syntax specification 的 BDD 功能和场景的行内标签,在 squishide 中按标签过滤 BDD 测试用例时会被考虑。在 config.xml 中的测试用例范围标签将被忽略。这与 squishrunner 在命令行上的行为(–tags 选项)一致。
  • 因此,测试用例信息编辑器不能再添加测试用例范围标签到 BDD 测试用例中。
  • 在 Linux 上,squishide 现在总是使用 XWayland 启动。Eclipse IDE 和 SWT(squishide 基于这些构建)没有对 Wayland 的完整支持,但窗口管理系统已成为许多现代 Linux 发行版的默认选择。

脚本

  • 在 JavaScript 和 Python 中,现在 ApplicationContext 具有可枚举属性,可以轻松在 squishide 中查看。在 变量视图 中展开 ApplicationContext 对象将显示 AUT 名称、工作目录、PID 等属性及其当前值。这特别适用于在一个测试用例中自动化多个 AUT。
  • JavaScript 的 XMLHttpRequest.open() 现在还支持 PATCH 请求。
  • 修复了当事件处理器以函数引用而不是函数名称注册时,在 Perl 和 Ruby 中传递参数的问题。

Qt

  • 在 macOS 上,Qt 5.15 系列从版本 5.15.9 开始支持通用二进制文件。为此,可以下载以下 Squish 二进制软件包,以实现与 Qt 5.15 在 macOS 上的最大兼容性
    • :支持通用二进制文件和针对 Qt 5.15.9 或更高版本构建的 AUT 的 Qt 5.15.9 软件包
    • :支持 x86_64 AUT 和针对 Qt 5.15.0 或更高版本构建的 AUT 的 Qt 5.15.0 软件包
  • 修复了将小部件嵌入至 QGraphicsView 并对其进行某些转换或缩放的几何计算问题。这解决了对象突出显示程序问题、使用 object.globalBounds() 计算对象大小以及在这些对象上的原生点击问题。
  • 修复了复合 QFlags 的字符串表示问题。
  • 为触摸设备添加了对基于 QWidget 的控件的选择支持。
  • 解决了选择过程中对象突出显示程序与先前选中对象卡住的问题。
  • 修复了在 Windows 上使用调试 Qt 构建的 AUT 中的重复顶级对象和输入录制问题。
  • SquishQtBuiltinHook CMake 模块中添加了对无版本号 Qt 模块名称的支持(例如,链接到 Qt::Quick 而不是 Qt6::Quick 的目标现在可以正确地启用内置 Qt 插件中的 QtQuick 支持)。
  • 由于 Qt 6.4 及更高版本不再支持 Qt3D,Squish 中不再提供 Qt3D 示例应用程序。

Java

  • 添加了对 Java SWT 应用程序中刻度控件的交互支持。
  • 改善了 JRE/JDK 的检测和在安装过程中报告可能的体系结构不匹配。

Web

  • 如果在本地 squishserver 配置中没有指定用于网站自动化的网页浏览器,将通过检查操作系统设置来选择合适的浏览器。如果无法找到浏览器,以下回退值将在每个平台上使用
    • Linux: Firefox
    • Windows 10及更低版本: MS Internet Explorer
    • Windows 11: MS Edge
    • macOS: Safari

Windows

  • 修复了在自定义 WPF ComboBox 下拉区域中识别项的问题。
  • 在Windows 10和更高版本的系统中,由于依赖于通常不存在的旧版.NET Framework 3.5,因此无法运行Windows Forms 示例应用程序。现在构建和运行此示例AUT需要新的.NET Framework >= 4.0,并可直接使用。
  • 在未来Squish版本中,将逐步淘汰以下针对Windows的特定控件的支持: GRITExontrolInfragistics COM。如果需要自动化这些旧控件,则Squish for Windows的通用UIAutomation是一个适当的替代方案。

iOS

  • 现在在iOS应用程序的UISearchBar中按回车键(脚本中的type(<Return>))可以正常运行搜索。

服务器

  • removeAUT 操作不再将路径作为参数接受。出于兼容性考虑,如果现有的脚本或设置中提供了额外的参数,则会忽略该参数并显示警告消息。
  • 现在,即使在未使用--daemon选项的情况下,squishserver –logfile也可以在所有平台上工作。

许可证服务器

  • 在Squish 7.1.1中添加的许可证服务器行为(where command-line test executions use tester (Squish IDE) licenses if no more executor licenses are available)现在可配置。它可以在许可证服务器配置中启用/禁用。

源代码包/从源代码构建

  • 支持使用Qt 3构建Squish已被弃用,将在Squish 8.0中完全移除。
  • 支持构建XView支持和测试基于XView的应用已被弃用,并将在Squish 8.0中完全移除。
  • 支持使用docbook构建Squish文档已被删除,以下配置选项可以安全地从用于自动构建Squish的任何脚本中删除:
    • --with-dblatex
    • --with-docbookxml
    • --with-docbookxsl
    • --with-xsltproc
  • 桌面和嵌入式源代码包不再包含Squish文档,无论是qdoc格式还是HTML格式。鼓励用户参考任何二进制包中的HTML文档或阅读在线文档
  • 在从源代码构建squishrunner时,如果在配置构建时发现两者都存在,则首选的Python版本是Python 3而不是Python 2。这与自Squish 7.0以来默认为Python 3的Squish二进制包一致。
  • 添加了对使用Python 3.11从源代码构建Python脚本语言支持的支持(这不会影响包含Python 3.10和Python 2.7的Squish二进制包)。
  • 现在可以使用新配置选项 --with-zlib=$(path) 来构建 Squish,该选项允许对 Squish 进行外部 zlib 安装进行编译,从而作为使用 Squish 源代码中包含的 zlib 代码的替代方案。这对于静态 Qt 自动测试(AUT)非常有帮助,其中 AUT、Qt 以及 Squish 都使用 zlib。

关于弃用的通知

  • 在此版本中,一些遗留技术和工具包(Qt 3、XView、Squish for Windows 中的控件子集)已标记为已弃用,未来版本的 Squish 将不再支持它们。如果您使用 Squish 测试这些遗留应用程序,并计划在未来继续这样做,请通过(《Qt 支持中心》)联系我们。

©2024 Qt 公司版权所有。以下文档贡献包含各自拥有者的版权。
本提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可协议 1.3 版本 的条款进行许可的。
Qt 及其相应标志是芬兰和其他国家/地区的 Qt 公司的商标。所有其他商标均属于各自的所有者。