Version 8.1

Squish 8.1 is a feature release which delivers new features, bug fixes, and usability improvements to all editions of the product.

See the following sections for a detailed list of changes.

Squish for Qt 6.8

The Squish for Qt edition was extended to feature full support for automating applications built with the latest Qt release: Qt 6.8. The new binary packages for all major platforms, as well as source packages allow users to keep their automated tests running as they migrate their AUTs to the newer versions of Qt.

Squish for Java on a New Platform: Linux arm64

Squish for Java becomes the next edition available as a downloadable binary package that contains everything the users need to get started with testing Java AUTs on arm64-based Linux desktops, including Squish IDE and squishrunner.

The availability of binary packages represents a significant development in testing of Java AUTs on the Linux on arm64 (LoA) platform as test automation with Squish is now possible without the need to build parts of it from source. Setting up the test environment on LoA becomes much simpler as well, as the Squish IDE no longer has to be installed on a separate, x86_64-based host, connecting to the AUT remotely. Instead, both the IDE and the AUT can coexist on one arm64 host.

Squish for Web: Updated Google Chrome Extension

A new, Manifest V3-based Squish extension for the Google Chrome web browser ('Qt QA Integration') is now available for download from Chrome Web Store, intending to replace the existing Manifest V2-based 'froglogic Squish Integration' extension. This change represents a necessary adaptation to the Google Chrome web store and the recent versions of the Google Chrome web browser phasing out support for Manifest V2-based browser extensions (deprecated) and mandating migration to Manifest V3.

Squish for Web users who automate their websites in the Google Chrome browser are advised to read our detailed blog post that contains compatibility information (which browser requires which extension) as well as instructions for migrating an existing test set-up from the legacy extension to the new Manifest V3-based one.

Squish IDE in Simplified Chinese

In this release, the user interface of the Squish IDE is translated into a local language (Simplified Chinese, zh_CN) for the first time. The translation is approximately 70% complete at the time of release, with further improvements expected in the near future. The corresponding language pack is already integrated in the Squish IDE, so there is no need to download or install it separately. The localized GUI either appears automatically on a desktop with Simplified Chinese locale or it can be activated via commandline.

With the groundwork of necessary internationalization (i18n) changes to the Squish IDE internals in place, providing additional translations of the IDE in future Squish releases is now possible.

Installation

  • When installing Squish for Qt on macOS, the qtpath argument of unattended installation is now optional. The installation will not terminate with an error if the argument is not specified, however the path to Qt installation must be set later via squishconfig to make Squish for Qt operational on the platform.

General

  • Regression testing example scripts are no longer shipped with Squish binary packages. Relevant portions of these scripts were integrated into the automated batch testing documentation.
  • Fixed a problem with duplicate entries of error locations in reports when using Perl on Windows.
  • Fixed reading and writing of Visual Verification Point and Object Snapshot XML files in paths containing non-ASCII characters on Windows.
  • Fixed a memory leak in the Wayland screenshooter that caused performance degradation over time.
  • Fixed a problem where errors parsing commandline arguments of Squish tools (squishrunner, squishconfig, objectmaptool etc.) would not appear in the terminal output.
  • Fixed a problem where the last entry logged in a testcase (verification, test log etc.) would not appear in the report on Windows.

Scripting

  • Fixed a crash in the test.compareTextFiles function when comparing large text files (many MBs). As a side effect of this fix, the diff output may now be subtly different for files larger than 10 MB.

