版本 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应用程序的dragItemmouseDrag功能时的起始点。
  • 添加了对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.confirmprompt调用按钮的问题。
  • 修复了大型属性值的编码。
  • 修复了拾取普通图像和其他普通元素的问题。
  • 修复了在专用函数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_xwin_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属性作为标识属性,如果存在,则用于自动名称生成。
  • 修复了在UITextFieldUITextView对象中,如果光标不在文本末尾处,则处理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 安装进行构建,这些安装禁用了 QActionQMenuQMenuBarQAbstractItemView(及其子类)、QGraphicsViewQComboBox 类。

©2024 The Qt Company Ltd. 其中包含的文档贡献是其各自拥有者的版权。
提供的文档根据 GNU 自由文档许可协议版本 1.3 的条款进行许可,该协议由自由软件基金会发布。
Qt 及其相应标志是 The Qt Company Ltd. 在芬兰和/或全球其他国家的商标。所有其他商标均为其各自拥有者的财产。