版本 6.2

Squish 6.2 是一个功能发布版本,向产品的所有版本提供了新功能。

显著特性包括:

  • 现在可以随机执行测试案例,这有助于发现测试案例之间的未预期依赖关系,同时增加测试覆盖率。通过命令行传递新的 --random 选项即可启用随机测试执行。有关更多信息,请参阅squishrunner –testsuite: 以批处理模式运行测试
  • Squish 现在支持将标签分配给测试案例,这是可以使用来自定义文本选择所有测试子集以执行。可以通过 squishide 查看和编辑标签,并通过使用命令行的 --tags 选择。有关如何包括或排除特定执行测试案例的详细信息,请参阅squishrunner –testsuite: 以批处理模式运行测试部分。
  • 引入了一个新的RemoteSystem 对象 API,允许执行文件系统访问(例如,读取和写入文件),以及远程执行命令,即使在没有在远程系统上运行 AUT 的情况下。
  • 新引入的函数 attachToBrowser(portOrWindowTitle) 现在允许附加到由 Squish 没有启动的运行中的浏览器实例。这包括测试用户界面(其中用户界面的部分以由单独的浏览器进程显示的网页形式呈现)。有关如何使用本功能的更多信息,请参阅附加到正在运行的 Web 浏览器

此外,还为 Squish 版本应用了许多功能和错误修复;请参阅以下部分,以查看所有更改的详细列表。

有关 Squish 6.2.0 发布后发现的显著问题的列表,请参阅 froglogic 知识库中的已知问题页面

通用

  • 提高了 Web 浏览器中 HTML 报告的加载速度。
  • 修复了 nativeType(keys) 函数中的问题,该问题导致 macOS 上的特殊键与修饰符的组合按键失效。
  • 修复了 squishserver 不稳定的问题,导致测试结束时崩溃。
  • 现在可以通过 config.xml 文件初始化 testSettings 对象 的属性。

squishide 特定

  • 支持通过元数据视图/编辑器为脚本测试案例打标签。
  • 支持对象映射编辑器中的 Replace Realname,使用从脚本文件或其他文本文档中复制的真实姓名,而不是从对象映射编辑器的其他条目中复制。
  • 修复了在测试数据编辑器中某些操作在没有任何单元格被选中时被启用,并且无法正常工作的一个问题。
  • 修复了导致当错误消息很长时 Object-Lookup-Error 对话框自动调整大小,使其变得很大的一个问题。
  • 在不安装 Squish 专门的编辑器支持插件的情况下,通过 Eclipse IDE 集成录制基本测试脚本。
  • 通过按住 Ctrl 键并单击测试脚本中的符号名称,可以从符号名称跳转到该名称的对象映射编辑器条目。
  • 支持将任何文件从测试用例移动到测试套件 testdata 文件夹,即使这些文件不匹配已知的测试数据文件类型(csvtsvxls)。
  • 修复了在Tcl脚本中当自动完成的行为空时的问题。
  • 在将剪贴板中的realnames粘贴到对象映射编辑器或从应用程序对象视图复制时显示解析错误。
  • 为新创建的Python脚本文件添加UTF-8标记,以强调Squish脚本文件预期编码为UTF-8。
  • 在控制栏中完整显示多行日志语句。
  • 解决了在对象映射编辑器中编辑选定的符号名时,复制所选符号名部分的问题。
  • 修复了从测试脚本打开的符号名无法正确显示在对象管理器中,当之前使用过滤器搜索名称时的问题。
  • 修复了在记录过程中,当Boolean test.vp(name)语句是Boolean waitFor(condition)结构的一部分时可能出现的问题。
  • 即使AUT是可附加的,也将在Select AUT对话框中保留所选的AUT。
  • 修复了在Tcl中为嵌套属性创建脚本验证导致生成无效Tcl代码的问题。
  • 修复了在Linux上加载包含名称空格的套件时,Test Suite组合框显示渲染不正确的文本的问题。
  • 为了允许更容易地重新部署到同一设备,保留最后使用的设备来部署Android AUT。
  • 修复了Ruby测试脚本有时会混合缩进的问题,将默认值设置为四个空格。
  • 修复了在记录BDD步骤实现后没有添加空行的问题。
  • 支持使用表格列标题对应用程序对象和属性视图进行排序。初始排序由AUT顺序定义,单击标题将按字母顺序升序排序,再次单击它将切换到降序(属性视图始终按字母顺序排序)。
  • 改进了创建验证点时遇到错误的报告。
  • 为从Test Cases列表运行当前选定的测试用例提供默认键盘快捷键(Ctrl+R)。
  • 添加到当前打开的编辑器所属的测试用例运行的上下文菜单项,包括用于触发动作的键盘快捷键(Ctrl+Shift+E)。
  • 修复了读取XML结果时的性能问题,导致某些系统在测试用例执行结束后出现滞后。
  • 改进了Debug视图中默认布局,使Debug视图占用更少的空间。
  • 不允许关闭Debug视图,因为它对于Step IntoContinue等动作正常工作至关重要。
  • 在升级时要求重置Debug视角以解决“缺少Debug视图”问题。
  • 不允许指定测试结果文件夹的非可写目录。
  • 提高了加载大型对象映射文件时对象映射编辑器的性能。
  • 修复了将XML2结果加载到squishide中时的问题,其中验证点名称包含空格,导致诸如View Differences等操作无法正常工作。
  • 修复了在对象映射编辑器中的实名字符编辑区域切换不同符号名时启用按钮的问题。
  • 通过Recent Test Results组合框支持加载不遵循Squish默认生成方案的测试结果目录。
  • Application Objects视图的Save Object Snapshot功能现在对建议输出文件名做了更好的工作。

