Version 3.4.5
General
- Fixed the crash that occurred when invalid switch statements were encountered in Tcl test scripts.
- Fixed backtraces shown in the test result logs for Tcl scripts.
- Fixed the usage of "\[" in wildcard matching patterns for property values.
- Setup: Fixed
writeConfiguration()
so that it now shows the correct license key file if it exists, even if it could not be overwritten because it is set to read-only. - Added documentation for the Squish Hudson Plugin.
- Fixed the Perl
testData::put()
function. - Implemented the
ApplicationContext.usedMemory
property on Windows. - The
objectMap.load()
function now throws a script exception if passed an invalid file name. - Fixed the Python script call stack; this means that
test.verify()
now logs the correct filename and line number. - Fixed Perl code generation of Verification Points for nested properties like geometry.x.
- Improved the test log messages for Python exceptions.
- Now default to using 'localhost' if an empty host name is passed to
startApplication()
. - Fixed the execution of Tcl scripts with one-line command definitions such as
proc p {} "test log Hello"
. - Fixed the reporting of errors from functions on the JavaScript SQL object.
- Fixed the parsing of comments in
squishserverrc
and other configuration files. - Implemented
nativeType("<Alt+Space>")
for Windows and macOS. - macOS only: added support for more special keys (like "<Down>") and key combinations (like "<Command+q>") to the
nativeType()
function.
IDE
- Fixed the extraction of multi-property names from FAIL's for copying the new screenshot as expected in a Verification Point.
- Improved the Spy's interaction with the Object Map. This fixes, for example, 'Object existence' checks.
- Pressing Esc in a "Save changed file?" dialog cancels the closing of the editor instead of closing without saving the changes.
- Fixed loading Excel files into the Test Data Editor—empty cells are no longer ignored.
- Fixed the test result messages when saving a test report via the 'Save Results As...' menu entry.
- Fixed the replay of tests if the current working directory in the suite's settings contains spaces.
- Fixed a case where the
SQUISH_TESTCASE_TEMPLATES
environment variable was not respected.
Qt-specific
- Added support for Qt 4.6.
Note: Qt 4.6.0 on Windows renders text differently from previous Qt versions—this is likely to break existing screenshot verifications. If this is related to the Qt bug (QTBUG-6578) it might be reverted in 4.6.1.
- Now the button's focus policy on
clickButton()
calls is respected. - Improved the hooking stability for applications which use multiple
QApplication
objects. - Now avoid possible memory corruption in internal
QObjectList
s. - Added a 'backgroundColor' property to
QModelIndex
objects. - Added a safeguard against crashes caused by reentrant calls to the event queue flushing function.
- Made
setMouseTracking()
,setUniqueProperty()
, andsetAllowKeyEventCompression()
, work for custom classes. - Fixed finding objects that have parenthesis, brackets, dot ('.') or star ('*') in their Qt object name.
- Raise an exception if
sendEvent()
is called with the wrong number of arguments. - Monkey tester: now also considers top-level objects for user actions in addition to their children.
- Stopped leaking
QString
objects that are created on-the-fly from native script strings. - Fixed the recording of context menu actions on item views.
- Applied stricter type checks in various functions accepting
QWidget
arguments to protect against invalid input. - macOS with Qt 4 only: fixed a crash that happened in rare circumstances when the AUT exited.
- macOS with Qt 4.5 only: record "<Tab>" instead of the non-portable "<->|>" ("->|" represents the tab symbol as ASCII art).
- Fixed Qt 4 Wrapper Explorer crash on macOS ("dyld: Symbol not found: __ZnwmPv").
- Return native long integer values if a wrapped API has a "long" return type.
Java-specific
- Added 'MessageBoxOpened' as a possible option for the
installEventHandler()
function. The event handler will be called in SWT when a native message box is shown. - Fixed the exception that occurred when running setup and
rt.jar
doesn't contain a manifest. - Fixed Eclipse hooking if the "Java for Mac OS X 10.5 Update 4" is installed.
- Fixed Java hooking on macOS after installing the Java security update of June 15, 2009.
Web-specific
- Added support for Firefox version 3.5.2 and later.
- Added support for Safari 4 for Web-testing on macOS.
- Improved the
setFrameContext()
function to also consider the name attribute of frames. - Added support for the Richfaces toolkit's Combobox.
- Fixed the replay of multi-line text input in web page <textarea> fields.
Mac-specific (Cocoa/Carbon edition)
- Fixed a crash in Squish for Mac when accessing certain cells in
NSTableViews
. - Added support for
NSAttributedStrings
for testing Cocoa applications. - Added support for the event type "SheetOpened" in the
installEventHandler()
function (Cocoa only). - Improved the detection of the field editor (i.e., use the correct
NSTextField
object when recording keyboard input when a non-default field editor is used).
Tk-specific
- Fixed reference-counting of the object returned by the
tcleval()
function. - Avoid access to deleted mainwindow to prevent crashes.
- Fixed recording on
Canvas
widgets when the item that was pressed is overlaid by another item before the release happens. - Make the Tk wrapper compilable with Qt 4 provided that the
Qt3Support
module is present. - Don't record redundant
snooze()
statements when the Pause key is used to insert comments into test scripts.
Source Builds
- Fixed compilation on Mac OS 10.6 (Snow Leopard) if the system Perl library is being used.
- Support compilation with Tcl 8.3.