版本 6.1

Squish 6.1 是一个特性发布版本,它为产品的所有版本带来了新功能。

通用

  • 引入了一种新的验证点类型 视觉验证点,它可以极大地简化验证控制组(例如整个对话框)的显示。
  • 添加了基于图像比较的方法。
  • 为 Windows、Linux 和 macOS 实施了新的安装程序。新的安装程序支持无人值守安装以及在桌面或开始菜单上创建快捷方式。
  • 解决了在 X11 系统上执行拖放操作时导致 CPU 使用率高的一个问题。
  • 添加了新的测试报告版本,包含 视觉验证点 的结果。可以在命令行上通过传递 json1.1xml3.1xml2.2 来选择新的报告生成器。

squishide 特定

  • 现在将生成使用 Object waitForObjectExists(name) 函数的代码来创建脚本的属性验证,从而缩短生成的代码。
  • 支持选择用于打开测试用例或测试套件文件的编辑器,包括允许使用系统编辑器打开文件。
  • 为了简化测试失败和技术支持交互,现在可以通过应用程序对象树中的上下文菜单条目或 saveObjectSnapshot(objectNameOrReference, snapshotImageFile.xml) 函数保存 (子-) 树的 AUT 对象层次结构快照。
  • 现在可以通过 squishide帮助 菜单显示(并可以更改)使用的许可证密钥。
  • 当在 Linux 上记录会话期间尝试创建验证点时,改进了错误报告。
  • 解决了在多个上下文中跟踪,且当前上下文注册新类或命名空间时的崩溃问题。
  • 解决了在关闭“未找到对象”对话框后尝试通过 调试 按钮启动录制的问题。
  • 解决了在 Linux 上尝试在记录会话期间创建验证点时,导致 squishide 停止响应的问题。

脚本

Qt特定的

  • 一种新的与Gold Linker兼容的Qt 5 AUT挂钩方法
  • 支持在QtWidgets和QtQuick应用程序中使用Qt WebEngine。
  • 支持在Qt 5嵌入式和移动平台上无法获取屏幕截图的QtQuick应用程序的截图。
  • 在spy中显示(最重要的)属性QRegExp
  • 添加了对包括在spy中属性在内的QRegularExpression的支持。
  • dllpreload程序现在尊重新的环境变量SQUISH_DLLPRELOAD_DISABLE,可以使其不上注代码到指定进程,而是直接启动它。
  • 重放QtQuick项目时现在确保顶级窗口具有输入焦点,如果聚焦失败则触发脚本错误。
  • 修复了在Windows上,如果用CREATE_BREAKAWAY_FROM_JOB标志启动子进程,AUT不会启动子进程的问题。
  • 在macOS中使用Qt 5的情况下(特别是在使用顶级QMenuBar对象时),某些情况下的非正常菜单录制问题得到修复。
  • 在macOS中使用Qt 5的情况下,某些情况下activateItem(itemObject)的重放得到修复,其中的菜单项被合并到应用程序菜单中。
  • 提高了列出一个大量顶级对象(即,在遇到断点时)的性能。
  • 支持使用GCC 6.1或更高版本构建Qt工具包支持。
  • 在拍照时,现在暂时暂停文本光标(“光标”)的闪烁。

Java特定的

  • 支持Windows上的JavaFX HiDPI缩放。
  • 支持Linux帧缓冲区上的JavaFX。
  • 支持在HiDPI X11显示器上回放SWT/Gtk3。
  • 修复了在SWT/Gtk菜单带有滚动按钮的情况下回放的问题。
  • 在SWT内嵌时的JavaFX对象查找加速。
  • 在拍照时,现在暂时暂停文本光标(“光标”)的闪烁。
  • 为基于Eclipse 4.6的SWT应用程序添加了挂钩支持。

Web特定的

