首页 > 资讯 > 科技 > 正文
2024-02-26 00:29

Squish 7.2新版本发布:改进截图验证

本文翻译自:Qt for and much more with 7.2

原作者:Qt集团研发经理

校对:蒋乔伊斯

我们非常高兴推出 GUI 7.2,它集成了令人兴奋的新功能,作为跨平台 GUI 应用程序自动化测试的终极质量保证工具。 此版本旨在将您的自动化测试工作提升到一个新的水平。

接下来,我们将介绍此版本中的最新改进。

观看我们的 7.2 版本概述视频

下面是一个 5 分钟的视频,将向您概述 7.2 带来的主要功能。

对于 Qt

Qt支持

Qt for / 已经发布一段时间了,越来越多的用户正在寻找一种测试方法来验证他们基于 Qt 的应用程序不仅可以在桌面或嵌入式系统上运行,而且可以在平台上运行。 有些应用程序甚至是专门为该平台构建的。

for Qt 支持测试在浏览器中运行的基于 Qt 的应用程序,并且适用于 Qt 6.4 和 Qt 6.5。 一旦使用 Web 标准设置通过受支持的浏览器执行被测应用程序,它将显示为专用应用程序进程上下文。

我们完全支持交互式操作的记录和回放,同时提供我们在其他平台上自动化基于 Qt 的应用程序时始终支持的相同自省功能。 由于 Qt for Web 使用一种称为 DOM 的技术来实现在浏览器中的集成,因此最近添加的对 Web 的 DOM 支持将有助于与周围网站交互的应用程序。

包含并扩展在源代码中

平台架构限制应用程序对其他应用程序窗口或整个桌面的访问。 这会影响截取整个桌面的屏幕截图、在屏幕上移动 AUT 窗口以及模拟低级/本机级交互的能力。

现在,我们在源包中包含了自定义扩展,并通过将它们包含在构建系统中来简化构建过程。 这一改进对于嵌入式系统的用户来说非常有利。 鉴于其在这些系统中的普遍存在,这一改进将极大地帮助他们的测试和自动化流程。 除了包含代码本身之外,我们还扩展了文档,以提供有关如何安装和使用这些扩展来截取桌面屏幕截图、模拟本机点击和键盘输入等的所有必要信息。

对于Java

支持SWT缩放

SWT 中的 Scale 小部件是传统用户界面中常见的多功能组件。 它允许用户选择视频中的播放位置,并在特定范围内进行视觉输入选择。

下图是 SWT Scale 控件的示意图:

然而,以前对此类控件的支持仅限于单击和拖动操作,这些操作可能不精确,并且在播放期间需要精确的值。

7.2 引入了对使用也用于滚动条控件或数字显示框的函数为 SWT Scale 控件设置特定值的支持。 指定的数字直接传递到 Scale 控件,该控件相应地调整滑块中选择的值,从而允许测试脚本更精确地控制该值。

改进Java/

Java 的用户体验得到了改善,用户不再需要手动指定用于测试应用程序的确切 Java 运行时环境。 到目前为止,这一要求带来了一些挑战,因为 for Java 需要完全匹配所选的 Java 运行时环境,特别是考虑到 for Java 的某些组件直接在应用程序进程内运行。 以前的验证措施无法涵盖所有​​可能的组合,也无法检测新的架构,例如基于 ARM 系统的 Java 运行时环境。

为了解决这些限制,我们对安装程序的检测逻辑进行了完整的重构。 这一改进使得能够发现更广泛的不兼容问题,确保与未来平台的兼容性。 此外,我们还改进了错误报告和工具提示,为用户提供明确的指导,帮助他们找到可能遇到的任何设置问题的最佳解决方案。

编写脚本并调试测试

测试。

中的屏幕截图比较功能非常灵活,同样基于对象识别原理,可以将单个对象的渲染图像与特定的基准图像进行比较。 可以通过多种方式配置此比较过程,以适应现代系统或动态变化部件中的渲染差异。 当前对实际对象进行屏幕截图的方式是不可配置的,而是由应用程序运行的平台、运行的版本以及可能的对象类型决定。

我们引入了一个新的功能test.,与test类似。 功能。 该函数对验证点文件进行屏幕截图以提供预期的图像,同时提供任何其他比较配置,允许灵活的比较方法。 对于实际图像,即需要与之比较的对象的渲染图像,可以指定第二个参数,该参数可以是磁盘上常见的图像格式(例如png、jpg、bmp)或图像对象。 test. 将使用验证点中指定的所有正常比较选项,将验证点文件中存储的预期图像与通过第二个参数提供的实际图像进行比较。 失败或通过的报告方法与test.vp函数一致。

