版本 4.1.0 测试版 1

通用

  • 现在有一个包含所有内容的单个包——新的集成开发环境,Squish 工具和经典集成开发环境,因此每次升级时只需下载一个包(一个 .zip 文件)。
  • 为所有工具包添加了新的功能,包括 mouseMovemousePressmouseRelease
  • 添加了新的可视化功能,可以显示预期图像和实际图像之间的差异。除了逐像素的严格比较外,还可以配置它们执行几种“模糊”匹配。
  • 为 squishrunner 添加了新的 --resultdir 选项来设置测试结果的输出目录。这是为了能够设置一个自定义目录用于测试结果,例如截图验证点比较失败的图像。现在报告文件的默认格式已更新为 squishrunner xml2.1 格式。
  • 除了对测试套件中所有测试用例之间共享脚本的支持之外,现在还可以在全局范围内共享脚本,以便任何测试套件中的任何测试用例都可以访问。此功能也受新集成开发环境的支持,该环境用于创建和管理全局脚本目录及其包含的脚本。
  • 现在正确处理了验证点属性值中的特殊字符。
  • 修复了 JavaScript 中的调试回调。
  • 为 JavaScript 添加了 File.size 函数。
  • 确保所有二进制包都包含 JavaScript SQL 支持 和脚本语言支持。
  • 为 JavaScript File 实例添加了支持切换编码的功能(例如,使处理 Windows 文件编码更容易)。
  • 在调试“所有者”函数时显示 JavaScript 的 this 对象。
  • 确保由 applicationContextList 函数返回的应用程序上下文对象在子进程中有其 name 属性正确更新。
  • AUT 进程不再过早终止。旧版本的 Squish 在等待 AUT 的 GUI 关闭后,如果 AUT 没有自行终止,则将其终止。这可能会给在关闭其 GUI 后希望继续处理的应用程序造成问题。现在 Squish 等待进程终止——只有当在一定时间后进程仍未终止时,Squish 才将其终止。(此新方法可以通过 squishrunner --config 选项的 eagerAUTShutdown 操作来禁用。)
  • 当 squishrunner 在执行 object.properties 函数时遇到不可读属性,Squish 将不再崩溃。
  • 修复了一个问题,可能导致 AUT 突然退出时发生 squishrunner 问题。
  • 修复了如果使用 startApplication 函数而不是隐式启动 AUT 时传递给 sendEvent 函数的 Perl 常量。
  • 使用 --testsuite 选项进行录制时,squishrunner 现在支持 --aut 选项。
  • 修复了 AUT 启动过程中可能会使 squidrunner 崩溃的某些竞争条件。
  • 如果找不到文件 squishserverrc,Squish 将回退到使用 squishserverrc.txt
  • 添加了新的 Library 类以加载 C 和 C++ 库。该特性包括用于调用 DLL 中函数的 Library.prototype.invoke 函数和一个 Library.initModule 函数。目前只支持具有原始签名的函数 void funcName()
  • 使用 GUIObjectProxy 添加了新的 TSL 函数,list_select_item

