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 QObjectLists.
  • 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(), and setAllowKeyEventCompression(), 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.