版本 4.2.0

Squish 4.2 是一个重大的新版本,包含许多新功能和错误修复。以下是该版本亮点的精选摘要——所有主要变更的详细列表在随后的章节中给出。

  • IDE 现在支持为复杂的项目视图(如表格)创建验证点。
  • 用于记录、编写和执行测试脚本的脚本语言选择已扩展到包括 Ruby——这是在 JavaScript、Perl、Python 和 Tcl 之外。
  • Windows 版 Squish 现在正确识别 WPF 控件。
  • Web 版 Squish 现在包括对网页中 SmartGWT 控件的专用支持。
  • 质量中心集成已扩展至质量中心 10 之外,包括 HP ALM 11;还进行了许多错误修复。

通用

新功能

  • Ruby 现在是受支持的脚本语言,可用于创建和重放测试。
  • 可以使用表格验证点验证整个表格。目前,这适用于 Java、macOS、Qt 和 Windows AUT。请参阅 如何创建和使用表格验证
  • 应用程序上下文 对象引入了一个新的 applicationContext.detach() 方法。此方法可用于关闭(或从以前启动或附加的应用程序断开连接)。
  • 应用程序上下文对象现在允许查询所有启动的(或附加的)进程(包括子进程)的命令行和启动时间。
  • 在命令行调用 squishrunner 时,现在可以多次指定 --reportgen 选项;这使得同时以不同格式生成多个报告文件成为可能。

重要错误修复

  • 在 Windows 上运行的 squishserver 进程的稳定性得到了显著提高。
  • 支持同时与多个应用程序交互的测试脚本的功能得到了极大的改进。这解决了记录、重放和监视过程中的各种问题。
  • 解决了 Python 脚本中断点的问题。
  • 当在 Tcl 脚本中使用时,现在支持 -encoding 选项,以匹配 Tcl 8.5 API 变化。这修复了在 Tcl 8.5 测试脚本中使用 "clock format" 命令的问题。

IDE

用户界面调整

新的 squishide 菜单和工具栏已经进行了多次调整,使其更具有逻辑性、更容易导航和使用。

以下是一个列出菜单变更的表格,包括精简后的 Squish 菜单和一个改进的 运行 菜单

旧的菜单选项新的菜单选项备注
导航 > 打开符号名这是一个新菜单选项。 点击此菜单选项使 Squish 打开对象映射并高亮显示与编辑器光标位置或选中的名称匹配的符号名。
Squish > 启动 AUT运行 > 启动 AUT
Squish > 退出 AUT运行 > 退出 AUT
Squish > 记录测试用例运行 > 记录测试用例
Squish > 记录片段运行 > 记录片段
Squish > 运行测试套件运行 > 运行测试套件
Squish > 运行测试用例运行 > 运行测试用例
Squish > 关闭测试套件文件 > 关闭测试套件
Squish > 删除测试套件文件 > 删除测试套件
Squish > 添加符号名这不再是菜单入口。 点击对象图中的符号名列表 “新建” 按钮来创建一个新的符号名。
Squish > 管理AUT编辑 > 服务器设置 > 管理AUT此菜单选项在Squish Eclipse集成中是 窗口 > 服务器设置 > 管理AUT
Squish > 检查对象存在性这不再是菜单入口。 点击对象图的 “检查存在性” 按钮以执行此检查。
首选项编辑 > 首选项在macOS上,首选项 仍然位于 应用 菜单中。

创建新测试套件” 和 “打开测试套件” 工具栏按钮已从测试套件视图中移出,并放置在顶级工具栏中。

其他更改

  • 测试套件设置视图中的AUT部分布局已重新排列,使其更易于理解和使用。
  • 检查存在性” 按钮已被移入对象图编辑器。
  • 影响squishserver的设置已被移入一个单独的专用对话框。
  • 隐藏文件不再在测试资源视图中显示。

新功能

  • 已添加对Ruby脚本语言的支持。
  • 对象图编辑器中引入了一个新的过滤对话框,极大地简化了真实(多属性)名的编辑。
  • 现在可以创建和编辑表格验证点,以及显示两个表之间的差异,如果比较失败。
  • 工具栏中新增了两个工具栏按钮,用于简化创建和打开测试套件。
  • 使用“启动器应用程序”概念的测试应用已被大大简化。这使得配置iOS和Java WebStart测试套件更容易。
  • 新增了一个设置,可用于指定在测试记录或执行时IDE窗口是否应保持可见。
  • 菜单栏和测试脚本编辑器的上下文菜单中新增了“打开符号名”选项,如果光标在符号名上,则打开带有相关突出显示的符号名对象图。
  • 现在可以通过指定相关测试套件的目录或测试套件的 suite.conf 文件作为 squishide 命令的参数来从命令行打开测试套件。
  • 现在可以在测试用例、测试脚本和共享脚本过滤器之间拖放测试脚本、测试数据文件和验证点文件。
  • 测试摘要视图中新增了“清除”选项。
  • 可以将更多IDE操作与键盘快捷键关联。
  • 可以使用主题配置自定义用于测试结果视图中失败的、警告的和通过的字体的颜色。