新IDE

  • 在控制栏中添加了暂停/继续按钮,以便可以暂停和恢复测试用例的执行。
  • 增加了符号名称的完成支持。例如,在键入waitForObjectfindObject后按下Ctrl+Space,IDE将从对象图中查找可选择的符号名称。还增加了完成支持,以支持Squish的一些内置对象,如squishinfotestData
  • 在测试结果视图中添加了最近测试结果按钮,单击后会提供一个下拉列表,显示每个测试套件的十项最近测试执行结果。
  • 添加了GUI设置以更改用于最近测试结果的输出目录。
  • 添加了新的掩码编辑工具。
  • 通过允许编辑掩码和自定义比较模式,改善了截图验证点的支持。
  • 支持测试套件和测试用例资源中的嵌套子目录。
  • 添加了通过拖放将其目录或suite.conf文件拖放到IDE中来打开测试套件的功能。同样,也添加了通过拖放添加测试资源的功能。
  • 可以在测试套件视图的测试用例列表中使用拖放重新排序测试用例。:(当执行整个测试套件时,选中的测试用例将按照列表中从上到下的顺序执行。)
  • 添加了一次性检查或取消多个测试用例的支持。
  • 现在在Squish菜单中有一个关闭测试套件菜单选项和一个独立的删除测试套件菜单选项,它们执行它们所表明的操作。
  • Squish菜单中添加了运行测试套件菜单选项。
  • 在对象属性视图的上下文菜单中添加了复制属性值菜单选项。
  • 为了编辑Python脚本,已切换到更强大的第三方编辑器(PyDev)。这提供了更好的语法高亮、改进的代码补全和许多其他有用功能。
  • 在管理AUT对话框中显示了可附加AUT的编辑按钮。这使得更改已注册的Squish应用程序的主机和端口设置变得容易。
  • 现在,在启动可附加AUT时,也支持选择其中一个已注册的“可附加”应用程序。同样,现在有可能记录可附加AUT,在这种情况下将记录一个attachToApplication语句而不是一个startApplication调用。
  • 为截图验证点添加了删除条目的选项。
  • 修复了对象图可能会意外丢失条目的问题。
  • 防止了QTP导致IDE中出错。
  • 修复了在测试结果消息包含引号时,提取失败的截图信息期间可能发生的问题。
  • 修复了查看由于验证失败而制作的截图时可能发生的问题。
  • 修复了可能导致JavaScript脚本控制台锁定的bug。
  • 只有在相关的AUT未运行时,才可以删除测试套件。
  • 现在防止了意外重命名主测试脚本文件。
  • 修复了处理具有多行文本比较的属性验证点时可能发生的问题。
  • 防止了在开始创建验证点时在某种情况下可能出现多个验证点编辑器的情况。
  • 添加了GUI选项来打开或关闭Squish内部工具通信的日志记录——froglogic支持工程师可能要求您打开此日志记录以帮助调试问题。
  • 修复了某些情况下发生空指针异常的情况。
  • 确保将焦点给予新打开的编辑器。
  • 引入了一个新的全局脚本视图,用于管理和编辑全局共享脚本。
  • 改进了验证点编辑器的布局。
  • 现在可以完全删除验证点(包括所有其属性)。
  • 即使在使用过时的高级命名方案的情况下,验证点也能正确创建。
  • 在取消时,添加映射的 AUT 对话框现在表现正确。
  • 修复了在应用程序对象视图中检查对象时可能发生的假死锁。
  • 修复了验证点未通过时(即测试失败)显示的结果文本。
  • 将 Perl 的默认缩进宽度设置为四个空格。(当然,这可以通过 IDE 的首选项对话框进行更改。)
  • 修复了焦点单元格高亮显示程序可能发生的渲染问题。
  • 修复了重新加载外部修改的 CSV 数据文件时可能发生的问题。
  • 修复了在对象未在 Spy 中先选中时,用于预期图像的图像截图获取可能发生的问题。
  • 修复了在标准 Eclipse 安装中使用 squishide 插件的问题。向 froglogic 技术支持询问安装说明。
  • 修复了对象名称包含点时抓取屏幕截图可能发生的问题。
  • 修复了在 Windows 上可能出现的虚假启动挂起问题。
  • 修复了在接连执行多个套件时可能发生的问题。
  • 修复了多 AUT 场景中 Spy 上下文处理的问题。
  • 修复了处理像 "{foo='bar'}.a.b.c" 这样的旧式对象名称时可能发生的問題。
  • 限制了存储的 squishserver 输出的最大长度。
  • 屏幕截图现在仅在 IDE 完全隐藏后抓取。

