Squish 4.2 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 IDE now supports the creation of verification points for complex item views, such as tables.
Squish for Windows now properly recognizes WPF controls.
Squish for Web now includes dedicated support for SmartGWT controls in web pages.
The HP Quality Center™ integration has been extended beyond HP Quality Center™ 10 to include HP ALM 11; there have also been many bug fixes made.
Ruby is now a supported scripting language and can be used for creating and replaying tests.
Entire tables can be verified using table verification points. Currently this is available for Java™, Mac OS X, Qt, and Windows AUTs. See How to Create and Use Table Verifications (Section 14.20.2).)
applicationContext.detach method was introduced for
Application Context (Section 15.3.11) objects. This method can be used for closing (or
detaching from) previously started (or attached)
ApplicationContext objects now allow querying the command line and start time of all launched (or attached) processes, including sub-processes.
It is now possible to specify the
option multiple times when invoking squishrunner on the
command line; this makes it possible to generate multiple report
files in different formats at the same time.
The stability of the squishserver processes running on Windows has been significantely improved.
The support for test scripts interacting with multiple applications at the same time has been greatly improved. This resolves various issues when recording, replaying, and spying.
Various problems with breakpoints in Python scripts have been resolved.
when used in Tcl scripts
now supports the
-encoding option to match
a Tcl 8.5 API change. This fixes using the “clock
command in Tcl 8.5 test scripts.
The new Squish IDE's menus and toolbars have had several changes to make them more logical and easier to navigate and use.
Here is a table listing the menu changes which include a slimmed-downmenu and an improved menu:
|Old Menu Option||New Menu Option||Notes|
||||This is a new menu option. Clicking this menu option makes Squish open the Object Map and highlight the symbolic name that matches the name at the editor's cursor position or that is selected.|
||||This is no longer a menu entry. Click the Object Map's Symbolic Names lists's button to create a new symbolic name.|
||||| |||This menu option is Squish Eclipse integration.| | in the|
||||This is no longer a menu entry. Click the Object Map's toolbar button to perform this check.|
|||||||Note that on Mac OS X theremains in the menu.|
Theand toolbar buttons have been moved out of the Test Suites view and put into the top-level toolbar.
The layout of the AUT section in the test suite settings view has been rearranged to make it easier to understand and use.
Thebutton has been moved into the Object Map editor.
The settings which influence the squishserver have been moved into a separate dedicated dialog.
Hidden files are no longer shown in the test resources views.
Support for the Ruby scripting language has been added.
A new filtering dialog has been introduced to the Object Map editor, which greatly simplifies the editing of real (multi-property) names.
It is now possible to create and edit table verification points as well as displaying the differences between two tables in case a comparison fails.
Two new toolbar buttons have been introduced to the toolbar to simplify creating and opening test suites.
Testing applications which use some sort of “launcher application” concept has been greatly simplified. This makes it easier to configure iOS and Java WebStart test suites.
A new setting has been added which can be used to specify whether the IDE window should remain visible while a test is recorded or executed.
A newoption has been added to the menu bar and to the test script editor's context menu in case the cursor is on a symbolic name. Its action is to open the Objec Map with the relevant symbolic name highlighted.
It is now possible to open test suites from the
command line by specifying the relevant test suite's directory
or the test suite's
suite.conf file as an argument to
the squishide command.
It is now possible to drag and drop test scripts, test data files, and verification point files between test cases, test scripts, and shared script filters.
A newoption has been added to the test summary view.
More IDE actions can be associated with keyboard shortcuts.
The fonts and colors used for Fails, Warnings, and Passes in the test results view can be customized using the theme configuration.
The order of test cases in XML result files and when loading older test results is now correct.
Fixed cases where the objects shown in the Application Objects and Property View views did not correspond to the AUT's current state.
Fixed a file handle leak which caused the IDE to keep files open after they were no longer being used.
Fixed a bug which caused the Import Test Resource wizard to be empty for fresh Squish installations.
Malformed screenshot verification points are now handled gracefully.
The performance of various directory-related dialogs (New/Open Test Suite, Select Squish Directory) when used with network-mounted (or otherwise slow) file systems has been greatly improved.
Various issues with working on verification
point files stored in subdirectories of the
verificationPoint directory have been
Fixed a problem which caused a File changed externally notification to appear even though there were no such external changes.
A bug which caused recorded
startApplication statements to be malformed
in cases where the application name contains spaces has been
Recording tests on Java™ applications for which the Main Class setting in the test suite settings is used.
The control bar is no longer shown when integrating the Squish plugins into Eclipse and launching non-Squish applications.
In some situations, entries in the test suite setting's Environment Variables section were mistakenly duplicated. This problem has been resolved.
A problem which appeared when trying to change existing keys in the test suite setting's Environment Variables has been solved.
The verification point editor no longer has problems with non-ASCII characters.
An issue which broke stopping at breakpoints after using the 'Step' feature has been fixed.
Generating test result files for test cases
and test suites which have certain characters (like
>) now works properly.
Qt 4.8 is now supported.
It is now possible to test Qt sub-applications on Windows without modifying the host application.
QML objects now expose an 'id' property which is the default way that Squish identifies them.
clearObjectCache function can now be
Recording actions on
QWebKit widgets no longer
causes each action to be recorded twice.
Squish no longer overwrites the
desktopSettingsAware property, so now AUTs
always run with their correct color palettes.
Fixed the recording of mouse clicks on
objects which have no item at the clicked
Improved support for applications using
but which do not link against the
Actions on QML elements which are flagged as having no content (i.e., ones that are not drawn on screen) are no longer recorded.
Fixed a problem in the Spy tooltip (when picking objects) for applications which use their own palette.
QGraphicsWebView objects which are
QGraphicsView widgets are now displayed
correctly in the Spy.
Squish now supports SWT applications which use multiple Display instances.
Web pages embedded into RCP applications (i.e. help viewers) are now supported.
SWT ToolItem objects gained a new 'tooltiptext' property.
Squish for Java™ is now supported on the AIX platform.
Fixed showing native dialogs when using the startjavaaut command in some situations.
Resolved a problem with replaying tests on RCP Indigo Cocoa applications on Mac OS X.
Made replaying text input using the
function more stable.
Resolved a problem which caused Webstart applications to get stuck when they start.
Fixed a problem with recording
calls where the 'value' argument was wrong in some
All Firefox versions up to version 10 are now supported.
Much improved support for SmartGWT controls including: Calendar, ColorChooser, ComboBox, DateChooser, ListGrid, Menubar, MenuButton, Menus, ProgressBar, Sections, SelectItem, TabWidget, and TreeGrid.
function is now fully supported when creating Web
function can now be called with row and column numbers instead
of the item's text.
When recording web tests, a new
clickTab function call is recorded in some
A new 'overlay mode' was introduced which shows useful information for elements under the mouse cursor. See How to Activate the Overlay-Div Knowledge Base article for how to enable and use this mode.
The HTML_CustomItemView Class (Section 15.10.15) extension API now supports modeling trees with multiple columns.
The calculation of on-screen coordinates (including the size) for Web elements has been greatly improved. This makes it much easier to use screenshot verification points in Web tests.
function now works correctly for elements in item views which have their
own scrollbar (and also for similiar cases such as tab widgets, pure
HTML 'windows' etc.).
Object lookup (and picking) now works on images
which have 'alt' attributes containing special characters (such
Resolved an issue which caused problems when creating screenshot verification points on Mac OS X Lion.
The GWT support now works correctly with recent GWT versions.
function now works correctly with Internet Explorer 8 and
A bug which made listing itemview child items very slow has been resolved.
Generating object names for itemview items has been optimized.
Interactions with file upload form elements now replay more reliably.
Dedicated support for the WPF toolkit has been added.
Support for recognizing labels in Visual Basic 6 applications has been added.
Looking up MFC listbox items using regular expressions now works correctly.
Pressing the 'Windows' key is now recorded and replayed correctly.
Replaying actions on disabled or hidden .NET controls no longer silently succeeds; instead, an exception is thrown (as intended).
Fixed automating Windows Forms applications which show a splash screen in a different thread than the main window.
Automating Exontrol, Infragistics, or generic ActiveX controls now works properly if Squish is installed in a path with more than 100 characters.
Fixed a crash which occurred when performing
object lookups using nested properties (i.e.
Fixed a potentially large slowdown of test
execution for tests which use the
text property for
identifying some objects.
In some cases, the 'Extra Windows' setting was not respected; this has been fixed.
now accepts key combinations like
Replaying tests will now wake up the display if it is in sleep mode.
Various stability issues with the
grabWidget function have been
Fixed a bug which caused the AUT to get stuck when replaying menu interactions.
Taking screenshots on Mac OS X 10.7 ("Lion") now works correctly.
It is now possible to pick objects even if a completely transparent window is in front of another window (the transparent window is ignored).
Recording and replaying presses of the Enter key now works correctly.
Changed the wrapper library from a dynamic library to a static library for testing on a device. This was done to make the whole setup for device testing easier and less error prone (especially the additional code signing step for the dynamic library caused a lot of problems and is no longer needed).
If you already used device testing with Squish before the 4.2 release, please note that you have to first revert the changes to your Xcode project and follow the steps described in Notes on Testing iOS Apps in an iPhone or iPad (Section 10.7).
Reverting the changes means that you have to remove the
libsquishcocoatouchwrapper.dylib from your
project and remove it from the Other Code Signing
Flags entry in your project settings. You should also
macbuiltinhook.h from your Xcode
project. Then you are ready to do the necessary changes for
Added support for iOS 5.
Introduced iOS as its own test suite type. This
means that you no longer have to create a Mac test suite and use
iphonelauncher utility as the AUT. If you
have a iOS test suite, you can specify the iOS app (built for
running in the simulator) directly as an AUT.
Your old test suites will continue to work. But when you create new test suites, you should start using the iOS test type instead.
If you want to convert your existing test suites to the new
test type, you can open the
suite.conf of your
test suite in a text editor and change the line
WRAPPERS=iOS. Then you
can open the test suite in the Squish IDE and change the
iphonelauncher to your iOS application. If you
specified any Arguments: other than your iOS
app, you have to move them to the Launcher
Arguments: line edit. And you should also remove the
path to your iOS app from the Arguments: line
edit (the entry should be empty).
Added a runtime configuration setting to enable or disable the TkInter name generation.
HP Quality Center™ 11 is now supported.
Screenshots generated by FAIL or FATAL results are now attached to the test run.
The qcimporter utility program now allows importing test cases which have whitespace in their names.
Fixed a problem which caused the test status to be wrong when executing Squish tests from within HP Quality Center™.
In case the plugin fails to launch squishrunner, an appropriate test result is logged in HP Quality Center™.
Resolved an issue which caused the result viewer to show the results of an older test run (instead of the selected run) in some cases.