版本 6.6
Squish 6.6是一个功能更新版本,为产品的所有版本带来了新功能、错误修复和易用性改进。
请参阅以下部分,以获取所有更改的详细列表。
集成远程控制解决方案
这次Squish发布配备了一个完整、完全集成的远程控制解决方案,大大提高了远程系统的工作效率。在执行测试时,Squish现在可以显示远程设备的屏幕,并允许记录新的测试(以及拾取要检查的对象),即使测试的应用程序正在远程位置的计算机上运行。
此功能消除了对任何额外远程桌面解决方案(例如,VNC)的需求,并在嵌入式系统中完全支持。
包含Python 2和Python 3
所有Squish包现在都包含Python 2和Python 3。这确保了与所有以前Squish版本的完全向后兼容性,同时允许使用最新的Python 3功能。
JavaScript引擎增强
这次Squish发布提供了针对JavaScript支持的一些增强,包括改进的脚本灵活性、更好的错误检查、方便和简洁的脚本功能以及针对现有支持的若干错误修复。
包含测试结果分析与管理系统,'Squish Test Center'
Squish包现在捆绑了Squish Test Center平台,这是一个综合性的测试报告管理和分析工具。Squish与Squish Test Center的紧密结合,使用户可以从代码编辑器直接将自动化测试结果推送到Squish Test Center,从而深入了解项目的发展情况。
由于采用了轻量级的设计,并且配备方便的基于Web的用户界面,所有项目利益相关者都可以轻松地从计算机、平板电脑或智能手机的Web浏览器中访问该平台。
要开始使用Squish Test Center,需要该工具的独特激活码。请联系我们至[email protected],即可开始免费、完整支持和功能齐全的Squish Test Center试用。
综合
- squishserver现在在附加到正在运行的应用程序时提供了更多有用的输出。
- squishserver现在接受一个新选项
--configfile
,可用于从不同位置加载配置文件。有关详细信息,请参阅配置squishserver。 - Squish安装程序现在允许在安装过程中省略
squishide
,这对于设置用于持续集成的机器非常有用。 - 解决了由Squish生成的HTML报告有时无法正确打开,但会显示有关损坏数据文件的错误信息的问题。
squishide
特定
- 现在
squishide
和Squish Eclipse集成插件都要求Squish Tools版本6.5或更高版本。 - 修复了导入仅包含文件但不包含目录的测试报告ZIP存档时的问题。
- 解决了在运行包含超过10个测试用例的完整测试套件时,测试报告中生成的路径不正确的问题。
squishide
中的Python编辑器现在基于PyDev 7.3.0。这提高了语法高亮显示,并可实现更好的类型提示和其他Python 3功能的支持。- 在
PyDev
>编辑器
>代码分析
页面上的Squish
选项卡上的设置已移动到Squish
>代码分析
页面,并且现在适用于所有脚本编辑器,而不仅限于Python。 - 在编辑视觉验证点时显示的《接受所有》按钮现在将对新发现的UI对象进行额外的默认检查,包括识别和内容。在以前的版本中,新对象的属性列表会被留空,并且只为已存在且改变的对象更新视觉VP。Squish将根据这些新对象的父容器设置来决定是否添加截图和几何测试。
- 视觉验证点编辑器中新增了一个按钮,允许查看实际与预期验证点的不同。
- 视觉验证点编辑器中的《结构》和《失败》视图的可用性得到改进。现在显示了专用的图标,以可视化哪些检查失败了。
- 在视觉验证点编辑器中放松检查会导致出现一个简要概述,显示已应用的变化。
- 视觉验证点编辑器中新增下拉菜单,允许为整棵元素树切换内容、几何或截图检查。
脚本
- Squish现在支持使用Python 2或Python 3创建Python测试脚本。
- 引入了一个新的脚本函数Dataset testData.datasetExcel(filename, sheetname),该函数可以访问Excel表单中存储的多个表中的测试数据。
- 新增了新的ApplicationContext.osName属性,用于获取AUT运行的操作系统名称。
- 脚本API中新增了一个新的Image Object,这提供了屏幕截图和处理图像文件的加速和新功能。已扩展各种函数以支持图像处理。
- 可以通过加载图像文件(使用Image Image.load(fileName))或将桌面截图(通过grabDesktopScreenshot())或特定对象(Image object.grabScreenshot(object, [parameterMap]))。
- 可以提取和修改图像对象中单像素的RGB(A)值。
- 可以使用test.attachImage(image, message)将图像对象附加到测试报告中。
- 可以在图像对象上使用ScreenRectangle findImage(imageFile, [parameterMap], [searchRegion])和String getOcrText([parameterMap], [searchRegion])函数。
- 修复了JavaScript正则表达式对象上的《code translate="no">test`方法,使其能够在全局标志被指定时更新《code translate="no">lastIndex字段的值。
- Squish使用的JavaScript引擎进行了重大改版,包括各种错误修复和新增功能,例如
class
、extends
、static
和super
关键字- 箭头函数(例如,
x => x * x
) let
声明- 模板字符串(使用
....
),包括标签函数 - ...以及其他几个。
有关所有改进的完整列表(包括代码示例),请参阅我们的知识库文章Squish 6.6中的JavaScript扩展。
- 新增了新的函数String RemoteSystem.getOSName(),它可以用来确定运行squishserver的计算机所使用的操作系统名称。
testInteraction
API显示的对话框现在将显示在所有其他窗口之上。- 解决了一个问题,该问题导致Python语法错误的记录错误位置在某些情况下不正确。
- 已将一个新的
message
参数添加到Boolean test.imagePresent(imageFile, [parameterMap], [searchRegion])和Boolean test.ocrTextPresent(text, [parameterMap], [searchRegion])中。它与Boolean test.compare(value1, value2)中支持的message
参数用途相同,即包括一个包含详细信息的文本,该文本要包含在测试报告中。
Qt-specific
- 添加了对测试Qt 5.15应用程序的支持。
- 本Squish版本不再包括Qt 4.6和Qt 4.7应用程序的二进制包。如果您对此类包感兴趣,请通过Qt Support Center与我们联系。
- Squish现在能够测试使用Qt for WebAssembly构建的应用程序。这需要特制的Squish包(以
-wasm.zip
结尾),持有有效Squish for Qt许可证的用户可以在他们的下载区域找到。 - 已改进了installSignalHandler(objectOrName, signalSignature, handlerFunctionName)和uninstallSignalHandler(objectOrName, signalSignature, handlerFunctionName)函数的错误报告。如果指定的对象不支持指定的Qt信号(例如,由于拼写错误或错误的信号签名),则将在错误消息中包含具有相同名称的类似信号的列表。
- 新的API方法waitForSignal(object, signalSignature)指示脚本等待给定的Qt信号。
- Squish现在支持自动化使用Visual Studio的
/CLR
开关构建的Qt应用程序。 - 修复了在选择响应触摸事件的Qt 5应用程序中的对象时偶尔崩溃的问题。
- 解决了在某些情况下(例如与QML对象交互时)导致在
squishide
的Runner/Server Log视图中出现Could not convert argument
警告消息的问题。 - 提高了与Qt WebKit控件一起工作的测试的可靠性。在某些情况下,可能会报告
Timeout while waiting for result of JavaScript
错误。现在已修复。 - 提高了在测试程序在macOS上运行时挂钩Qt应用程序的可靠性,在这些情况下,测试程序加载Qt库的路径与安装程序中指定的不同。
Java-specific
- 用于选择多个文件的功能chooseFile(objectOrName, array of filenames)现在也适用于测试JavaFX应用程序。
Web-specific
- 已弃用clickLink(objectOrName)函数。相反,可以在任何使用clickLink(objectOrName)的位置使用mouseClick(objectOrName)函数。
- 在squishserver中配置的AUT超时现在在决定Squish应在Chrome或Firefox中等待网页加载多长时间时得到尊重。
- 现在可以在
etc/webwrapper.ini
配置文件中找到与代理相关的配置设置。 - 修复了在将Chrome扩展更新到版本2.1.0后,attachToBrowser(portOrWindowTitle)无法将浏览器连接到浏览器的问题。
- 修复了Squish尝试记录无法将Microsoft Internet Explorer挂钩的原因时发生的崩溃,特别是在自动化嵌入到Windows AUT中的Microsoft Internet Explorer时。
- 修复了当在Microsoft Internet Explorer中的BrowserTab类对象上设置
url
属性时导致的JavaScript错误。 - 改进了typeText(objectOrName, text)函数的行为,确保浏览器窗口被带到前台,并且不会丢失要输入的字段中的现有选择。
- 现在将鼠标点击文本字段记录为nativeMouseClick(objectOrName, button)而不是setFocus(objectOrName)调用。这更好地反映了实际的用户输入,并允许重放测试,这些测试故意在文本字段中单击特定位置。
Android特有
- Squish for Android现在可以访问通过访问API公开的所有控件。这在许多情况下提高了记录和重放,例如在测试Flutter应用程序时。
Windows(原生)特有
- 在Squish中对子进程检测逻辑进行了全面改进,以改进对AUT的子进程的检测和挂钩。
- 添加了对Windows Forms和WPF .NET Core应用程序的支持。
- 向
WindowsForms
控件属性添加了name
属性。新属性可用于对象识别和记录。 - 添加了对使用第四个和第五个鼠标按钮(
x 按钮
)执行点击的支持。 - 修复了旋转WPF元素的全局边界计算问题。
- 改进了对WPF
ToolTip
对象的支持。现在它们有自己类型,可以是其子对象的容器。 - 添加了WPF文本属性的另一个可选后备。当对象不具有良好的字符串表示时,可以使用其TextBlock子对象生成
text
属性值。这可以通过指定配置键WpfTextPropertyFallback
来启用。 - startwinaut学习了一个新的
--aut-timeout
命令行选项,用于指定应用程序显示任何用户界面要等待的时间。 - 已解决与WPF弹出交互的各种问题。
macOS特有(Cocoa/Carbon版本)
- 在macOS 10.15上运行测试时,
Console.KeyPress
函数不再导致测试用例终止。 - 修复了在macOS 10.15上请求访问摄像头或麦克风时导致AUT意外终止的问题。
- 修复了在macOS 10.15上在某些情况下调用nativeType(keys)函数导致测试终止的问题。
源代码包
- 在构建Squish时,不再通过Windows注册表定位Perl、Python和Tcl解释器。
自行构建squishrunner的客户应将他们的脚本解释器添加到
PATH
环境变量中,或使用--with-perl
、--with-python
或--with-tclconfig
之一来告诉Squish使用哪个解释器。 - 现在构建Perl 5语言支持需要Perl 5.18或更高版本。
- 现在构建Python 2语言支持需要Python 2.6或更高版本。
- 修复了交叉编译Squish时运行Qt工具(例如moc或uic)会导致失败的问题。
已知问题
有关在Squish 6.6发布后发现的重要问题的列表,请参阅froglogic知识库中的已知问题页面。
©2024 Qt公司有限公司。包含在此处的文档贡献是它们各自所有者的版权。
本提供的文档根据自由软件基金会发布的条款授予《GNU自由文档许可》版本1.3的许可。
Qt及其相关徽标是芬兰Qt公司以及/或其他国家的商标。所有其他商标均为各自所有者的财产。