针对 Qt 特定的

  • 添加了对各种 QML 组件的支持,包括“flick”动作的录制和播放、HTML 和 GridView 组件的检测以及动画同步。还添加了一个新的 pressAndHold 函数和一个基于 JavaScript 的 QML 扩展机制。
  • 为 Qt/Desktop 添加了 Qt 快速组件扩展。
  • 引入了一个新的 installSignalHandler 函数,用于监视 Qt 信号。
  • 改进了 Squish 对 QWebView 中的重载响应。
  • 使名称生成速度显著提高。
  • 添加了对在测试脚本中使用 QProcess 类的支持。
  • 改进了在搜索表或树项时使用无效行或列值时的错误消息。
  • 为自动包装类添加了对 QUrl 类型属性的支持。
  • 自定义 QObject 类的枚举现在自动包装。
  • 添加了对使用动态包装获取 QPointFQRectFQIcon 属性值的支持。
  • 在包装基于 QObject 的类时,Squish 现在还包装了类型为 QVariant 的属性以及其他 Qt 类型的属性。
  • 添加了对 QCharcharunsigned char 类型属性的支持。
  • 改进了图形/视图支持,使焦点项可以成为对 type 函数的调用主题。
  • 增强了 Squish 对 QGraphicsWebView 小部件的监视和选择能力,使得 Squish 现在可以递归地监视 HTML 元素。
  • grabWidget 函数现在可以优雅地处理空对象。
  • 通过 Squish 检测到 QObject 已被删除时,通过使 Squish 的内部对象缓存无效来提高鲁棒性。
  • 正确记录和播放与空组合框项的交互操作。
  • Q3TableItemQ3ListViewItem 添加了 mouseClick 重载。
  • 修复了当嵌入 HTML 组件打开弹出窗口时可能发生的崩溃。
  • 对于 QDeclarativeImage,现在已记录 source 属性并且相应地修复了匹配问题。
  • 现在可以使用 MSVC 10 构建的二进制包。
  • 现在使用较新版本的编译器构建 Qt >= 4.7 的 MinGW 包。这修复了在 Windows 7 上使用标准样式和动画记录时发生的崩溃。
  • 根据请求,现在可以提供 MeeGo 设备 RPM 打包。
  • 避免在嵌入式 HTML 查看器中错误地记录多个 clickLink 语句。
  • dragItem 函数中添加了对更精细运动的支持,以便更真实地重放。
  • 修复了在 X11 系统中启用和禁用原生文件对话框的问题。
  • 修复了有关 Qt 4 表和具有非默认根项目设置的树的测试。
  • 修复了 openContextMenu 在应当记录的情况下未记录的情况。
  • 添加了对从和到 QVariant 对象的脚本转换的支持。
  • 通过考虑 QObjectnamevisible 属性,提高了对 QActions 的查找。
  • 修复了没有内容视图的 NSWindow 上的崩溃问题。(例如,在 Photoshop CS5 中发生。)
  • 添加了 QWebView 构造函数。
  • 修复了 QGraphicsProxyWidgettype 的记录。
  • 修复了在 macOS 上退出时 AUT 崩溃的问题。
  • 添加了一个可接受 QObject 并将其向下转换为最派生类型的 castToQObject 覆载。比使用 cast 实现此特殊目的更安全。
  • 提高了子进程处理的速度。
  • 修复了记录 Qt 3 QListView 项目相对坐标的问题。
  • 添加了对使用 Qt API 调用(如 menuAction)而不是使用 findObject 获取的 QAction 对象上的 activateItem 调用的支持。
  • 修复了在 Qt 4.5 及更早版本上查找自定义 QGraphicsTextItem 的问题。
  • 使硬编码的 Qt 库路径名称成为可选。以前,必须指定 AUT 使用的 Qt 库的绝对路径名称。现在,可以使用设置工具将 Squish 配置为使用动态检测。
  • 仅限 Unix 系统:不再将像 /usr/lib 这样的标准路径添加到库搜索路径中,以避免库冲突。
  • 已停止支持使用 Qt 2.3 和 3.0 构建的 AUT。仍支持后续的 Qt 3 版本,例如 3.1 及更高版本。
  • 由于 wchar_t 问题,已停止支持剩余的 wstring 函数。
  • 已停止对静态链接到 Qt 的 AUT 的特殊支持。从 Qt 4.1 开始,Qt 本身就没有提供此支持。此更改还允许使用不是基于 Qt,但启动基于 Qt 子进程的 AUT。现在可以记录这样的子进程。

Java 特定

所有 Java AUT。

  • 在间谍活动期间,对象选择器不再高亮隐藏标签页上的小部件。
  • 修复了在拖动时滚动树项目的问题。
  • 修复了鼠标拖动时的菜单记录问题。
  • 输入双引号不再记录为特殊键组合。
  • 为 macOS 上 JDK 版本 1.6 或更高版本的 32 位应用程序提供了更稳健的启动器调用。
  • Java 包装器现在尊重原生 Windows 控件的“白名单对象”。
  • Squish 现在使用对 CLASSPATH 环境变量的更稳健的设置。
  • 添加了对在 macOS 上测试 Eclipse Helios AUT 的支持—通常是具有相同名称的可执行文件和 .app 目录的应用程序。
  • 修复了在重放滚动视图上的单击时的坐标计算问题。
  • 修复了在使用 IBM JVM 时发生的崩溃问题。
  • 防止在尝试使用64位JRE启动Java应用程序时出现Windows C运行时错误R6034。