针对 Windows (本地)特定的内容

  • 现在大多数 Windows Forms 控件都公开了 visible 属性。
  • 修复了一个问题,该问题导致在 wxWidgets 选项卡控件上的操作回放失败。
  • 添加了一个配置设置,以禁用 Object waitForObjectItem(objectOrName, itemOrIndex) 语句的记录,这对于通过对象映射管理所有项目访问非常有用。
  • 公开了 Microsoft UIA Group 类型的 text 属性。
  • 修复了最大化的窗口截图,其中包含黑色边框或 Windows 任务栏的部分。
  • 在拍照时,现在暂时暂停文本光标(“光标”)的闪烁。
  • 修复了使用 RightToLeft 流向的 WPF 应用程序的 position 属性的值。
  • 顶级窗口的截图不再包含装饰,例如 Windows 10 中的下落阴影。可以使用 SQUISH_DIR/etc/winwrapper.ini 文件中的新条目“Include Decoration In Top Level Window Geometry”来禁用此功能。

    注意,根据使用的 Windows UI 主题,此行为的变化可能会导致现有顶级窗口的截图验证失败。要解决此问题,您可以使用上述“Include Decoration In Top Level Window Geometry”设置,或更新预期的截图。

    如果您有多个截图需要更新,则可能需要将 SQUISH_LEARN_SCREENSHOTS 环境变量设置为 1,然后重新播放测试脚本以自动更新所有预期截图。有关此功能的更详细讨论,请参阅我们的博客文章

  • 添加了对在 Inno Setup 安装程序中通常使用的 Delphi 控件的支持。
  • Squish 在生成鼠标点击脚本语句时,现在将忽略记录相对坐标。一些对象类型豁免,确实的类型集可以在新的设置中配置,该设置位于 SQUISH_DIR/etc/winwrapper.ini 文件的 Record With Relative Coordinates 中。
  • startwinaut 程序有一个新的参数 --window-title. 该参数可以用来根据窗口的标题连接到一个自动测试单元 (AUT)。

macOS 特定(Cocoa/Carbon 版本)

  • 添加了对基于视图的 NSOutlineViews 的支持:在与先前 Squish 版本中,基于视图的 NSOutlineView 中的单元格以 NSNull 对象的形式出现,无法对其进行太多有用的操作。在 Squish 6.1 中,您现在可以获得单元格的实际视图对象,而不是 NSNull。如果在您的测试脚本中使用 NSNull 对象,您必须更新它们以使用视图对象。

iOS 特定(iPhone/iPad 版本)

  • 添加了对 Xcode 8 的 iOS 模拟器的应用测试的支持。
  • 用于设备测试的 libsquishioswrapper.a 库已更改其链接依赖项:使用 -lc++ 而不是 -lstdc++,并在为 Squish 设备测试构建应用程序时,.eyeblink DL 添加 -liconv 作为链接器选项。
  • 修复了在 iOS 9.3 设备上自动开启辅助功能属性的问题。
  • 添加了脚本函数 hideKeyboard() 来隐藏屏幕键盘。

Android 特定

  • 修复了某些面板截图颜色通道交换的问题。
  • 修复了Marshmallow 上旋转截图的问题。
  • 修复了在 WebView 内部不工作的选择问题。
  • 在应用程序意外关闭的情况下提高了 androidobserver 程序的稳定性。
  • 添加了对 Android UI Automator 测试类的绑定。
  • 添加了对 Android 7.0 “Nougat” 的支持。
  • 添加了对检查 Spy 中的 AccessibilityNodeInfo 层级以及使用 Android 脚本 API 的这些对象的检查功能。参见 如何处理辅助功能对象 以获取更多信息。

Tk 特定

  • 支持 TixHList 基的控件使用 clickItem。
  • 修复了在窗口菜单栏中查找菜单项的问题。

源代码包

  • 检测 Qt 是否需要启用 C++11 编译器(Qt >= 5.7)。
  • 支持使用 MSVC14 构建 JavaScript 支持。
  • 现在,configure 脚本拒绝未知参数,而不是忽略它们。

文档

  • 彻底更新了安装二进制包的说明。

©2024 The Qt Company Ltd. 本文档中的文档贡献是相关所有者的版权。
在此提供的文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。
Qt 和相关标志是芬兰和/或世界上其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为其所有者的财产。