IDE

  • Improved user experience when creating a test suite inside Eclipse's working directory. This scenario is not supported by the Eclipse framework and always ends with an error (no test suite is created). Now a hint to choose a different directory is shown to the user instead.
  • The zoom toolbar in the image viewer and model-based testing (MBT) editors gained a combobox that allows for fine-grained adjustment and zooming to a custom level.
  • The zoom level in the image viewer and MBT editors can be adjusted with the mouse wheel when the Ctrl (Cmd on macOS) key is pressed.
  • Fixed a problem in the Squish Script Console that caused the text cursor to stay in the wrong position after it had been moved in front of the prompt sign ('>>>').
  • The IDE may show a message from the browser extension check in the Server Settings dialog even if the check was successful and tests in the browser can be executed. The message is informational and may suggest possible improvements in the browser set-up. See also: rel-810-web {equivalent change} in Squish for Web command-line interface.
  • The Verification Point editor in the IDE now supports multi-line editing of text properties. The corresponding field adjusts its height to fit the text.
  • Fixed multiple minor problems in the Verification Point editor: prevent an error when a root-level property is clicked repeatedly, and ensure correct removal of VP sections when a root-level property is unchecked.

Qt

  • Added a Python version of the monkey test suite example (works with Qt 6.2 or newer).
  • Fixed a crash when recording mouse input on a QWidgetAction inside a sub-menu
  • Fixed an issue where QML extensions (declared with QML_EXTENSION()) caused problems with the Squish object model, leading e.g. to a failure to read object properties
  • Fixed a regression in the object look-up (Object Not Found) of QtQuick objects containing some of the following properties:
    • source property
    • custom url-typed property
  • Squish for Qt 6.6 packages for Android are now built with Qt 6.6.1 instead of Qt 6.6.0. This resolves a problem with hooking into AUTs built for this configuration.
  • From Qt version 5.1 on, the legacy preloader (a component that makes hooking into AUTs possible) on Windows has been replaced by the unified Qt 5 preloader, which is now used across all platforms (Linux, Windows, macOS).
  • Fixed a problem with hooking into AUTs built with Qt version older than 5.1 and MinGW.
  • For Qt AUTs, the object highlighter now shows only the type name in its tooltip by default in order to improve performance when picking in complex Qt applications, especially those with embedded web content. Users who want to revert to the previous behavior or completely disable tooltips in the object highlighter can change the HighlighterTooltipStyle configuration setting in qtwrapper.ini.

macOS

  • The chooseFile function gained support for opening file chooser dialogs (NSOpenPanel) via the runModal method (previously only [NSOpenPanel beginSheetModalForWindow:CompletionHandler:] and [NSOpenPanel beginWithCompletionHandler:] were supported).
  • Fixed a regression where a file chooser dialog would not appear if the AUT set a delegate.
  • Fixed a problem with file chooser dialogs not passing file URLs to the AUT in the start AUT mode.

Android

  • The nativeGesture function in Squish for Android is now deprecated. The functionality it implements cannot be replaced by current Android APIs and it will be removed in the next version of Squish.
  • Fixed a problem with the nativeTap implementation leading to no events being sent to the device or the emulator.
  • The BannerShowed event has been renamed to BannerShown. Both events coexist in this Squish release to ensure backwards compatibility of the existing test scripts. The BannerShowed event will be removed entirely in the next feature release of Squish.

Web

  • Changed the behavior of the function checking the availability of web browser extensions (squishrunner --config isBrowserExtensionAvailable) to print messages (warnings, additional information) also when the check is successful. The messages are printed to the standard error channel in CLI.
  • Added an informational message to display when an unpacked Chrome extension is found in the lib/chrome-extension folder of the Squish installation (this is a non-default, but nevertheless valid set-up).
  • An unpacked Chrome extension in the lib/chrome-extension folder is only considered as a fallback if no extension is installed in the Chrome profile. Previously it would always be loaded: this lead to conflicts when both extensions (in the Chrome profile and in the fallback folder) were available.

Windows

  • Added a new checkState property to support tri-state checkboxes in Win32 and Windows Forms AUTs.
  • Fixed a problem where the setClipboardText function would fail when called multiple times in the same test case.

Source Packages/Building from Source

  • Fixed build errors related to "std::chrono" when building with Qt 6.7.2 or newer.
  • On Windows, Squish can now be built with Visual Studio 2022.

Notice of System Requirements Change: Building from Source

Starting with the next Squish feature release (after 8.1), the minimum Qt version needed to build squishrunner and Squish tools from source is going to change from Qt 5.9 (required currently) to Qt 5.15.

© 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.

Search Results