Java AWT/Swing 自动化测试工具。

  • 现在记录了具有内部类类型的AWT对象的basetype伪属性。
  • 修复了macOS上Swing菜单项的waitForObjectItem调用的一个问题。
  • 修复了AWT的Java屏幕捕捉支持。

Java SWT 自动化测试工具。

  • 修复了SWT菜单和菜单项的边界矩形问题。
  • 当在Spy中选择SWT (Gtk) 对象时,防止单击鼠标将鼠标按下到AUT。
  • 当在32位macOS上找不到Carbon时,Squish现在会查找SWT Cocoa。
  • 修复了SWT/Cocoa菜单处理的问题。
  • 修复了SWT/Cocoa的type函数在存在修饰符时回放的问题。
  • 修复了SWT/Cocoa列表项边界计算。
  • 当滚动表时,修复了SWT/Cocoa TableColumns边界计算。
  • 修复了处理SWT Table项时的偏移量错误。
  • 在macOS上的SWT Cocoa实现中解决了文本输入的bug。
  • 修复了Windows上SWT模块的架构检测。

特定于Web的

  • 引入了一种基于代理的替代方法,用于Web测试,这使得在更多上下文中测试更多浏览器成为可能——例如,Chrome、Opera和移动Safari(后者在iOS设备上)。
  • 添加了一个保存对象DOM路径的属性。
  • 添加了一个raiseWindow函数。此函数尝试将浏览器提升到可能与之重叠的其他窗口之上。
  • 向squishrunner添加了一个新的--config选项操作setBrowserPath。这使得新的IDE能够更新浏览器可执行文件(尤其是对于代理情况)。
  • 添加一个scrollTo函数。
  • 为提供此功能的浏览器添加了通过触摸事件选择对象的支持。
  • 修复了在文字输入被打断(例如焦点变化)时的setText记录。
  • 修复了从远程浏览器和响应非常缓慢的浏览器中获取属性的问题。
  • 允许从Unix系统上的单个用户账户驱动多个Firefox实例。
  • 修复了通过squishrunner的--webbrowserargs选项传递双引号的问题。
  • 修复了Firefox中的样式属性获取。

特定于Windows的原生

  • 通过更改对象层次结构遍历的顺序,大大加快了大型GUI中原生Windows控件查找的速度。
  • 改进了具有leftObject和/或aboveObject属性的对象的回放速度。
  • 在Windows Forms应用程序中单击菜单项时,不再偶然使用错误的菜单。
  • 提高了Windows Forms菜单项的记录可靠性。
  • 不再在禁用的工具栏项上记录鼠标点击。
  • 改进了Squish的事件处理,以提高记录鼠标和键盘动作的可靠性。
  • 添加了对基于PowerBuilder的应用程序的测试支持。有关更多详细信息,请联系支持。
  • 在选择原生Windows对象时,鼠标光标不再改变位置。
  • 添加了对CA Plex ObGrid控件的支持。
  • 使工具包包装器(Qt、Web等)能够通过指定对象名称列表,指定Windows包装器应忽略的对象列表。
  • 修复了选择对象时的阻塞事件。
  • 在鼠标按下事件导致单元格变为编辑字段时,修复了记录单元格点击。
  • 为Excel表格添加了visible属性。
  • 使“额外窗口”能够使用通配符(*和?)。
  • 在MFC ListBoxItem对象上添加了selected属性。
  • 添加了itemCount属性,用于存储包含其他项的对象(如树视图、列表视图、列表框、菜单、菜单项、选项卡和状态栏)中的项数。
  • WindowsControl添加了postMessageLong方法。
  • 添加了setForegroundWindow函数。
  • 为所有Windows Forms对象添加了nativeObject属性。此属性可用于访问Windows Forms对象的所有原生属性。
  • 添加了对Infragistics UltraWinGridUltraWinTreeUltraWinTabsUltraStatusBarUltraToolbar组件的支持。
  • 降低了对象映射名称重用功能在Windows测试中的成本。
  • 添加了getActiveXProperty函数。
  • 添加了对通过子属性识别Windows对象的支持。例如,"{type='Window' nativeObject.Text='Update'}"
  • 现在可以通过在包装器配置文件中指定“黑名单进程”来使Windows包装器忽略进程。
  • 测试执行后,现在正确终止了_startwinaut.exe
  • 现在,startwinaut.exe可以接受没有绝对路径的AUT可执行文件名。
  • 改进了MsoCommandBar识别。
  • 改进了在选择列表项时的组合框展开的可靠性。
  • 现在可以将.bat文件用作Windows测试套件的AUT。
  • 现在,在32位和64位Windows上都可以操作地挂钩32位Windows Forms应用程序。
  • 引入了一个Visual Basic模块,当将其注入到VB6应用程序中时,会添加对vb_name属性的支持。安装说明在文件vb6hook/README.txt中。
  • 开始开发Exontrol扩展。有关可用性的询问,请联系[email protected]