重要错误修复

  • XML结果文件中测试用例的顺序以及在加载旧测试结果时现在正确无误。
  • 已修复在应用程序对象属性视图中显示的对象与AUT当前状态不一致的情况。
  • 已修复导致IDE在文件不再使用后继续打开文件的手柄泄露。
  • 已修复导致“导入测试资源”向导对于Squish新安装为空的问题。
  • 异常截图验证点现在可以优雅地处理。
  • 使用网络挂载或慢速文件系统时,各种目录相关对话框(新建/打开测试套件、选择Squish目录)的性能得到了大幅提升。
  • 已解决在verificationPoint目录的子目录中存储的校验点文件的各类问题。
  • 修复了一个问题,即使没有进行此类外部更改,也会出现文件已在外部更改的通知。
  • 已修复一个 bug,当应用名称包含空格时,会导致记录的 ApplicationContext startApplication(autName) 语句格式错误。
  • 为测试套件设置中使用主类设置的Java应用程序录制测试。
  • 当将Squish插件集成到Eclipse并启动非Squish应用程序时,控制栏不再显示。
  • 在某些情况下,测试套件设置中环境变量部分的条目被错误地重复了。此问题已解决。
  • 在尝试更改测试套件设置中环境变量的现有密钥时出现的问题已被解决。
  • 验证点编辑器不再与非ASCII字符存在问题。
  • 修复了使用'单步执行'功能后无法在断点处停止的问题。
  • 现在可以为包含特定字符(如&<>)的测试用例和测试套件生成测试结果文件,正常工作。

Qt特定的

新功能

  • 现在支持Qt 4.8。
  • 现在可以在不修改宿主应用程序的情况下在Windows上测试Qt子应用程序。
  • QML对象现在公开了'id'属性,这是Squish识别它们的默认方式。
  • 现在可以在QWebViewQDeclarativeWebViewQGraphicsWebView小部件上使用clearObjectCache()函数。
  • 现在可以在QGraphicsWebViewQDeclarativeWebView小部件上使用loadUrl(url)Object evalJS(browserTab, code)函数。

重要错误修复

  • QWebKit小部件上录制操作不再导致每个操作被重复记录两次。
  • Squish不再覆盖QApplication对象的desktopSettingsAware属性,因此AUT现在总是以它们的正确调色板运行。
  • 修复了在QGraphicsView对象上点击未含有项目位置时的鼠标点击记录。
  • 提高了使用QWebView但未链接到QDeclarative库的应用程序的支持。
  • 对标记为无内容的QML元素(即在屏幕上未绘制的元素)的操作不再记录。
  • 修复了当应用程序使用它们自己的调色板时,Spy提示(在挑选对象时)中的问题。
  • QGraphicsWebView对象现在在Spy中正确显示,这些对象包含在QGraphicsView小部件中。

Java特定的

新功能

  • Squish现在支持使用多个Display实例的SWT应用程序。
  • 现在支持嵌入到RCP应用程序中的网页(即帮助查看器)。
  • SWT ToolItem对象新增了一个'tooltiptext'属性。
  • Squish for Java现在支持AIX平台。

重要错误修复

针对 Web 特定

新功能

重要错误修复

  • Web 元素的屏幕坐标(包括大小)的计算有了很大改进,这使得在 Web 测试中使用屏幕截图验证点变得更加容易。
  • `scrollTo(objectOrName, top)` 函数现在对于具有自己的滚动条(以及类似情况,例如标签控件、纯 HTML '窗口' 等)的元素正常工作。
  • 现在对象查找(和选择)在包含特殊字符(如 `\n` 或 `\r`)的 'alt' 属性的图像上工作。
  • 现在正确地调用在通过使用 `nativeType(keys)` 函数(例如,通过输入 `<Alt+F4>`)关闭浏览器窗口之后)调用 `loadUrl(url)` 函数。
  • 解决了创建 macOS 狮子上的屏幕截图验证点时出现问题的问题。
  • 现在 GWT 支持可以与最近的 GWT 版本正常工作。
  • `typeText(objectOrName, text)` 函数现在与 Internet Explorer 8 及更高版本正常工作。
  • 解决了使列出 itemview 子项非常缓慢的错误。
  • 为 itemview 项生成对象名称已优化。
  • 与文件上传表单元素交互现在重放得更可靠。

针对 Windows (本地) 特定

新功能

  • 添加了对 WPF 工具包的支持。
  • 添加了对在 Visual Basic 6 应用程序中识别标签的支持。

