Version 4.0.1
General
- Improved the reliability of calls to the
dragAndDrop
function on Windows machines. - Deal with the Tcl "wide" integer type. Fixed overload errors when, for example, the
[seek]
command is being used. - Properly contain internal lookup errors that may occur during calls to the Boolean object.exists(objectName) function.
- Invoking squishrunner
--testsuite
now correctly prints all the test scripts'stderr
output tostderr
instead of merging the scripts'stderr
andstdout
output all intostdout
. This restores the Squish 3.4.x behavior. - No longer produce a spurious "Connection closed" error which sometimes occurred on application exit—for example, if the application was quit inside an event handler.
- Fixed some problems that could occur when running squishrunner
--testsuite
on the command line where the test scripts output lots of text tostdout
.
New IDE
- Fixed a bug where the Squish IDE could hang during startup.
- Prevented native Windows dialogs from randomly appearing by upgrading to a newer Java Runtime environment.
- Fixed high CPU consumption in the Script Console view after terminating script execution.
- Recording of new TSL scripts is not supported so this language option is no longer shown.
- Prevented a spurious exception from occurring when using the Terminate button to stop execution while halted at a breakpoint.
- Prevented a spurious exception from occurring when filtering out all the results from the Test Results view.
- Prevented a spurious exception that could occur when opening a file in an editor other than one of the default script editors.
- Stopped flickering when updating the text shown in the Control Bar Window.
- Gracefully handle the opening of a test suite that has the same name as an existing test suite.
- Fixed a problem with the Launch AUT action that could occur when the editor is maximized.
- Prevented a spurious exception that could occur when quickly toggling a property checkbox in the Verification Point Creator view.
- Disable the Launch AUT action, the Run Test Case action, and the Record Test Case action when they don't make sense—for example, when a test case has started.
- Drastically improved the performance of the Test Results view by reducing the number of screen refreshes.
- Automatically open the correct Console view when stopping at a breakpoint.
- Improved the error message that appears when an attempt is made to select an invalid "Squish Tools" package.
- Fixed a regression where the Preferences dialog's Playback preferences page was hidden: it is now visible. This page is used to configure the Snooze Factor and Cursor Animation settings.
- When a file is deleted any editors that are showing the file's contents are now correctly closed.
- Fixed the updating of failed image verification points with new expected results.
- The Delete Test Suite action is now disabled when the AUT is running.
- Gracefully handle the absence of a suite settings file (
suite.conf
). - The order of test cases is now correctly maintained in the
suite.conf
file even when a test case is renamed. - Any changes made through the Squish IDE that affect the
suite.conf
file now result in the file being updated immediately. This ensures that if the squishrunner accesses thesuite.conf
file after a change has been made in the Squish IDE, the squishrunner gets the most up to date data. - Fixed results produced by the Check Object Existence action.
Qt-specific
- Wildcard matches can now be used on
QGraphicsItem
objects'lineColor
andfillColor
properties. - Modifier key presses are now correctly simulated when calling the dragItemBy(objectOrName, x, y, dx, dy, modifierState, button) function.
- Added a new
editable
property toQModelIndex
objects. - Added mouseClick(objectOrName, x, y, modifierState, button) overloads for
Q3ListView
andQ3TableItem
objects. These new overloads don't require mouse button or keyboard modifier arguments. - Added a mouseClick(objectOrName, x, y, modifierState, button) overload for clicking web objects inside
QtWebKit
widgets. This overload doesn't require mouse button or keyboard modifier arguments. - Fixed the recording and replay of clicks on
QComboBox
items that have no text. - Improved the performance of looking up items in Qt widgets.
- Fixed the start*aut tool's
--verbose
option - Fixed out-of-bounds checking for rows and columns.
- The object cache is now correctly invalidated when Squish detects that a cached
QObject
got deleted. - Improved the recognition of web elements inside
QtWebKit
widgets in cases where the widget's HTML document is reloaded. - Properties of type
QUrl
belonging toQObject
s are now automatically exposed. - Improved the error message that is output when the lookup of a
QTableView
's cell failed for given a row and column. - Improved the reliability of screenshot generation for Qt widgets; also fixed a bug when calling the doubleClickItem(objectOrName, itemText, x, y, modifierState, button) function on null objects.
Java-specific
- Fixed the recording of canceling a SWT ColorDialog.
- Fixed a rare
java.lang.ClassCastException
when clicking items in Java AWT GUIs. - Fixed Windows error R6034 when trying to launch a Java application with a 64-bit JRE installed.
Web-specific
- Fixed problems which could occur when running tests with Firefox 3.6.
- Fixed problems which could occur when calling the closeConfirm(":dummy", confirmed) and closePrompt(":dummy", text) functions in test scripts.
- Improved the recording of clicks on Java applets in web pages.
Native Windows (new edition)
- Fixed the recording of tests on Windows applications which temporarily close all of their windows.
- Fixed the recording of mouse clicks on native Windows applications in cases where the object under the mouse cursor changes between the mouse button press and mouse button release.
- Greatly improved the support for interacting with the Windows system tray.
- Actions on disabled toolbar items are (correctly) no longer recorded.
Mac-specific (Cocoa/Carbon edition)
- Fixed synchronization problems which could occur when calling the type(objectOrName, text) function and which caused the script to play back before all the keyboard events were processed.
iPhone/iPad-specific
- Added support for iOS 4 with the iPhone simulator. Note that separate packages are needed for iPhone OS 3.x and for iOS 4.
- Support hooking into applications that have an executable file name that is different from the
.app
name. - Added a new command line option
--xcode-root=<directory>
to the iphonelauncher tool in order to support Xcode installations in non-default locations. - Fixed a bug in the hook used to test on the iPhone device itself.
Tk-specific
- Fixed clicks on iwidgets TabNotebook objects.
Source Builds
- Perform 32-bit builds on macOS unless the
--enable-64bit
option is passed to configure.