2.34. Version 4.2.0

Table of Contents

2.34.1. General
2.34.2. IDE
2.34.3. Qt-specific
2.34.4. Java™-specific
2.34.5. Web-specific
2.34.6. Windows (native)-specific
2.34.7. macOS-specific (Cocoa/Carbon edition)
2.34.8. iOS-specific (iPhone/iPad edition)
2.34.9. Tk-specific
2.34.10. Quality Center™-specific
2.34.11. Source Packages
2.34.12. Documentation

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.

2.34.1. General

2.34.1.1. New Features

  • 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.

2.34.1.2. Important Bug Fixes

  • 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.

2.34.2. IDE

2.34.2.1. User Interface Rearrangement

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 Squish menu and an improved Run menu:

Old Menu OptionNew Menu OptionNotes
 Navigate|Open Symbolic NameThis 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.
Squish|Launch AUTRun|Launch AUT 
Squish|Quit AUTRun|Quit AUT 
Squish|Record Test CaseRun|Record Test Case 
Squish|Record SnippetRun|Record Snippet 
Squish|Run Test SuiteRun|Run Test Suite 
Squish|Run Test CaseRun|Run Test Case 
Squish|Close Test SuiteFile|Close Test Suite 
Squish|Delete Test SuiteFile|Delete Test Suite 
Squish|Add Symbolic Name This is no longer a menu entry. Click the Object Map's Symbolic Names lists's New button to create a new symbolic name.
Squish|Manage AUTsEdit|Server Settings|Manage AUTsThis menu option is Window|Server Settings|Manage AUTs in the Squish Eclipse integration.
Squish|Check Object Existence This is no longer a menu entry. Click the Object Map's Check Existence button to perform this check.
PreferencesEdit|Preferences Note that on macOS the Preferences remains in the Application menu.

The Create New Test Suite and Open Test Suite toolbar buttons have been moved out of the Test Suites view and put into the top-level toolbar.

2.34.2.2. Other Changes

  • The layout of the AUT section in the test suite settings view has been rearranged to make it easier to understand and use.

  • The Check Existence 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.

2.34.2.3. New Features

  • 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 Open Symbolic Name 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 Clear 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.

2.34.2.4. Important Bug Fixes

  • 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.

2.34.3. Qt-specific

2.34.3.1. New Features

  • 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.

2.34.3.2. Important Bug Fixes

  • 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.

2.34.4. Java™-specific

2.34.4.1. New Features

  • 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.

2.34.4.2. Important Bug Fixes

  • 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.

2.34.5. Web-specific

2.34.5.1. New Features

  • 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 Overlay-Div 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.

2.34.5.2. Important Bug Fixes

  • 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.

2.34.6. Windows (native)-specific

2.34.6.1. New Features

  • Dedicated support for the WPF toolkit has been added.

  • Support for recognizing labels in Visual Basic 6 applications has been added.

2.34.6.2. Important Bug Fixes

  • 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.

2.34.7. macOS-specific (Cocoa/Carbon edition)

2.34.7.1. New Features

  • The nativeType function now accepts key combinations like <Ctrl+F2>.

2.34.7.2. Important Bug Fixes

  • 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.

2.34.8. iOS-specific (iPhone/iPad edition)

2.34.8.1. Other Changes

  • 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.

2.34.8.2. New Features

  • 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).

2.34.8.3. Important Bug Fixes

2.34.9. Tk-specific

2.34.9.1. New Features

  • Added a runtime configuration setting to enable or disable the TkInter name generation.

2.34.9.2. Important Bug Fixes

  • A problem which made it impossible to disable hooking Tk applications' sub-processes applications on Unix has been fixed.

2.34.10. Quality Center™-specific

2.34.10.1. New Features

  • Quality Center™ 11 is now supported.

  • Screenshots generated by FAIL or FATAL results are now attached to the test run.

2.34.10.2. Important Bug Fixes

  • 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.

2.34.11. Source Packages

2.34.11.1. Important Bug Fixes

  • Source packages can now be compiled with Xcode 4.2 on macOS.

2.34.12. Documentation

2.34.12.1. New Features

  • Ruby versions of the examples have been added.

2.34.12.2. Important Bug Fixes

  • Minor improvements and additions have been made throughout.

  • The documentation of the Quality Center™ plugin was rewritten from scratch, now reflecting the current state of things and discussign more recent Quality Center versions.