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.
© 2024 The Qt Company Ltd.
Documentation contributions included herein are the copyrights of
their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners.