Version 9.0
Squish 9.0 is a feature release which delivers new features, bug fixes, and performance improvements to all editions of the product.
See the following sections for a detailed list of changes.
New Edition: Squish for Qt Quick Ultralite
Squish for Qt Quick Ultralite (QUL) is a new edition of Squish that gives users a set of tools to automate GUI applications developed with Qt Quick Ultralite on microcontrollers (MCUs). The new edition is a part of Squish Enterprise and implements image-based testing with STM and NXP boards.
IPv6 Support
Squish now supports IPv6 in network connections between squishrunner
, squishserver
, as well as the AUT. Starting with this release, IPv6 is enabled by default, but can be disabled when necessary by setting the SQUISH_IPV6
environment variable to 0. The command-line argument --host
of squishrunner
and squishserver
can be used to steer whether IPv6 or IPv4 should be used as well.
Squish for Android Improvements
The Squish for Android edition was extended to feature full support for automating applications on Android 14, including Android OS derivatives, such as Android Automotive or Android TV. Android Automotive support includes instrumentation, full replay capability as well as property introspection and verification. In this release, we also resolved many frequently occurring issues with Android instrumentation.
General
- Fixed scenarios where initialization of H264-based video recorder failed on Windows:
- when used by Remote Control
- when the screen was turned off by the energy saver
- Improved user experience when working with positive masks in the vpdiff tool for comparing expected vs. actual screenshots.
- Fixed a problem where
squishserver
would fail to listen on a TCP port after unclean shutdown of a previoussquishserver
instance listening on the same TCP port.
IDE
- Fixed a problem where filtering test results in the Test Results view would end in an exception if the model-based editor was opened in the meantime.
- Fixed multiple problems in the Chinese localization.
Scripting
- In Squish JavaScript extension API, XMLHttpRequest object gained a new timeout property that limits overall execution time of an HTTP request.
- The ApplicationContext.host property now returns the original host name passed via the
--host
option ofsquishrunner
or thehost
argument of startApplication() or attachToApplication(). Previously it always returned the resolved IP address. - Added a new set of overloads to the touchAndDrag, touchPress,
touchMove
and touchRelease test APIs that takeScreenRectangle
andScreenPoint
objects as a reference for the touch position. This enables users to compose complex touch input sequences from the results of OCR and image search. - The typeName function is now deprecated in favor of the className function. Users are advised to refer to the API documentation as the replacement function may produce different results in some cases.
Qt
- Added a new configuration option
WebJavaScriptResponseTimeout
toqtwrapper.ini
. It affects Qt web views and controls the maximum time Squish waits for a response from evaluated JavaScript statements. - Fixed a problem with activation of
QMenu
in AUTs built with Qt 6.5.7 or newer. - Improved performance of picking and hovering over HTML elements in
Qt WebEngine/WebKit
views. - Improved performance of recording and picking in complex QtQuick applications when using
QQuickWidget
. - Added support for building from source with Qt 6 on the QNX platform.
- Fixed multiple problems when building from source on the QNX platform.
- Added support for missing
QList
methods: (resize, append, prepend, replace, fill, startsWith, endsWith, value, push_back, push_front
tosquishidl
. - Fixed a problem with target detection (
-target <triple>
) in the libclang backend ofsquishidl
.
Web
- Fixed a problem in the
Qt QA Integration
extension of the Google Chrome browser that caused the attachToBrowser function to fail intermittently when the browser was running for a while. Version 3.0.6 of the extension has the fix and is available from the Chrome Web Store. - Improved error detection and error reporting in the Chrome extension installation process. This resolves a problem where a
SingletonLock
file left in the profile directory would cause the extension installation hang indefinitely with no information provided to the user. - Extended documentation on how to register native message helpers with the Google Chrome web browser. This step is required for attaching to the running browser to work.
- Fixed a problem with wrong value of HTMLObject's innerText property when using Firefox for web site automation.
- Removed support for automating web sites via
Web Proxy
. This change impacts testing in the following browsers that rely uponWeb Proxy
: Safari on Windows, Opera, and mobile browsers, which are no longer supported starting with this release. The choice of these browsers has also been removed from the Squish IDE.
Android
- The
apk-tool
script now automatically supports the newest Android SDK version installed on the system. It scans the provided Android SDK directory and selects the newest installed version for instrumentation and deployment. - The
BannerShowed
event (deprecated since Squish 8.1) has been removed. TheBannerShown
event is now its fully equivalent replacement. - The
nativeGesture
function (deprecated since Squish 8.1) has also been removed. The functionality cannot be replaced by current Android APIs.
Tk
- Fixed a crash when attaching to a Tk AUT for the second time.
Notice of Deprecation
- The following legacy report generators are deprecated in this release:
xml1, xml2, xmljunit1, xls
. - Python 2 is deprecated since Squish 8.0 and will be completely removed in the next release (Squish 9.1). For more information about migrating test suites to Python 3 and reference to best migration practices, refer to previous release notes.
© 2024 The Qt Company Ltd.
Documentation contributions included herein are the copyrights of
their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners.