Version 6.5
Squish 6.5 is a feature release which delivers new features to all editions of the product.
Furthermore, a lot of features and bug fixes were applied to individual Squish editions since Squish 6.4; see the following sections for a detailed list of all changes.
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 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 instructions to compile the client-side programs using Qt 4.
- The client-side tools of Squish as well as the
squishide
are not supported on AIX or Solaris anymore. To continue testing applications on these platforms, please see the section Distributed Tests 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 instructions on how to compile the relevant components of Squish using these compilers manually.
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.
squishide
-specific
- The
squishide
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
squishide
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
squishide
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.
Scripting
- Fixed an issue in the ScreenRectangle findImage(imageFile, [parameterMap], [searchRegion]) and ScreenRectangle waitForImage(imageFile, [parameterMap], [searchRegion]) 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 tosquishtest
Python module which can be used to enable more verbose logging. - The nativeType(keys) function now replays key combos involving letters and the
Ctrl
key as expected when running tests on Windows. - Introduced the String getOcrText([parameterMap], [searchRegion]), ScreenRectangle findOcrText(text, [parameterMap], [searchRegion]), ScreenRectangle waitForOcrText(text, [parameterMap], [searchRegion]) and SequenceOfObjects findAllOcrText(text, [parameterMap], [searchRegion]) script API functions that allow querying the results of the desktop screenshot OCR.
- Introduced the Boolean test.imagePresent(imageFile, [parameterMap], [searchRegion]) and Boolean test.ocrTextPresent(text, [parameterMap], [searchRegion]) 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(pathToFile, message) for attaching files to the test report.
- Introduced test.attachDesktopScreenshot(message) for attaching desktop screenshots to the test report.
- Added support for JavaScript array destructuring like
var [a, b] = [10, 20];
. - Added
includes()
,startsWith()
andendsWith()
functions to JavaScriptString
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 objects in Perl.
- Errors inside event-handlers in Perl are now properly logged in test results.
- Added Boolean test.xvp(name) to be consistent with Boolean test.xverify(condition) and Boolean test.xcompare(value1, value2).
- Added Boolean test.compareJSONFiles(expectedFilePath, actualFilePath) function to Ruby and Perl.
- Added testSettings.breakOnFailure property to make it possible to debug a failing verification.
- The functions dragAndDrop(source_objectOrName, sx, sy, target_objectOrName, tx, ty, action) as well as dropOn(target_objectOrName, tx, ty, action) now correctly report any AUT crashes which may have occurred as part of the drag operation.
- Fixed an issue in the SequenceOfObjects findAllObjects(objectName) which caused it to abort the test execution abnormally in some cases.
Qt-specific
- Fixed order for gesture(objectOrName, touches) 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
squishide
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.
Java-specific
- Fixed a defect in the SequenceOfObjects findAllObjects(objectName) function due to which the returned array was sometimes missing one object.
Web-specific
- Added support for automating Safari 12 and later versions. See Safari 12 or newer on macOS 10.13 or later for configuration instructions.
- Improved error reporting for all Squish for web functions.
Windows (native)-specific
- Improved recognition of TextBlocks in templated WPF controls.
- Introduced new chooseFile(path) function for portably automating native Windows file dialogs.
- The setValue(objectOrName, integer) 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(objectOrName, dx, dy) and dragAndDrop(source_objectOrName, target_objectOrName) to not replay correctly in case mouse cursor animation is enabled.
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.
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.
Source Packages
- Qt 4/5 is now autodetected if
qmake
was found in thePATH
. - Builds with Qt 3 may now require passing the
with-qtdir
option to the configure program. - Builds with Qt 5 either need
qmake
in thePATH
, or need to pass thewith-qmake
to the configure program. - Added support for
CXX
environment variables that also contain compiler arguments.
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.
© 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.