版本 4.1.0 最终版
亮点
Squish 4.1 是一个重要新版本,拥有众多新功能,当然还有许多错误修复。以下是4.1版本的一些精选特点概述(详细的主要变更列表见后)。
- Squish 现已打包成一个包含 IDE 和工具的单个
.zip
文件。 - Eclipse 用户现在可以将
squishide
组件集成到现有的 Eclipse 中。 - 图像验证的支持已经被大大改进,以允许自定义的“模糊”图像匹配(除了精确的像素匹配)。
- 所有脚本语言的编辑功能已经改进,代码补全扩展到支持 Squish 特定功能。
- Squish 脚本现在可以全球共享(即,任何测试套件中的任何测试用例都可以访问)。
- Squish for Qt 现在支持
- QML 特定支持和一个 QML 扩展 API;
- 监听 Qt 信号;
- 在 macOS 上测试 64 位 GUI AUT;
- 使用预构建的软件包在 MeeGo 上进行测试。
- Squish for Web 现在支持更多的浏览器,包括 Chrome、Opera 和 Safari。此外,还支持移动平台上的 Web 浏览器,例如 iOS 上的 Safari。Firefox 的支持已扩展到版本 4 和 5,并且已成功对 6.0 版本的 Beta 版进行了测试。
- Squish for Windows 现在支持
- 访问本地 Windows Forms .NET 属性和方法;
- 访问 ActiveX 控件的 COM/ActiveX 属性和方法;
- Infragistics NetAdvantage 控件、Exontrols 和 CA Plex 控件;
- 访问对象识别的 Visual Basic ID 属性。
- Squish for macOS 现在支持测试 64 位 Cocoa AUT。
- Squish for iPhone 现在支持截图验证,并且改善了滚动和手势的支持。
- Squish for Java 现在支持 Eclipse Indigo,在 macOS 上测试 Cocoa SWT AUT,且能生成更可移植的测试脚本。
- Squish for Tk 现在支持 Windows 上的 64 位应用程序和
attachToApplication()
函数。
通用
- 在 JavaScript 测试脚本绑定中添加了
OS.version.name
属性。 - Tcl 调试器现在不再在有不平衡的返回命令时崩溃。
- 已经对 Squish 的 XML 2.1 文件格式的 XML 架构定义进行了修复,该格式用于测试结果。
- 间谍软件现在可以显示属性的(可能派生的)具体类型。
- 现在有一个新的“事后分析”超时设置可用。事件记录器会在主要 AUT 退出后等待指定时间。这在通过启动应用程序(如 shell 脚本或批处理文件)调用的 AUT 中很有用。
- 解决了一个影响到图像比较算法快速调整的同步问题。
- 解决了 Image VP 差异查看器中的某些按钮逻辑和重绘图问题。
- 解决了在路径名称中包含非 ASCII 字符的系统上编写许可文本文件时的 Squish 设置程序问题。
- 阻止了 Windows 上的悬挂 _extrawindowwatcher.exe 进程。
- 阻止了在 Spy 某类复杂对象属性时发生无限递归。
- 解决了错误消息和测试结果中报告了错误 Python 脚本文件的问题。
- 解决了在 IDE 内运行时,当 squishrunner 进程失去与 squishserver 的连接后无法终止的情况。
- 添加了对
QWebView
小部件抓取屏幕截图的支持。 - 如果当前没有 AUT 运行,对
installEventHandler
函数的调用将引发错误。
新的 IDE
- 如果未启用 Web 测试,则不显示 Web 浏览器列表。
- IDE 现在即使在包含空格等空格字符的路径中也可以运行。
- 解决了 Ubuntu 11.04 中的菜单错误。
- 解决了在 macOS 上文件名大小写不同时的断点问题。
- 如果抓取截图失败,IDE 现在会超时;之前 IDE 只会挂起。
- 修复了如果Squishrunner异常退出时可能出现的不完全测试结果解析问题。
Qt特定
- 提供在Solaris上使用gcc支持的软件包。
- 修复了对删除的
QAction
引用的处理。 - 修复了MinGW上包装
init
函数的可见性。这使得包装探索工具能够再次工作。 - 加快了在macOS上的菜单访问速度。
- 修复了64位构建中可能出现的中止。
- 修复了连接来自其他软件(如端口扫描器)的AUT的附加问题。
- 修复了与大量内部信号-槽连接相关的问题。
- 添加了一个名为
UseNativeMouseEvents
的选项,该选项位于SQUISH_DIR/etc/qtwrapper.ini
,该选项更改了鼠标动作的模拟方式。 - 修复了在其内部存在的Qt项视图中(例如在Qt Creator中找到的)的小部件可能发生的拖放问题。
- 修复了Qt/Cocoa应用程序中隐藏项目的菜单回放。
- 修复了在设置对话框后脚本命令之后的断点时可能发生的错误。
- 添加了对从QML项检索QML
id
的支持。 - 修复了QML项的生成名称中的父项问题。
- 防止记录的QML URL属性中相对路径的级联。
- 添加了对未来Qt 4.8 Lighthouse平台的支持。
- 添加了一个支持对已知名称的
QObject
信号进行监视的installLazySignalHandler
函数。 - 添加了对在不重复交互的情况下在
QWebView
对象上调用方法的支持。 - 修复了在
QTreeView
控件中查找自定义小部件项的问题。
Java特定
- 运行器/服务器日志视图中不再输出空行。
- 修复了在Windows上SWT事件过滤代码中的空指针异常。
- 修复了拾取对象模式检测。
- 加快了在macOS上的菜单访问速度。
- 修复了在SWT的Gtk实现中使用的应用程序的扩展对象拾取。
- 防止在从已处置的SWT控件接收事件时发生异常。
- 修复了在记录AWT应用程序的
dragItem
和mouseDrag
功能时的起始点。 - 添加了对JRE 6.0.26的支持。
- 修复了Eclipse Indigo的SWT实现在macOS上的问题。
- 修复了命名具有父项属性的AWT和SWT对象时的出现问题。
Web特定
- 重新编写了Safari模块的部分以支持版本5.1。
- 添加了一个简单的基于Web的联系人示例。
- 防止Squish挂钩到框架时引发异常。
- 为IE 8添加了一个解决方案,以将输入焦点移入文档。
- 修复了Firefox 4.0.1的版本号检测。
- 现在始终安全地处理查询子对象信息的WebKit TypeError。
- 修复了记录多属性名称中的转义。
- 在达到非可探索框架时,对象搜索现在继续而不是中止。
- 修复了记录触发
window.confirm
或prompt
调用按钮的问题。 - 修复了大型属性值的编码。
- 修复了拾取普通图像和其他普通元素的问题。
- 修复了在专用函数
loadUrl
将页面切换到另一个页面时的对象等待问题。 - 修复了在Safari或Chrome中使用新代理方法时可能出现的新页面加载问题。
- 修复了测试运行后恢复代理设置的问题。
- 修复了用于测试Mozilla浏览器插件的安装问题。
- 改进了选择突出显示矩形的几何形状。
- 提高了选择突出显示矩形绘制的性能。
- 修复了Safari 5.1中对
closeConfirm
函数的播放问题。 - 将最大支持的Firefox版本提升至6.0——此版本仅与6.0-beta版本进行了测试。
- 添加了对Windows上非默认路径的Firefox安装的支持。
特定于Windows (本地)
- 完成了对Exontrol的COM组件的工作。支持这些组件可在请求时提供。
- 完成了对旧式Infragistics COM组件的工作。支持这些组件可在请求时提供。
- 现在可以使用
winwrapper.ini
设置文件激活对ActiveX控件COM/ActiveX属性和方法访问的权限。 - 确保在IDE关闭时终止任何剩余的内部
extrawwindowwatcher
进程。 - 将
tb_select_treeentry_1
函数添加到GRIT扩展中。 - 通过识别VB表单为顶级窗口来提高对象查找速度。
- MFC扩展现在尝试检测MDI窗口,并将它们视为对象容器。
- 修复了在Windows Forms列表框对象中查找滚动条的问题。
- 修复了计算Windows控件
win_x
和win_y
属性的问题。 - 添加了对Visual Basic 6 SSTab控件的支持。
- 添加了实验性代码以识别VB 6文本标签为不同的对象。有关如何启用此功能的详细信息,请联系技术支持。
- 为.NET集合对象提供了一个访问器函数。例如:
findObject(":_ListView").nativeObject.Items.at(3)
。
特定于Mac (Cocoa/Carbon版本)
- 添加了
visible
属性作为标识属性,如果存在,则用于自动名称生成。 - 修复了
NSPopUpButton
的录制问题。 - 加快了在macOS上的菜单访问速度。
- 修复了在Cocoa应用程序中使用垃圾回收时可能发生的崩溃。
- 记录在录制过程中发生的AUT崩溃的回溯。
- 修复了macOS 10.5中轮廓视图项的查找问题。
特定于iPhone/iPad
- 添加了
visible
属性作为标识属性,如果存在,则用于自动名称生成。 - 修复了在
UITextField
和UITextView
对象中,如果光标不在文本末尾处,则处理Backspace键输入的问题。 - 添加了一个新的
AlertOpened
事件处理程序。
特定于Tk
- 修复了在菜单中使用时
waitForObjectItem
函数的问题。 - 修复了在Windows上使用Tk菜单路径调用
activateItem
函数的问题。 - 添加了对Windows上截取屏幕截图的支持。
- 添加了对TkTreeCtl窗口的自滚动到项支持。
- 修复了与较新的Tk版本(自8.5.9起)调用
type
函数的重放。
HP质量中心插件
- 修复了一个问题,该问题会导致质量中心中的
Stop
按钮不可靠。 - 现在,qcimporter可以通过使用
--path
命令行切换来使用备用路径。
文档
- 将组合框添加到HTML版本的手册中,允许选择所有或仅选择一种脚本语言,并且可以在页面间记住设置。
- 用完全全新的教程替换了旧的Web教程,使其尽可能地与其他GUI工具包的教程相似。
- 进行了大量的重组,包括将 Squish API 分离到单独的手册中。
- 编辑并改进了整个手册。
- 弃用了 TPTP 集成,转而支持基于 Eclipse 的 IDE。
- 添加了各种缺失的示例脚本文件。
- 现在 Squish 知识库公开可用,包含许多简短的条目、技巧和提示。
源代码构建
- 现在可以针对经过裁剪的 Qt 安装进行构建,这些安装禁用了
QAction
、QMenu
、QMenuBar
、QAbstractItemView
(及其子类)、QGraphicsView
或QComboBox
类。
©2024 The Qt Company Ltd. 其中包含的文档贡献是其各自拥有者的版权。
提供的文档根据 GNU 自由文档许可协议版本 1.3 的条款进行许可,该协议由自由软件基金会发布。
Qt 及其相应标志是 The Qt Company Ltd. 在芬兰和/或全球其他国家的商标。所有其他商标均为其各自拥有者的财产。