Table of Contents
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.
The choice of scripting languages used for recording, writing, and executing test scripts has been extended to include Ruby—this is in addition to JavaScript, Perl, Python, and Tcl.
Squish for Windows now properly recognizes WPF controls.
Squish for Web now includes dedicated support for SmartGWT controls in web pages.
The Quality Center™ integration has been extended beyond Quality Center™ 10 to include HP ALM 11; there have also been many bug fixes made.
Table of Contents
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™, macOS, Qt, and Windows AUTs. See How to Create and Use Table Verifications (Section 5.22.2).)
A new applicationContext.detach
method was introduced for
Application Context (Section 6.3.12) objects. This method can be used for closing (or
detaching from) previously started (or attached)
applications.
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
--reportgen
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.
The source
function
when used in Tcl scripts
now supports the -encoding
option to match
a Tcl 8.5 API change. This fixes using the “clock
format”
command in Tcl 8.5 test scripts.
Table of Contents
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-down
menu 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 button to perform this check. | |
| | Note that on macOS the | remains in the menu.
The
and 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.
The
button 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 new
option 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 new
option 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
resolved.
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
fixed.
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
&
, <
and
>
) now works properly.
Table of Contents
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.
The clearObjectCache
function can now be
used on QWebView
, QDeclarativeWebView
,
and QGraphicsWebView
widgets.
The loadUrl
and
evalJS
functions can now be
used on QGraphicsWebView
and
QDeclarativeWebView
widgets.
Recording actions on QWebKit
widgets no longer
causes each action to be recorded twice.
Squish no longer overwrites the
QApplication
object's
desktopSettingsAware
property, so now AUTs
always run with their correct color palettes.
Fixed the recording of mouse clicks on
QGraphicsView
objects which have no item at the clicked
position.
Improved support for applications using
QWebView
but which do not link against the QDeclarative
library.
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
contained in QGraphicsView
widgets are now displayed
correctly in the Spy.
Table of Contents
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.
Fixed a problem which caused the
chooseColor
,
chooseDirectory
,
chooseFile
, and
closeMessageBox
functions
to not report an error in case the specified dialog didn't
get opened.
Resolved a problem with replaying tests on RCP Indigo Cocoa applications on macOS.
Made replaying text input using the
type
function more stable.
Resolved a problem which caused Webstart applications to get stuck when they start.
Fixed a problem with recording
setValue
calls where the 'value' argument was wrong in some
cases.
Table of Contents
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.
The waitForObjectItem
function is now fully supported when creating Web
tests.
The clickItem
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
cases.
A new 'overlay mode' was introduced which shows useful information for elements under the mouse cursor. See How to activate the Squish object popup Knowledge Base article for how to enable and use this mode.
The HTML_CustomItemView Class (Section 6.10.16) 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.
The scrollTo
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
as
\n
or \r
).
Fixed calling the loadUrl
function right after closing the browser window using the
nativeType
function (e.g. by typing
<Alt+F4>
).
Resolved an issue which caused problems when creating screenshot verification points on macOS Lion.
The GWT support now works correctly with recent GWT versions.
The typeText
function now works correctly with Internet Explorer 8 and
later versions.
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.
Table of Contents
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. {type='List'
nativeObject.Items.Count='50'}
).
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.
Table of Contents
The nativeType
function
now accepts key combinations like
<Ctrl+F2>
.
Replaying tests will now wake up the display if it is in sleep mode.
Various stability issues with the
grabWidget
function have been
resolved.
Fixed a bug which caused the AUT to get stuck when replaying menu interactions.
Taking screenshots on macOS 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 4.9.1.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
remove the macbuiltinhook.h
from your Xcode
project. Then you are ready to do the necessary changes for
Squish 4.2.
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
the 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=Mac
to WRAPPERS=iOS
. Then you
can open the test suite in the Squish IDE and change the
Application: from
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).
Fixed various issues with the
touchAndDrag
function.
A bug which broke executing touchAndDrag
right after executing clickObject
has been
fixed.
Table of Contents
Added a runtime configuration setting to enable or disable the TkInter name generation.
Table of Contents
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 Quality Center™.
In case the plugin fails to launch squishrunner, an appropriate test result is logged in 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.
Table of Contents
Table of Contents