版本 6.5
Squish 6.5 是一个功能发布,向所有产品版本交付新功能。
此外,自 Squish 6.4 以来,大量功能和错误修复已应用于 Squish 的各个版本;请参阅以下部分,以获取所有更改的详细列表。
平台支持
为了改善对高DPI设置和现代操作系统(如Windows 10)的支持,Squish的几个内部组件进行了更新,从而导致Squish发布版本的二进制软件包集发生了变化。
请注意,由Squish先前版本支持的任何平台,测试应用程序都可以继续工作。以下更改仅适用于某些客户端组件
- 由于需求不足,不再提供macOS的32位软件包。想要以32位二进制形式执行Squish客户端工具的客户可以遵循快速安装指南以本地构建相关组件。
- 类似地,Squish 6.5的二进制软件包现在也不再支持Windows XP。需要在该操作系统上运行squishrunner的客户可以遵循快速安装指南来使用Qt 4编译客户端程序。
- Squish的客户端工具以及
squishide
不再支持AIX或Solaris。要继续在这些平台上测试应用程序,请参阅分布式测试部分,了解如何运行远程测试。 - 《Squish for Qt》版的发布不再包含为使用Visual Studio 6、Visual Studio 2003或Visual Studio 2005构建的Qt应用程序测试而构建的二进制软件包。请参阅快速安装指南,了解如何使用这些编译器手动编译Squish的相关组件。
通用
- Squish现在支持使用可从中选择的一些引擎进行OCR。tesseract引擎需要安装我们下载中心可用的附加软件包。
- 现在,在Windows上安装Squish可能会建议重启系统以使有关记录精度的某些配置更改生效。
- 现在,squishserver的
daemon
选项支持指定一个日志文件来写入任何输出。 - 视觉验证点现在支持为屏幕截图指定遮罩矩形。VisualVP编辑实用工具增加了对这些图像遮罩的创建和编辑功能。
squishide
特定
- 现在,
squishide
需要Windows Vista、RHEL 6.5或macOS 10.10才能运行。Solaris和AIX不再支持运行IDE(但仍可通过远程测试支持)。 - 现在,
squishide
支持记录和调试新的OCR脚本API函数。 - 缩短了主窗口的标题,删除了冗余信息。
- 修复了在编辑BDD测试用例时显示错误的虚假警告,声称找不到匹配的步骤定义。
- 修复了打开测试套件时显示错误消息的问题。
squishide
现在将更加努力地验证配置的squishserver实例是否可访问。在创建新的测试套件、启动AUT或运行/记录测试之前将检查连接。如果无法连接到squishserver,将显示诊断消息。
脚本
- 修复了在标准Python解释器(通过
squishtest
Python模块)执行脚本时,导致测试意外终止的问题的ScreenRectangle findImage(imageFile, [parameterMap], [searchRegion])和ScreenRectangle waitForImage(imageFile, [parameterMap], [searchRegion])函数中的问题。 - 修复了Tcl解释器中的问题,导致将Squish对象传递给例如
test pass
等操作时无法正常工作。 - 在
squishtest
Python模块中引入了新的setDebugFlags
函数,可以用来启用更多详细的日志记录。 - 现在,当在Windows上运行测试时,nativeType(keys)函数可以像预期的那样回放包含字母和
Ctrl
键的组合键。 - 引入了String getOcrText([parameterMap], [searchRegion])、ScreenRectangle findOcrText(text, [parameterMap], [searchRegion])、ScreenRectangle waitForOcrText(text, [parameterMap], [searchRegion])和SequenceOfObjects findAllOcrText(text, [parameterMap], [searchRegion])脚本API功能,允许查询桌面截图OCR的结果。
- 引入了Boolean test.imagePresent(imageFile, [parameterMap], [searchRegion])和Boolean test.ocrTextPresent(text, [parameterMap], [searchRegion]),以便在不添加额外样板脚本代码的情况下进行图像搜索和OCR验证。
- OCR和图像搜索脚本API现在支持将搜索区域限制为特定区域。
- 引入了
函数来将文件附加到测试报告中。 - 引入了test.attachDesktopScreenshot(message)函数来将桌面截图附加到测试报告中。
- 添加了对类似
var [a, b] = [10, 20];
的JavaScript数组解构的支持。 - 将
includes()
、startsWith()
和endsWith()
函数添加到JavaScriptString
对象中。 - 使用原生JavaScript类型作为类属性。让Java的JavaArray.text属性成为一个更便捷的
String
对象。 - 修复了xmljunit和junit报告中时间属性中的舍入错误。
- 禁用了xmljunit报告中的时间格式化。现在时间始终使用
.
作为小数分隔符。 - 修复了Perl中Application Context对象的内存泄露问题。
- Perl中的事件处理器内部的错误现在在测试结果中正确记录。
- 为了与Boolean test.xverify(condition)和Boolean test.xcompare(value1, value2)保持一致,添加了Boolean test.xvp(name)。
- 将Boolean test.compareJSONFiles(expectedFilePath, actualFilePath)函数添加到Ruby和Perl。
- 添加了testSettings.breakOnFailure属性,以便能够调试失败的验证。
- 现在
、 函数正确报告拖拽过程中可能发生的 AUT 崩溃。 - 修复了SequenceOfObjects findAllObjects(objectName)中导致在特定情况下异常终止测试执行的问题。
Qt-specific
- 在QtQuick场景中修复了gesture(objectOrName, touches)记录的顺序问题。
- 修复了macOS中使用Qt 5.12的桌面菜单栏的记录动作问题。
- 引入了对Qt3D(从Qt 5.11.2)和Qt3D Studio场景(从Qt 5.12)的基本支持。
- 在Windows上选择Qt控件时修复了Ctrl+Click的行为。
QQmlContext::resolvedUrl()
现在可以从测试脚本中调用。- 修复了从
控制栏中使用 停止记录时QtQuick 2记录不完整的问题。 - 添加了对基于触摸的
Flickable
对象的记录支持。 - 添加了对基于QtQuick的AUT中键盘快捷键的记录/重播支持。
- 修复了当使用 Qt 5.12 或更高版本时,QtQuick
WebEngineView
控件中 HTML 组件无法正确检测的问题。
Java-specific
- 修复了SequenceOfObjects findAllObjects(objectName) 函数中的缺陷,导致返回的数组有时缺少一个对象。
Web-specific
- 增加了对自动化 Safari 12 及更高版本的兼容性。请参见 在 macOS 10.13 或更高版本的 Safari 12 或更新的 Safari 上的配置说明。
- 改进了所有 Squish for web 函数的错误检测。
Windows (native)-specific
- 改进了对模板 WPF 控件中 TextBlocks 的识别。
- 引入了新的 chooseFile(path) 函数,可以便携式地自动化原生 Windows 文件对话框。
- 当使用 WPF 滑块时,setValue(objectOrName, integer) 现在接受小数值。
- 通过 UIAutomation 访问按钮控件时,添加了
checked
属性。 - 提高了获取 MFC 滚动条边界矩形的代码的鲁棒性。
- 修复了 ApplicationContext.commandLine 返回值的缺陷,使其能正确地返回 AUT 的命令行。
- 修复了与 MFC 工具栏控件交互时,导致测试在某些情况下中止的 bug。
- 修复了在某些情况下,启用了鼠标光标动画后,mouseDrag(objectOrName, dx, dy) 和 dragAndDrop(source_objectOrName, target_objectOrName) 无法正确重新播放的间歇性问题。
macOS-specific (Cocoa/Carbon edition)
- 选择器工具提示现在在 macOS 上的暗黑模式下工作正常 - 它不再显示浅色文本在浅色背景上。
iOS-specific (iPhone/iPad edition)
- 修复了当 Xcode 安装已重命名时,
iphonelauncher
不列出任何设备的问题。 - 添加了向 AUT 传递命令行参数的能力。
源代码包
- 如果
qmake
在PATH
中找到,现在将自动检测 Qt 4/5。 - 使用 Qt 3 的构建可能现在需要向配置程序传递
with-qtdir
选项。 - 使用 Qt 5 的构建要么需要在
PATH
中有qmake
,要么需要向配置程序传递with-qmake
。 - 增加了对包含编译器参数的
CXX
环境变量的支持。
已知问题
有关发现 Squish 6.5 发布后的一些值得注意的问题的列表,请参阅 froglogic 知识库中的 已知问题页面。
©2024 The Qt Company Ltd. 其中包含的文档贡献的著作权属于其各自的业主。
此处提供的文档根据自由软件开发基金会发布的 GNU 自由文档许可协议版本 1.3 的条款进行许可。
Qt 和相应的标志是芬兰的 The Qt Company Ltd. 及/或其他国家的商标。所有其他商标均为其各自业主的财产。