Squish 5.1 is a major new release with many new features and bug fixes. Here is a selected summary of the release's highlights—a detailed list of all the main changes is given in the sections that follow.
The Android, iOS and Qt editions of Squish now have full support for automating tests on touch-devices, including full support for multi-touch gestures. Gestures can be recorded and replayed from test scripts and a convenient editor is provided for editing recorded gestures.
Major improvements to the handling of "Object Not Found" errors when replaying tests. The test execution will suspend and a dialog is shown which allows the user to select an alternative object, to edit the object map and more.
New integration plugins for Atlassian Bamboo and JetBrains TeamCity have been added.
A command line tool for importing test results into Atlassian JIRA has been added.
Web tests performed with Chrome no longer require the use of a proxy server.
QNX, Android and VxWorks have been added to list of target platforms for testing of Qt applications. This has been achieved through the addition of an optional Embedded SDK that also streamlines builds for embedded Linux and Windows CE.
The Python editor used by the Squish IDE will do more extensive Code Analysis on the test scripts. This enables better code completion including the functions and modules provided by Squish. If the test scripts use the standard Python import mechanism to include shared scripts the editor's code completion will also include functions and classes from those imported scripts.
Various stability improvements for the squishrunner (Section 19.4.1) program in case the AUT terminates unexpectedly.
Fixed a problem which broke the replay order of test scripts with Unicode characters in the file path.
When running Squish on Windows, special "dump files" will be generated more often in case a problem occurs to improve the interaction with froglogic technical support.
Creating screenshot verification points on Windows now handles transparent windows correctly.
setup window is no longer fixed in
setup program now performs sanity checks
on the selected JRE to detect architecture mismatches.
Various stability improvements for the
The overall performance of accessing the AUT (calling methods, getting/setting properties etc.) has been improved.
A new xml2jira (Section 19.4.9) tool is now included with Squish, it allows creating and updating JIRA tickets based on Squish test reports.
squishrunner (Section 19.4.1) gained a new command line
--exitCodeOnFail which can be used to define a custom
exit code which squishrunner should return in case a fatal error is encountered
while executing a test.
has been added.
squishtest Python module can
now be used with the Python Tools
for Visual Studio integration as well as other third-party Python
Clicking the Pause button in the control bar no longer suspends test execution in all running instances of the Squish IDE.
Fixed various usability issues with the environment table in the test suite settings.
Fixed various usability issues when editing real names in the object map editor.
Resolved an issue related to selecting multiple real-name entries in the object map editor.
The Squish IDE no longer "stalls" when launching the image verification point editor or the setup program.
Fixed a bug related to test cases and test suites with certain
# and certain
non-ASCII characters) in their names.
Improved layouting of the Squish IDE to avoid that the Test Suite view gets too small in certain cases.
Silenced a External Modification Detected dialog triggered when creating a test case while the test suite settings are opened with unsaved changes.
Corrected window focusing when external editors (such as the image verification point editor or the gesture editor) are launched.
Fixed a bug which caused incorrect code to be generated when
creating verifications of certain properties (such as
Ruby test suites.
Fixed various cases in which dialogs wouldn't get hidden when the control bar is shown.
The Pause button in the control bar is no longer enabled when picking an object (the pause button used to be enabled, but clicking it had no effect).
Resolved various issues due to which error messages related to Python were shown when opening multiple Python test suites simultaneously.
Added a new Close All Test suites button.
The Integration package now supports integration into Eclipse 4.
Added support for DLTK5/PyDev 3.
Major improvements to code analysis and code completion features for Python tests.
The Manage AUTs dialogs can now be opened directly via the test suite settings editor.
Starting a second Squish IDE will now show a dialog offering to terminate the existing Squish IDE in order to re-use the workspace of the existing Squish IDE.
Added support for managing, viewing and editing gestures.
The What's New page will now show the froglogic RSS feed.
The tools-selection dialog now offers collecting technical information for submission to froglogic technical support to simplify debugging issues caused by broken installations.
The working directory behaviour of squishserver (Section 19.4.2) can now be changed such that it uses the working directory of the Squish IDE.
Improved output of
Python and Ruby scripts to include the type of the compared
RegExp objects now support Unicode
GestureBuilder API is available for creating
gestures programmatically in test scripts.
A new ApplicationContext.totalTime property has been introduced which returns the CPU time used by the AUT.
getElementsByTagName method which yields a list of elements with
a given tag name.
Added a new testSettings.logScreenshotOnPass property which can be used to automatically create screenshots in case a verification passes.
Array objects with various new
setup program now defaults to locating
the Qt library used by the AUT automatically, except for tests executed on
Mac OS X (which still requires specifying the path to the
openContextMenu() function is
now recorded correctly when clicking
Example programs for Qt5 now include the required Qt libraries to make them usable out of the box.
Optimized accessing web objects in embedded web controls when using hierarchical names.
QObject properties with custom
QObject-based types in Qt 5 applications. Users who
resorted to accessing built-in properties via function calls
QQuickItem::parent() should now simply use
Added support for Qt 5.2.
Added dedicated support for QtQuick controls
Added support for Visual Studio 2013 builds.
It's now possible to record and replay touch events as well as multi-touch gestures.
Major improvements to the diagnostic output generated by Squish in case hooking into a Qt application fails.
Support for scripts calling methods with return type
added to allow uninstalling event handlers.
Support calling slots from test scripts with
ushort parameters or return values.
QPixmap sub-properties (such as
depth) are now accessible from test scripts
and shown in the Squish IDE.
Added support for recording and replaying
resizes, moves and state changes (minimizing/maximizing/etc.).
Added support for
QWebView controls when running
tests on Solaris.
On touch-enabled devices, objects can now be picked by tapping the screen.
Support for single-touch tap recording on QWidgets and QtQuick controls added.
Support for single-touch drag recording on QtQuick controls added.
Support for (multi-)touch gesture recording and replay on QWidgets and QtQuick controls added.
It's now possible to use wildcards for the
property for multi-property
Fixed crash when creating a string representation of a self-referencing nested Java array.
The Spy tool now works correctly for JavaFX applications containing more than one Stage object.
Simplified deployment of example applications; each example is
now bundled into a single
Fixed accessing multi-dimensional Java arrays from test scripts.
Corrected super-class of
JavaArray class, which is
now a sub-class of
Corrected handling of JFace
Fixed an issue related to the "chevron" object of
controls in recent SWT versions.
Resolved a bug which made scrolling to table cells fail when replaying a test script.
Improved compatibility with touch-enabled devices by replaying clicks using touch events.
Firefox versions older than 4.0 are no longer supported.
Fixed a bug in
closePrompt() function which
occasionally caused it to not cancel prompt dialogs
Corrected coordinates for elements contained in dialogs shown by Internet Explorer.
Improved robustness of hooking into
The Internet Explorer window is no longer closed when a test finished if Squish attached to a running IE instance.
Improved support for stripped-down SmartGWT applications.
Fixed a problem related to loading URLs without a scheme when replaying tests with Chrome.
Fixed a rare crash triggered when closing Internet Explorer windows.
Made it possible to run the addressbook example with Internet Explorer 8.
It's now possible to pick links of buttons without triggering the associated actions (for browsers other than Internet Explorer).
Added support for automating alert/confirm/prompt dialogs shown by embedded web controls.
Extended Chrome support by removing limitations imposed by proxy-based testing. Chrome is now accessed using a Chrome extension.
visible property now takes CSS-defined visibility
BodyUnloaded event has been added to allow test
scripts to react to the current page being unloaded.
selectOption() function can now be called with
a list of strings to simplify selecting multiple entries in a multi-select
selectOption() function now supports selecting
items based on their
value property instead of the user-visible
Added support for running tests with Firefox on Solaris.
DatePicker controls now expose the nested edit
control to make replaying text input to date pickers work
Fixed a bug which occasionally kept Squish from hooking into .NET applications.
Resolved an issue which sometimes made replaying test scripts on MFC list view items trigger a high CPU load.
Fixed a resource leak which might cause the system to run out of memory if Squish repeatedly attaches to and detaches from an application.
Greatly improved accuracy of determining which WPF control (if any) is beneath the mouse cursor, this fixes various issues related to recording actions on WPF controls and picking them.
Resolved a potential crash when replaying tests on Windows Forms applications.
Added dedicated support for DevExpress WPF controls.
Squish now tries to make use of the Microsoft UI Automation
framework for accessing GUI controls before falling back to generic
The names of objects shown in the Spy are now much more descriptive.
MFC menu items now expose an
It's now possible to create screenshot verification points for web objects in embedded web controls.
Squish packages are now "universal builds", both 32-bit as well as 64-bit applications can be tested with a single Squish package.
injectMacWrapper example script no
longer requires modifications to be usable.
selectOption() can now be used with
WebView controls embedded into OS X
Support for recording and replaying multi-touch gestures.
Added support for building with Xcode 5.1 and iOS 7.1.
selectOption() can now be used with
WebView controls embedded into iOS apps.
Added support for recording and replaying multi-touch gestures.
An experimental alternative hooking method with greatly improved performance has been added.
can now be used to access all native classes without any further
tapMenuItem() function now correctly raises an
exception when the menu item is not found.
Fixed recording of keyboard input on WebView HTML objects for Android 4.0 ("Ice Cream Sandwich").
It is now possible to specify TCP device strings when calling
startApplication to launch Android
Added support for applications using a renamed Tk library (only on Linux).
Added support for Perl/Tk applications (only on Linux).
The Ant integration now supports running multiple test cases of a given test suite.
The Jenkins integration plugin now supports setting squishserver (Section 19.4.2) options.
The Jenkins integration now allows running multiple Squish test cases in a single build step.
The settings entered for a Jenkins Squish build step are now verified more diligently.
The algorithm used by Squish/Web for generating object names is now documented.
The Search feature of the HTML help has been reworked to yield better results. Also, the results are grouped by topic.
The instructions for creating partial builds (for Qt test) have been simplified.
A newly added Embedded SDK provides support for QNX (using the qcc compiler frontend), Android, VxWorks and a simplified configuration for embedded Linux. Customers with existing support contracts for cross-compilation builds will be receive a free upgrade for their target platform.
Make the code compile with Qt 5.3 (still in beta).
The squishidl (Section 19.4.3) utility is now shipped with Squish binary packages to simplify doing partial builds.
Squish source builds can now make use of an existing
squishidl binary (useful for embedded
configure program now queries an
optional Qt namespace name as well as a library infix from qmake (when using
configure program can optionally query
qmake for compiler and linker flags to
install target has been added to simplify
distribution to remote & embedded systems (currently unsupported on
Mac OS X).