Version 3.4.4

General

  • Added the objectMap.load(filename) function.
  • Stopped a crash from occurring when accessing global AUT properties (like Qt's qApp), after the AUT has been shut down.
  • Perl: Fixed return values in the face of recursive calls caused by an event handler.
  • Respect the 'Response Timeout' setting in all cases, so that script commands do not get aborted after 5 minutes if the Response Timout is set to be more than 5 minutes.
  • Improved the handling of breakpoints in shared script files.
  • Added the --updatevp option to the convertvp utility to update the image in the verification point.
  • Tcl: Properly escape object names and support Unicode characters in Verification and Synchronization Points in Tcl test scripts.
  • JavaScript and Python: Fixed a memory leak in the Dataset testData.dataset(filename) function that affected scripts written in JavaScript and Python.
  • Qt 3 with Perl: Fixed the test::warning() and test::fatal() functions, which were broken in some cases.
  • Perl: Support string-wise and numerical comparison operators (cmp, <, >=, etc.) on wrapped objects wherever the objects allow a meaningful comparison. Also improved the string representations of non-string objects.
  • Fixed the side effects of the 3.4.3 protection against access to "dead" objects where repeated AUT starts led to object class descriptions getting mixed up.
  • Unix: Squish's startup code no longer gets confused if the name of the last directory in a PATH variable is the same as a tool that Squish is looking for—so Squish can now cope with a path that ends with say .../squish/ when it is looking for the Squish executable.
  • Filter out multiple recorded waitForApplicationLaunch() statements since only one is needed each time.

IDE

  • Opening a Test Script via a Test Result message (e.g., by clicking in Squish's Test Log window), now works correctly even for Test Scripts that are stored on networked drives (Windows Shares).
  • Fixed the line selection when clicking on a Test Log item with colons in the message.
  • Improved the stability of the Squish IDE when running tests which print a lot of information to the standard output channel.
  • Improved the handling of test case templates which are stored in non-standard locations.

Qt-specific

  • Added support for Qt 4.5.
  • Improved the algorithm used for object name generation and hence greatly improved the speed of name lookups.
  • Enabled the wrapping of constructors defined for QWidget sub-classes.
  • Fixed replaying recorded scripts that used Qt 3 tearoff menus.
  • Fixed a crash on Mac OS X that occurred when certain Qt 3 applications were terminated.
  • Fixed the replay of menu tests when clicking on menu items that have a submenu.
  • Preserve non-ASCII characters in existing scripts when a newly recorded script snippet is inserted.
  • Improved support for translated strings.

Java-specific

  • Added support for the tab list buttons for the CTabFolder.
  • Fixed the truncatation of the return value from a Java function that is of type float or double.
  • Fixed a security exception when loading the Java wrapper library with webstart in some cases.
  • Show AWT/Swing dialogs as top-level objects in the Spy.
  • Added a new property, 'basetype'.

Web-specific

  • Support lazy hooking for IE when the body of the document that is to be hooked doesn't yet exist.
  • Fixed choosing entries in <SELECT> elements in cases where the entry contains a single apostrophe or the backslash character.
  • Fixed the runtime dependency for testing Web applications with Firefox 3 on Windows.
  • Fixed the retrieval of Web properties which contain a '%' in cases where the property value is longer than 150 characters.

Tk-specific

  • Improved double-click emulation by sending a release event for both clicks.
  • Improved menubar replay support by moving the mouse to the correct top-level menu.

Source Builds

  • Added support for compilation against Tcl 8.6.
  • Fixed compilation with Qt 4.5 on Windows and Mac OS 10.5 (Leopard).
  • Don't wrap QStyle sub-classes. This is to make the wrapper more portable since they are not really required for testing purposes.
  • Fixed the compilation problem with Qt 4 and gcc 3.2.