版本 6.7.2
Squish 6.7.2是一个维护版本,包含对不同产品版本的错误修复。有关所有更改的详细列表,请参阅以下章节。
脚本解释器
- 将Object.preventExtensions()和Object.isExtensible()的行为适配到ECMAScript 2015。这两个函数将不再在非对象类型参数上抛出错误。
- 修复了通过super引用调用的函数中的this值。
- 修复了当AUT使用Qt 6或更高版本时,对象名称中的通配符匹配发生的无意语法变化。无论使用的Qt版本如何,通配符字符串中的特殊字符现在都使用反斜杠转义。
- 类FormData提供根据FormData Web API处理表单数据。它允许使用JavaScript编写的测试通过POST或PUT请求使用xmlHttpRequest向HTTP服务器发送表单数据。
- 为Squish测试结果中的警告启用了堆栈跟踪。
- 在OS.machine中添加了对64位ARM处理器的支持。
squishide
- 修复了一个问题,当符号名称包含反斜杠时,将基于文本的对象映射转换为脚本对象映射时出现问题。
- 修复了一个问题,当用辅助AUT进程替换了最初连接的AUT进程时,导致“记录片段”在断点处禁用。
squishserver
- 修复了将AUT的
usesBuiltinHook
设置格式存储错误的错误。 - 修复了当squishserver使用Qt 6.1或更高版本构建时的
startApplication
崩溃问题。
Qt
- 修复了
qtbuiltinhook.pri
在Android上的Qt 6兼容性问题。 - 删除了对Qt 5或更高版本中QtNetwork模块的依赖。
- 修复了
mouseClick
和tapObject
在QQuickItem
和QWindow
上的性能问题。这两个函数在太多情况下都会应用延迟来避免意外双击。 - 修复了静态Qt构建在移动鼠标光标时的内存耗尽问题。
- 修复了macOS上Qt >= 6.0的Qt菜单栏记录和回放问题。
- 现在,64位MinGW的Squish for Qt包包含64位而不是32位的Squish工具(即squishrunner和squishserver)。对于MSVC编译器的包也是如此,并且当配置外部(64位)Python解释器时,这一点很重要。
- 为macOS和iOS添加了对Qt 6.1的支持,提供标准Squish for Qt包,而不是之前版本中提供的远程测试包。
- 修复了在Qt 6或更高版本上回放
type(o, "<Backspace>")
或其他特殊键时的崩溃问题。 - Squish现在在正常顶层窗口中记录了
closeWindow
调用,这些窗口是通过QML创建的,如Qt Quick Controls 2中的ApplicationWindow
。 - 现在记录QtQuick内容时,会忽略“压缩事件”设置,就像Squish的其他部分一样,这些部分无法在没有事件压缩的情况下进行记录。这允许在不压缩记录的情况下在QtWidgets上获得合理的语句,同时在QtQuick内容上仍然可以记录有用的语句。
- 修复了脚本记录的最后一条语句记录
mouseWheel
的问题。 - 修复了S/Qt包中QtQuick addressbook缺少依赖项(Qt6QuickLayouts)的问题,该依赖项用于Qt 6.1及更高版本。
Windows
- 修复了一个回归问题,该问题导致在Windows上无法验证旧版本的截图VP(Squish版本<4)。
- 修复了在Windows上启动子进程后进程崩溃的问题。在某些情况下,启动的子进程的日志记录会导致问题。
Web
- 修复了在支持触摸的大屏幕设备上运行浏览器创建触摸事件的两个问题。
- 修复了一个问题,其中
openNewTab
在tab列表中找不到新打开的tab,导致“随机”脚本错误(IE浏览器)。 - 提供了一个
webwrapper.ini
选项,UseSessionStorageForEvents
,该选项允许Squish for Web更好地与Visual Studio Code和其他防止HTTP连接的基于Chromium的应用程序协同工作。特别是,此选项允许选择和录制脚本。
macOS
- 修复了macOS Big Sur上全局应用程序菜单和WebView下拉列表上的点击事件导致额外记录错误的另一个问题。
- 修复了带有x/y坐标的
mouseClick
载荷中的问题,这可能导致Web对象接收到 "-1" 作为按下的鼠标按钮,而不是预期的左键。 - 修复了macOS 12 Monterey上的
nativeType
,其中nativeType
的键盘组合通常只有在第一次尝试时才会工作。随后的尝试将触发macOS的“无效热键”系统声音。
iOS
- 修复了Xcode 12.5未列出iOS模拟器的问题。Squish使用的iphonelauncher实用程序在Xcode 12.5中返回一个空列表。
- 修复了在iOS设备上测试使用Xamarin.iOS构建的应用程序。
存在一个问题,
libsquishioswrapper.a
中,运行时找不到Squish初始化函数。编译应用程序仍然可以正常工作。这仅影响真实设备上的测试,不影响iOS模拟器。
源代码包
- JavaScript中的
XMLHttpRequest
现在可以发送FormData
。这些数据通过自Qt 4.8.0以来可用的QHttpMultiPart
以multipart/form-data进行编码。此新功能将构建
squishide
工具程序和 squishrunner 所需的最小Qt版本从Qt 4.6.0提高到4.8.0。 - 修复了为QNX平台支持Qt工具包的构建。
- configure:在添加“–with-nm”以设置自定义nm工具(用于构建Qt工具包支持时进行Qt符号查找)。
Android
- 修复了为Android目标 >= 30 的instrument和部署。这些目标需要v2签名方案。
Java特定
- Java包装器允许测试Java >= 16运行的AUT。
Tk
- 修复了某些Tcl/Tk的分发/构建中的选择问题和对象查找错误。
已知问题
关于在Squish 6.7.2发布后发现的有意义问题的列表,请参阅froglogic知识库中的已知问题页面。
©2024 The Qt Company Ltd. 增加在内文档的贡献是各自所有者的版权。
此处提供的文档根据Free Software Foundation发布的GNU自由文档许可协议版本1.3的条款授予许可。
Qt和相应标志是The Qt Company Ltd.在芬兰和/或世界其他国家的商标。所有其他商标均为各自所有者的财产。