Version 6.6

Squish 6.6 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 all changes.

Integrated Remote Control Solution

This Squish release brings with it a complete, fully-integrated remote control solution which greatly improves working with remote systems. Squish can now display the screen of the remote device as a test is executed and permits recording new tests (and picking objects for inspection), even if the application under test is running on a computer in a remote location.

This functionality removes the need for any additional remote desktop solution (e.g., VNC) and is fully supported, even on embedded systems.

Python 2 and Python 3 Included

All Squish packages now include Python 2 and Python 3. This ensures full backwards compatibility with all previous Squish releases, while enabling the use of the latest Python 3 features.

Enhancements to JavaScript Engine

This Squish release provides a number of enhancements to JavaScript support, including improved scripting flexibility, better error checking, additional features for convenient and concise scripting, and several bug fixes to existing support.

Bundled Test Result Analysis & Management Platform, 'Squish Test Center'

Squish packages now bundle with the Squish Test Center platform, a tool for comprehensive test report management and analysis. With a natural coupling between Squish and Squish Test Center, users can push their automated test results right from the Squish IDE to Squish Test Center to gain insights into an evolving project's health.

Built to be lightweight with a convenient web-based user interface, all project stakeholders can easily access the platform right from a web browser on their computer, tablet or smartphone.

To get started with Squish Test Center, an activation code unique to the tool is required. Get in touch with us at sales@froglogic.com to begin a free, fully-supported and fully-functional evaluation of Squish Test Center today.

General

  • squishserver now yields more useful output when attaching to a running application.
  • squishserver now accepts a new --configfile option which can be used to load configuration files from different locations. See Configuring squishserver for details.
  • The Squish installer now permits omitting the Squish IDE during installation, a useful option when setting up machines meant for Continuous Integration.
  • Fixed an issue in which HTML reports generated by Squish would sometimes not open correctly, but display an error message about a corrupt data file.

Squish IDE-specific

  • Both the Squish IDE and the Squish Eclipse integration plugin now require Squish Tools version 6.5 or later.
  • Fixed importing test report ZIP archives containing only files but no directories.
  • Resolved an issue causing incorrect paths to be generated in a test report when running a complete test suite with more than 10 test cases.
  • The Python editor in the Squish IDE is now based on PyDev 7.3.0. This improves syntax highlighting and enables better support for type hints and other Python 3 features.
  • Settings from the Squish tab on the PyDev > Editor > CodeAnalysis page have moved to the Squish > CodeAnalysis page, and apply now to all script editors, not only Python.
  • The Accept All button shown when editing Visual Verification Points will now add additional default checks on identification and content for newly found UI objects. In previous versions, the list of properties for new objects would be left empty, and would update the Visual VP only for changed, already existing objects. Squish follows settings for parent containers of these new objects for deciding if screenshot and geometry tests should be added.
  • A new button was added to the Visual Verification Point editor which allows viewing the differences between the actual and the expected verification point.
  • Improved usability of the Structure and Failures views in the Visual Verification Point editor. Dedicated icons are now shown which visualize if and which check failed.
  • Relaxing checks in the Visual Verification Point editor will now cause a short overview to be presented, showing the changes which were applied.
  • A new popup menu in the Visual Verification Point editor now allows toggling content, geometry or screenshot checks for entire trees of elements.

Scripting

Qt-specific

  • Added support for testing Qt 5.15 applications.
  • This Squish release no longer includes binary packages for Qt 4.6 and Qt 4.7 applications. Please contact us at the Qt Support Center if you are interested in such a package.
  • Squish is now able to test applications built using Qt for WebAssembly. This currently requires a special Squish package (ending in -wasm.zip) which holders of an active Squish for Qt license can find in their download area.
  • Error reporting of the installSignalHandler(objectOrName, signalSignature, handlerFunctionName) and uninstallSignalHandler(objectOrName, signalSignature, handlerFunctionName) functions was improved. In case the given object does not support the specified Qt signal (e.g., due to a typo or incorrect signal signature), a list of similar signals with the same name is included in the error message.
  • New API method, waitForSignal(object, signalSignature), tells script to wait for a given Qt signal.
  • Squish now supports automation of Qt applications which were built using the /CLR switch of Visual Studio.
  • Fixed an intermittent crash when picking objects in Qt 5 applications which react to touch events.
  • Resolved an issue which sometimes caused Could not convert argument warning messages to appear in the Runner/Server Log view of the Squish IDE when interacting with QML objects.
  • Improved reliability of tests working with Qt WebKit controls. In some cases, a Timeout while waiting for result of JavaScript error may have been reported. This is now fixed.
  • Improved reliability of hooking into Qt applications running on macOS in those cases where the application under test loads the Qt library with a different path than what was specified in the installer.

