2.2. Version 6.5

Table of Contents

2.2.1. Platform Support
2.2.2. General
2.2.3. Squish IDE-specific
2.2.4. Scripting
2.2.5. Qt-specific
2.2.6. Java™-specific
2.2.7. Web-specific
2.2.8. Windows (native)-specific
2.2.9. macOS-specific (Cocoa/Carbon edition)
2.2.10. iOS-specific (iPhone/iPad edition)
2.2.11. Source Packages
2.2.12. Known Issues

Squish 6.5 is a feature release which delivers new features to all editions of the product.

Furthermore, a lot of features and bugfixes were applied to individual Squish editions since Squish 6.4; see the following sections for a detailed list of all changes.

2.2.1. Platform Support

To improve the support for High DPI setups and modern operating systems such as Windows 10, several internal components of Squish were updated, resulting in a change to the set of binary packages which are part of the Squish release.

Please note that testing applications continues to work on any platform supported by prior versions of Squish. The below changes only apply to certain client-side components:

  • Due to lack of demand, no 32 bit packages for macOS are provided anymore. Customers who would like to execute the client-side tools of Squish as 32bit binaries can follow the Quick Install (Section 3.1.2.1) instructions for building the relevant components locally.

  • Similarly, Squish 6.5 binary packages are not supported on Windows XP anymore. Customers who require running squishrunner on Windows XP can follow the Quick Install (Section 3.1.2.1) instructions to compile the client-side programs using Qt 4.

  • The client-side tools of Squish as well as the Squish IDE are not supported on AIX or Solaris anymore. To continue testing applications on these platforms, please see the section Distributed Tests (Section 7.1.2) on how to run tests remotely.

  • The Squish for Qt edition releases no longer include binary packages built for testing Qt applications built with Visual Studio 6, Visual Studio 2003 or Visual Studio 2005. Please see the Quick Install (Section 3.1.2.1) instructions on how to compile the relevant components of Squish using these compilers manually.

2.2.2. General

  • Squish now supports OCR with several engines that can be chosen from. The tesseract engine requires installation of additional package available in our download center.

  • Installing Squish on Windows may now recommend a restart of the system to make some configuration changes related to the recording accuracy effective.

  • The daemon option of squishserver now supports specifying a log file to write any output to.

  • The Visual Verification Point supports now mask rectangles for screenshots. The VisualVP editor utility gained support for creating and editing these image masks.

2.2.3. Squish IDE-specific

  • The Squish IDE now requires Windows Vista, RHEL 6.5 or macOS 10.10 to run. Solaris and AIX are no longer supported for running the IDE (but are still supported via remote testing).

  • The Squish IDE now supports recording and debugging of the new OCR script API functions.

  • Shortened the window title of the main window, removing redundant information.

  • Resolved spurious warning when editing BDD test cases claiming that no matching step definition can be found.

  • Fixed a problem causing error messages to be shown when opening test suites.

  • The Squish IDE will now try harder to verify that the configured squishserver instance is accessible. The connection will be checkede before creating a new test suite, launching an AUT or running/recording a test. In case squishserver cannot be contacted, a diagnostic message is shown.

2.2.4. Scripting

  • Fixed an issue in the findImage and waitForImage functions causing the test to terminated unexpectedly in case the script is executed via a standard Python interpreter (via the squishtest Python module).

  • Fixed an issue in the Tcl interpreter which caused passing Squish objects to e.g. test pass to not work.

  • Introduced new setDebugFlags function to squishtest Python module which can be used to enable more verbose logging.

  • The nativeType function now replays key combos involving letters and the Ctrl key as expected when running tests on Windows.

  • Introduced the getOcrText, findOcrText, waitForOcrText and findAllOcrText script API functions that allow querying the results of the desktop screenshot OCR.

  • Introduced the test.imagePresent and test.ocrTextPresent to allow image-search and OCR verifications without additional boilerplate script code.

  • The OCR and image search script APIs now support limiting the search area to the specific region.

  • Introduced test.attachFile for attaching files to the test report.

  • Introduced test.attachDesktopScreenshot for attaching desktop screenshots to the test report.

  • Added support for JavaScript array destructuring like var [a, b] = [10, 20];.

  • Added includes(), startsWith() and endsWith() functions to JavaScript String object.

  • Use native JavaScript types for class properties. Makes Java's JavaArray.text property a more convenient String object.

  • Fixed rounding errors in time attribute of xmljunit and junit reports.

  • Disabled locale-aware formatting of times im xmljunit reports. Times always use . as decimal separator now.

  • Fixed a memory leak for Application Context (Section 6.3.12) objects in Perl.

  • Errors inside event-handlers in Perl are now properly logged in test results.

  • Added test.xvp to be consistent with test.xverify and test.xcompare.

  • Added test.compareJSONFiles function to Ruby and Perl.

  • Added testSettings.breakOnFailure property to make it possible to debug a failing verification.

  • The functions dragAndDrop as well as dropOn now correctly report any AUT crashes which may have occurred as part of the drag operation.

  • Fixed an issue in the findAllObjects which caused it to abort the test execution abnormally in some cases.

2.2.5. Qt-specific

  • Fixed order for gesture recordings on QtQuick scenes.

  • Fixed recording actions on the global menu bar in macOS with Qt 5.12.

  • Introduced Basic support for Qt3D (from Qt 5.11.2) and Qt3D Studio scenes (from Qt 5.12).

  • Fixed behaviour of Ctrl+Click when picking Qt controls on Windows.

  • QQmlContext::resolvedUrl() is now callable from test scripts.

  • Fixed incomplete recordings for QtQuick 2 when using Stop Recording from the Squish IDE Control Bar.

  • Added support for recording of touch-based flicking of QtQuick Flickable objects.

  • Added support for recording/replaying of keyboard shortcuts in QtQuick based AUTs.

  • Fixed an issue causing HTML components in QtQuick WebEngineView controls to not get detected correctly when using Qt 5.12 or later.

2.2.6. Java™-specific

  • Fixed a defect in the findAllObjects function due to which the returned array was sometimes missing one object.

2.2.7. Web-specific

2.2.8. Windows (native)-specific

  • Improved recognition of TextBlocks in templated WPF controls.

  • Introduced new chooseFile function for portably automating native Windows file dialogs.

  • The setValue now accepts fractional values when used with WPF sliders.

  • Added checked property to button controls accessed via UIAutomation.

  • Improved robustness of code for fetching bounding rectangle of MFC scrollbars.

  • Fixed value returned by ApplicationContext.commandLine such that it yields the command line of the AUT, as intended.

  • Fixed a bug causing the test to abort in some cases when interacting with MFC toolbar controls..

  • Fixed intermittent issue causing mouseDrag and dragAndDrop to not replay correctly in case mouse cursor animation is enabled.

2.2.9. macOS-specific (Cocoa/Carbon edition)

  • The picker tooltip now works correctly with the Dark Mode on macOS - it no longer shows light text on light background.

2.2.10. iOS-specific (iPhone/iPad edition)

  • Fixed a problem with iphonelauncher not listing any devices when the Xcode installation has been renamed.

  • Added ability to pass command-line arguments to the AUT.

2.2.11. Source Packages

  • Qt 4/5 is now autodetected if qmake was found in the PATH.

  • Builds with Qt 3 may now require passing the with-qtdir option to the configure program.

  • Builds with Qt 5 either need qmake in the PATH, or need to pass the with-qmake to the configure program.

  • Added support for CXX environment variables that also contain compiler arguments.

2.2.12. Known Issues

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