Changes in 4.0 Beta 3

Here is a summary of the changes that have been made since the Technical Preview editions and since the Squish 4.0-beta1 and Squish 4.0-beta2 editions, and which are incorporated in the new Squish 4.0-beta3 editions.


  • Added a JavaScript getAttributeNames() function to the JavaScript XML object.
  • The installEventHandler() function that accepts object types as arguments has had two improvements. First, it respects derived classes, and second it can also be used with types that are registered dynamically, even if the registation occurs after the AUT has started.
  • Python and Tcl functions that return Unicode values now work correctly in the script console.
  • Added a JavaScript File.separator property that contains the platform-specific separator for components of a file path (e.g., "\" on Windows).
  • The setApplicationContext() function now throws an exception if an attempt is made to use it to switch to the context of an AUT that has already terminated.
  • When accessing SQLite databases using the JavaScript SQL object, there is no need to specify a username. Also, for all database drivers, the Host parameter now defaults to "localhost".
  • Fixed the nativeType() function so that it always correctly handles key combinations involving the Alt key on Windows.
  • Fixed the type() function so that it always correctly handles key combinations involving the Alt key on Windows.
  • Squish can now be built from source using Microsoft Visual Studio 2010.

Qt Edition

  • Support for the QtWebKit module has been completely reworked. Now QtWebKit HTML objects are treated rather like standard QObjects, (i.e., as children of their parent widget), so they can now be accessed much more easily.
  • Made the startaut tool work even if the SQUISH_LIBQTDIR environment variable isn't set on Unix-like systems.
  • Fixed the replaying of items in QComboBoxes where it is necessary to scroll to reach them.
  • Squish no longer interferes with QEvents in non-GUI threads.
  • Added support for wildcard matching for QGraphicsItems.
  • Fixed the details of Qt key events that are triggered by calls to the type() function.
  • Added support for typing a Control key by itself, e.g. type("<Control>").
  • It is (once again) possible to disable the hooking into sub-processes started by the main AUT since this is still useful in rare cases.

Mac Edition

  • Made the startaut tool start the application for the correct architecture on macOS 10.6 (Snow Leopard).
  • Added support for whitelisting the AUTs that Squish can hook into. This means that Squish will only hook into applications that are started by the AUT if they appear in the list of registered AUTs. If you have relied on Squish hooking into all your AUT's sub-processes, you must now register those applications as AUTs in their own right to get the same behavior as before.
  • The waitForObject() function can now be used with views and windows. In addition, the waitForObject() function's logic has been improved (to match other toolkits) so that it not only finds the given object, but in the case of controls, waits for the object to be visible and enabled.
  • Added support for recording and playing back interactions with Cocoa sub-menus.


  • Redesigned Test Suite View. A suite's content is now shown in a more compact manner with run (play) and record buttons directly integrated into the view. The checkboxes for disabling individual test cases have been moved into the suite view from the settings page. An extra button has been added to make it more convenient to run a single test case.
  • The active suite is now remembered between sessions
  • The SQUISH_USER_SETTINGS_DIR environment variable that is understood by the other parts of the Squish tool chain is now respected by the new squishide.
  • Text in the .tsv editor is now word-wrapped if necessary. This makes it much easier to edit longer texts.
  • Added a Default Web Browser settings page.
  • Newlines are now replaced with ellipses in the test results view.
  • The 'Error loading suites' dialog now provides more helpful diagnostics.
  • A test suite's suite.conf file's TEST_CASES variable is now respected, thus preserving the order in which the test cases are listed in the squishide.
  • Whenever a breakpoint is reached the squishide switches to the Debug perspective.
  • The reporting of internal errors has been improved.
  • The squishide no longer forces the use of specific editors for test resource files.
  • Fixed several problems related to the enabled/disabled state of toolbar buttons and menu items in the squishide.
  • The squishide now gracefully copes when it starts up and discovers that a test suite has been moved or deleted on the disk outside of the squishide.
  • Added support for disabling and enabling logging options to match the functionality provided by the classic IDE via the Preferences > Advanced menu option.
  • The workspace is correctly saved when the squishide is terminated.
  • The squishide can now use the Perl interpreter shipped with Squish to improve the editing of Perl scripts.
  • The runner and server log views have been merged into a single view.
  • Fixed the enabling of context menu items in the Object Map editor.
  • Added a context menu item to allow copying from the Summary view.
  • Fixed a bug with variable watching that sometimes affected deeply nested variables.
  • Reworked the dialogs for the creation of testdata and script files. The user can now choose the suite and testcase where they want to create the file, with the dialogs taking their defaults from the suite view's current selection.
  • Improved the error handling where an attempt is made to create a suite with a name that already exists in the directory.
  • Fixed squishrunner hangs that could occasionally occur during test execution.
  • Fixed an ordering mix-up that could occasionally occur in test log entries.
  • Fixed cases where recording stopped working after errors occurred during a test run.
  • Fixed the "Scriptify VP" feature.
  • Fixed exceptions that were caused by race conditions during the disposal of user interface controls.

Classic IDE

  • Fixed a crash that occurred if the Delete key was pressed in an empty Object Map Editor.

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