Java-specific

Web-specific

  • The clickLink(objectOrName) function has been deprecated. Instead, the mouseClick(objectOrName) function can be used anywhere clickLink(objectOrName) is currently being used.
  • The AUT timeout configured in squishserver is now respected when deciding how long Squish should wait for a web page to load in Chrome or Firefox.
  • Proxy-related configuration settings can now be found in the etc/webwrapper.ini configuration file.
  • Fixed a problem with attachToBrowser(portOrWindowTitle) failing to attach to the browser after updating the Chrome extension to version 2.1.0.
  • Fixed a crash that would occur when Squish attempted to log the reason it was not able to hook into Microsoft Internet Explorer, in particular, when automating Microsoft Internet Explorer embedded into a Windows AUT.
  • Resolved an issue which led to a JavaScript error when setting the url property on a BrowserTab Class object in Microsoft Internet Explorer.
  • Improved the behavior of typeText(objectOrName, text) to ensure that the browser window is being brought into the foreground, and existing selections in the field to type are not lost.
  • Clicks into text fields are now recorded as a nativeMouseClick(objectOrName, button) instead of a setFocus(objectOrName) call. This better reflects the actual user input and allows replaying tests which intentionally click into a certain position in the text field.

Android-specific

  • Squish for Android can now access all controls exposed via the accessibility API. This improves record and replay in many cases, for example, when testing Flutter applications.

Windows (native)-specific

  • Overhauled sub-process detection logic in Squish to improve detection of (and hooking into) sub-processes of AUTs.
  • Added support for Windows Forms and WPF .NET Core applications.
  • Added property name to the properties of WindowsForms controls. The new property can be used for object identification and recording.
  • Added support for performing clicks with the fourth and fifth mouse buttons (the x buttons).
  • Fixed the global bounds calculation for rotated WPF elements.
  • Improved support for WPF ToolTip objects. These now have their own type and can be the container objects of their children.
  • Added a new optional fallback for WPF text properties. When an object does not have a good string representation, its TextBlock children can be used for the generation of text property values. This can be enabled by specifying the setting WpfTextPropertyFallback configuration key.
  • startwinaut learned a new --aut-timeout command line switch for specifying the time to wait for an application to show any user interface.
  • Various issues with interacting with WPF popups have been resolved.

macOS-specific (Cocoa/Carbon edition)

  • The Console.KeyPress function no longer causes the test case to abort when running tests on macOS 10.15.
  • Fixed an issue which caused the AUT to abort unexpectedly when requesting access to the camera or microphone on macOS 10.15.
  • Fixed a problem which caused tests to abort in some cases when calling the nativeType(keys) function on macOS 10.15.

Source Packages

  • Perl, Python and Tcl interpreters are not located via the Windows Registry anymore when building Squish.

    Customers building their own squishrunner should either add their script interpreter to the PATH environment variable, or use one of --with-perl, --with-python or --with-tclconfig to tell Squish which interpreter to use.

  • Building the Perl 5 language support now requires Perl 5.18 or later.
  • Building the Python 2 language support now requires Python 2.6 or later.
  • Fixed an issue which caused running Qt tools (e.g. moc or uic) to fail when cross-compiling Squish.

Known Issues

For a list of noteworthy issues which were found after the release of Squish 6.6, please see the Known Issues page in the froglogic Knowledge Base.

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