特定于Mac(Cocoa/Carbon版本)

  • 添加了对macOS 10.6的支持。
  • 添加了对测试64位AUT的支持。
  • 修复了布尔属性验证点生成的问题。
  • 修复了squishserver有关检测32位和64位可执行文件的问题。
  • 提高了在存在相同名称的AUT可执行文件和.app目录的情况下查找可执行文件的可靠性。

特定于iPhone/iPad

  • type("UITextField", "<Return>")添加了特殊情况支持,以便隐藏屏幕键盘并执行与Return相关联的操作。
  • 正确记录type("<Return>")
  • 修复了内部对象缓存问题。
  • 现在,touchAndDrag函数在处理与null对象交互时表现良好。
  • touchAndDrag重放中添加了额外的步骤,以正确模仿初始拖动触发。

Tk特定

  • 添加了对attachToApplication函数的支持。
  • 添加了对使用Squish startaut工具启动Tk AUT的支持。
  • 修复了iwidgets TabNotebook点击的重放问题。
  • 使Windows回退包装器正确工作。
  • 修复了阻止在64位Windows上构建Squish/Tk的问题。
  • 添加了对菜单项上图像信息的记录和重放的支持。
  • 修复了在重叠窗口记录时对象识别的问题。
  • 修复了点击Tk窗口子窗口的native widgets的问题。
  • 现在Squish确保在点击之前列表框中的项目是可见的。
  • 现在Squish确保在点击之前tkTable小部件中的项目是可见的。
  • 现在当鼠标悬停在它们上时,Squish会突出显示在spy模式中可以拾取的小部件。
  • 修复了type函数中混合大小写字符串的处理。
  • 添加了一个静态链接的Tk示例。

文档

  • 所有Qt、Java AWT/Swing、Java SWT、Windows、macOS和Tk教程都已更新并统一以适应Squish 4。
  • 所有新添加的Squish功能和函数都已记录文档(其中一些较大的项目如下)。所有文档都进行了多次更新、改进和纠正。
  • 已添加一个全局的"附录"-风格索引,涵盖了所有文档。
  • 手册的PDF版本已得到改进。

源代码构建

  • 对于划分构建,现在需要--enable-ide-utils配置选项。
  • Squish构建系统现在自动检测debian和基于debian的系统上的Qt包含目录。
  • 现在从专用子目录(如QtCore/)读取Qt 4头文件;这避免了在其他情况下由于Qt 4.7而可能出现的编译器警告。
  • Squish现在可以用自定义的Qt名称空间进行编译。
  • 已添加对并行构建的实验性支持。将-j n选项(其中n是并行执行作业的数量)传递给Squish构建工具。
  • 为MeeGo SDKs等自定义Qt安装添加了--withmoc--withrcc--withuic配置选项。
  • 现在可以为Qt模拟器进行构建。
  • 增加了对mingw-w64编译的支持...
  • 已在Solaris上启用Qt可见性检测。

经典IDE

  • 经典IDE已重命名为squishclassicide。
  • 经典IDE存在一个可能导致片段录制时100%CPU使用率(即挂起)的bug;现在已经解决了这个问题。

©2024 The Qt Company Ltd. 包含在内的文档贡献是各自所有者的版权。
在此提供的文档根据Free Software Foundation发布的GNU自由文档许可版1.3的条款进行许可。
Qt及其标志是芬兰和其他国家/地区The Qt Company Ltd.的商标。所有其他商标均为各自所有者所有。