脚本

  • 现在正确地将用在步骤表格参数中的场景轮廓占位符替换为其特定值。
  • 新增了RemoteSystem 对象,允许远程文件系统访问以及命令执行。
  • createVisualVP(objectNameOrReference, vpFile)函数现在省略不可见元素。这使其与Boolean test.vp(name)的行为保持一致,因此避免了不必要的测试失败。
  • 当与AUT通信时遇到超时问题,会立即终止测试执行,而不是引发脚本异常来修复由之前对Object waitForObject(objectOrName)和相关函数所做的更改造成的回归。
  • 正确处理由访问不属于当前应用程序上下文的对象属性导致的脚本错误。
  • Python BDD:在步骤定义中使用正则表达式模式(即,在使用regexp=True参数时)支持UTF-8。
  • squishrunner不再无限期地等待从测试脚本启动的背景进程。
  • 现在可以通过可选的第二个参数将初始值传递给string testInteraction.input(message, initialText)
  • 修复了在通过squishtest模块访问Squish API的独立Python脚本中调用Boolean test.vp(name)函数时可能触发的崩溃。

Qt特定

  • 仅限macOS:修复了菜单项有时不能激活的回归。
  • 仅限macOS:修复了当运行测试的用户不是显示器所有者,而是通过快速用户切换登录的不同用户时,菜单激活问题。
  • 现在可以用对象名称再次调用mousePress()/mouseMove(x, y)/mouseRelease()
  • 修复了一个问题,在嵌入Web视图的Qt应用程序中,当使用null值访问HTML对象属性时导致脚本错误。
  • startaut现在支持一个新的--cwd,可以用来定义AUT的工作目录。
  • 修复了针对QtQuick Web视图的mouseClick(objectOrName, x, y, modifierState, button)语句重复记录的问题。
  • 支持访问QML列表属性。
  • 支持从Qt 5.7 onwards禁用原生对话框。

Java特定

  • 修复了type(objectOrName, text)函数中导致其在Swing表格单元格中输入某些字符时失败的问题。
  • 与对象名中的parentItem/leftWidget/aboveWidget属性相关的性能回归问题已修复,使用这些属性之一的名称进行查找的对象查找现在应该要快得多。
  • 添加了对JavaFX SubScene控件的支持。
  • mouseClick(objectOrName)函数现在可以正确地将JTable单元格滚动到视图中。
  • 修复了与JList项相关的回归问题。
  • 修复了SWT/GTK对SWT版本新于4.4以及GTK2的使用支持。
  • 针对大型表格,对表格验证点的执行进行了大量优化。

Web特定

  • 引入了一个新的脚本函数attachToBrowser(portOrWindowTitle),可以用来连接到一个尚未被Squish/Web启动的浏览器实例(适用于Microsoft Internet Explorer、Safari、Firefox和Chrome)。
  • 修复了导致在访问已关闭标签属性时使webhook进程崩溃的问题。
  • 修复了在使用Microsoft Internet Explorer检索DOCUMENT对象失败时,在webhook程序中出现的稳定性问题。
  • 修复了iOS 8.2及更高版本上的触摸事件发送问题。
  • 修复了在设备测试中,录制或回放结束时浏览器无法正确重置的问题,因此后续测试运行/录制无法进行。
  • 在Firefox进程被迫终止时强制禁用安全模式对话框。
  • 修复了阻止Flex功能在Squish for Web的macOS版本中可用的打包问题。
  • 默认启用通过子进程挂钩,修复了Java Web-Start从浏览器中的回归问题。

Windows(本地)特定

  • 在选择对象时,不再显示工具提示 - 它提供的额外价值很少,但在某些情况下会极大地减慢对象选择。
  • 通过nativeObject属性,现在通过UIA暴露的Microsoft UI Automation(UIA)控件具有所有属性。

macOS特定(Cocoa/Carbon版)

  • 修复了使用绑定设置其数据时的NSOutlineView中空单元格访问问题。
  • 通过强制执行在截图时使用白色背景,使得带圆角边框或透明窗口的窗口截图更加稳定,其中背景是可见的。
  • startaut现在支持一个新的--cwd,可以用来定义AUT的工作目录。

iOS特定(iPhone/iPad版)

  • 修复了iOS 9和iOS 10上的文本输入录制问题。
  • 修复了iOS 10上的创建和执行测试。
  • 修复了使用NativeScript框架编写的应用测试时的崩溃问题。

Android特定

  • 修复了在不安装libc++的情况下,在64位Linux系统上进行仪器化和部署的问题。
  • 修复了在具有多个设备可用时,执行ApplicationContext startApplication(autName)函数时偶尔出现的错误。
  • 修复了在某些情况下,执行几个测试后需要重新启动adb程序的问题。
  • 修复了使用最近的Chrome更新中的WebView重放clickLink(objectOrName)语句的问题。

Tk特定

  • startaut现在支持一个新的--cwd,可以用来定义AUT的工作目录。

源包

  • Squish Classic IDE已被移除。
  • 现在构建Squish Tools(运行器,IDE工具)需要Qt 4.2或更高版本

平台支持

  • 预先通知基于Unix的操作系统的AIX和Solaris用户:从下一个Squish版本开始,可能只能以远程测试的形式为这些平台提供支持。这是由于squishrunner和squishide所采用的框架支持的减少。例如,还可以参见Eclipse项目的此已弃用平台公告

©2024 The Qt Company Ltd. 本文档中包含的文档贡献是各自所有者的版权。
本提供的文档是根据Free Software Foundation发布的GNU自由文档许可证版本1.3的条款进行许可的。
Qt及其它商标是芬兰的The Qt Company Ltd.和/或世界其他国家的商标。所有其他商标均归其所有者所有。