应用程序上下文的调试器自省

提供对有关应用程序作为对象的一些基本信息的访问,例如进程标识符、启动该应用程序的命令行,甚至有关所用内存的一般信息。 不过这些信息在IDE中不容易显示出来,必须通过IDE窗口中的脚本代码来查询。 这可能非常麻烦并且与其他独特类型不一致。

在7.2版本中,对象的不同属性可以显示在IDE的视图中。 这意味着任何引用对象的脚本变量都可以显示在变量视图中,并且所有属性和属性值都会显示出来。 因此,现在可以更轻松地调试测试脚本并观察应用程序中不同点的内存使用情况。 该功能目前仅限于 和 语言,我们计划在未来版本中添加对其他脚本语言的支持。

添加在新功能中显示

为编写自动化测试脚本找到正确的对象名称可能是一个相当大的挑战:名称需要足够具体,以便可以识别正确的对象,但同时,当应用程序界面发生微小变化时,它们需要足够通用或改变。 更改,例如当文件名包含在窗口标题中时仍然可以查找对象。 已提供函数来帮助您完成此任务。 例如,您可以使用地图中的“检查”按钮来验证修改后的对象名称是否仍然可以找到该对象。 然而,即使找到与给定名称匹配的对象,也不意味着它是正确的对象。 要验证这一点,您需要运行测试或使用内置脚本控制台。

现在,一个名为“Show in”的新按钮已添加到视图中。 单击此按钮,IDE 将在所有正在运行和连接的应用程序中查找选定的对象名称。 当找到与该名称匹配的对象时,该对象将显示在视图中。 视图支持以与用户选择对象相同的方式查看对象。 用户可以使用所有常用的应用程序测试 (AUT) 检测功能来查看找到的对象,例如在应用程序窗口中突出显示对象或在视图中查看各个属性值。

现在,一个名为“Show in”的新按钮已添加到视图中。 单击此按钮,IDE 将在所有正在运行和连接的应用程序中查找选定的对象名称。 当找到与该名称匹配的对象时,该对象将显示在视图中。 视图支持以与用户选择对象相同的方式查看对象。 用户可以使用所有常用的应用程序测试 (AUT) 检测功能来查看找到的对象,例如在应用程序窗口中突出显示对象或在视图中查看各个属性值。

开发体验改进

JUnit 报告包含跳过的测试用例

允许以各种方式显示测试执行结果或跳过的测试,包括命令行选项、test.skip 脚本函数或 BDD 中的隐式行为。 此信息在分析测试结果时可能会有所帮助。 自推出以来,BDD 在其主要 XML3 报告格式中包含了有关跳过的步骤、测试用例和部分的详细信息。 然而,JUnit 报告缺少此信息,导致在将测试结果与基于 JUnit 格式的工具集成时出现差距。 此问题现已得到改进,在 Junit 格式报告中包含相应信息,详细说明跳过测试用例、部分或步骤(如果需要)的原因。

浏览器检测

for Web 中的检测逻辑已扩展为考虑用户在不同操作系统上对默认浏览器的选择,而不是根据平台和版本来选择默认浏览器。 此更改旨在改进新用户的默认选择,同时确保在使用不同浏览器时可以根据需要配置测试。 这将确保用户每天使用且不断更新的浏览器是首选浏览器。

改进离线文档

该团队最近将其文档管理系统从 qdoc 格式转换为 qdoc 格式。 由于技术原因,这导致二进制包中生成的 HTML 文档出现回归。 其整体风格不再与网络版一致,并且不再支持搜索功能。 现在这两点都已经解决了,离线文档风格与在线版本一致,并且集成了离线时也可以在本地搜索的搜索功能。

深圳市优飞迪科技有限公司成立于2010年,是一家专注于产品开发平台解决方案和物联网技术开发的国家高新技术企业。

十多年来,用飞迪科技在数字孪生、工业软件特别是仿真技术、物联网技术开发等领域积累了丰富的经验,并在这些领域拥有数十项自主知识产权。 同时,用飞迪科技还与国际国内各大领先工业软件厂商建立了战略合作伙伴关系,为客户提供完整的产品开发平台解决方案。

用飞迪科技技术团队实力雄厚。 其主要成员均来自国内外顶尖大学,拥有丰富的相关领域工作经验。 他们可以为客户提供“全心全意的U+端到端服务”。