重要错误修复

  • 使用正则表达式查找 MFC 列表框项现在正常工作。
  • 按“Windows”键现在正确记录和重放。
  • .NET 控件被禁用或隐藏时,重新播放操作不再静默成功;而是抛出异常(符合预期)。
  • 修复了在显示与主窗口不同线程的启动屏幕的 Windows Forms 应用程序中自动化的问题。
  • 如果 Squish 安装在包含 100 个以上字符的路径上,现在可以正常自动化 Exontrol、Infragistics 或通用 ActiveX 控件。
  • 修复了一个问题,该问题发生在使用嵌套属性执行对象查找时(例如,{type='List' nativeObject.Items.Count='50'})。
  • 修复了使用 text 属性识别某些对象时测试执行可能大幅减慢的问题。
  • 在有些情况下,未尊重 'Extra Windows' 设置;此问题已修复。

macOS 专用(Cocoa/Carbon 版本)

新功能

  • 现在,nativeType(keys) 函数可以接受如 <Ctrl+F2> 这样的键组合。

重要错误修复

  • 在睡眠模式下,现在可以唤醒显示设备以重新播放测试。
  • 已解决与 QImage grabWidget(object) 函数相关的各种稳定性问题。
  • 修复了一个当重新播放菜单交互时导致自动测试对象(AUT)卡住的问题。
  • 在 macOS 10.7(“雪豹”)上现在可以正确地截图。
  • 即使在另一个窗口前有完全透明的窗口,现在也可以选择对象(透明的窗口会被忽略)。
  • 现在正确地记录和重新播放回车键的按击操作。

iOS 专用(iPhone/iPad 版本)

其他更改

  • 将用于设备测试的包装库从动态库更改为静态库。这样做是为了使整个设置更容易,并且错误率更低(特别是动态库的附加签名步骤造成了很多问题,现在不再需要)。

    如果在使用 Squish 的 4.2 版本之前已经使用设备测试,请注意,您必须首先撤销 Xcode 项目的更改,并按照 在 iPhone 或 iPad 上测试 iOS 应用的注意事项 中的步骤操作。

    撤销更改意味着您必须从项目中删除 libsquishcocoatouchwrapper.dylib 并从项目设置中的 其他代码签名标志 选项中删除它。您还应从 Xcode 项目中删除 macbuiltinhook.h。然后您就准备好为 Squish 4.2 进行必要的更改了。

新功能

  • 添加了对 iOS 5 的支持。
  • 引入 iOS 作为其自己的测试套件类型。这意味着您不再需要创建 Mac 测试套件并将 iphonelauncher 实用程序用作 AUT。如果您有一个 iOS 测试套件,您可以直接指定为 AUT 运行在模拟器中的 iOS 应用程序。

    您现有的测试套件将继续工作。但是,在创建新的测试套件时,您应该开始使用 iOS 测试类型。

    如果您想将现有的测试套件转换为新的测试类型,您可以在文本编辑器中打开测试套件的 suite.conf 并将 WRAPPERS=Mac 这一行更改为 WRAPPERS=iOS。然后您可以在 squishide 中打开测试套件,并将 Applicationiphonelauncher 更改为您的 iOS 应用程序。如果您指定了除您的 iOS 应用程序之外的任何 Arguments,您必须将它们移到 Launcher Arguments 行编辑中。您还应该从 Arguments 行编辑中删除您的 iOS 应用的路径(条目应为空)。

重要错误修复

Tk 特定

新功能

  • 添加了一个运行时配置设置,用于启用或禁用 TkInter 名称生成。

重要错误修复

  • 修复了一个在 Unix 系统上使无法禁用 Tk 应用程序子进程应用程序挂钩的问题。

Quality Center 特定

新功能

  • 现在支持 Quality Center 11。
  • 现在将由 FAIL 或 FATAL 结果生成的屏幕截图附加到测试运行中。

重要错误修复

  • 现在,qcimporter 实用程序允许导入名称中包含空白的测试用例。
  • 修复了一个在 Quality Center 内部执行 Squish 测试时,导致测试状态错误的问题。
  • 如果插件无法启动 squishrunner,将在 Quality Center 中记录适当的测试结果。
  • 解决了在某些情况下,结果查看器显示较旧测试运行的输出(而不是所选运行)的问题。

源代码包

重要错误修复

  • 现在可以在 macOS 上使用 Xcode 4.2 编译源代码包。

文档

新功能

  • 已添加示例的 Ruby 版本。

重要错误修复

  • Throughout 已进行了小小的改进和补充。
  • 从零开始重写了 Quality Center 插件的文档,现在反映了当前状态并讨论了最新版本的 Quality Center。

©2024 The Qt Company Ltd. 本文档中的贡献属于各自所有者的版权。
本提供的文档根据 Free Software Foundation 发布的 GNU 自由文档许可协议版本 1.3 的条款获得许可。
Qt 和相应的标志是芬兰及/或其他国家/地区的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。