2.40. Version 3.4.0

2.40.1. General
2.40.2. Qt-specific
2.40.3. Java-specific
2.40.4. Web-specific
2.40.5. Tk-specific
2.40.6. Source Builds

2.40.1. General

  • Automatic reuse of Object Map names that use wildcards and regular expressions.

  • Improved error messages when an object cannot be found on test execution.

  • Wizard for the creation of data-driven tests.

  • "Record at Cursor" mode for more efficient test script maintenance.

  • The toolkit wrapper can be specified on an application-basis thus allowing for tests of applications using different GUI technologies within one script.

  • Simplified navigation between script editor and Object Map.

  • Ant built system plugin for Squish test execution.

  • Integration plugin for the CruiseControl continuous integration framework.

  • Added spinUp() and spinDown() functions for recording and playback of QSpinBox usage.

  • Fixed a Perl syntax error in recorded sub-application scripts.

  • Cleaned up HTML documentation search index

  • More type tolerant Perl setter function for logScreenshotOnFail and logScreenshotOnError configuration.

  • Fixed memory management problems of DOM nodes created by the XML object as well as database connections created by the SQL object.

  • Don't report that the AUT crashed if it was explicitly killed.

  • Implement more verbose error reporting when an object is not found. Now reports the properties that didn't match

  • Fixed a JavaScript number-to-string conversion on SPARC and other big endian architectures.

  • Allow copy and paste of property name/value in the spy.

  • Allow passing Perl strings to functions that accept a numeric type.

  • When right-clicking on a selected text in the script editor, offer an option to replace the selected text with a reference to a field of a test data record in case the selected script code is within a test data loop.

  • Fixed clicking on Test Log items when the referenced script file contained a '-' or space character.

  • Reduced size of object names placed into the clipboard upon copying out of the Spy.

  • Prevent the AUT from crashing when doing object lookups with empty strings.

  • Implemented support for recording little snippets of script code and inserting it at the current cursor position.

  • Fixed invocation of the PDF manual viewer manual on Windows.

  • Prevent crash if the Spy is during a "Check all object existence" run.

  • Respect logScreenshot settings for test.fail() and test.fatal().

  • Fixed crashes occurring after an application launched with startApplication() has exited.

  • Support alternative locations for testcase templates by using the SQUISH_TESTCASE_TEMPLATES environment variable.

  • Fixed initialization defaultApplicationContext() properties.

  • Fixed picking of disabled plain Windows controls.

  • Prevent crash in the Perl debugger that occurred when trying to display variables referencing an application context or a test data record.

2.40.2. Qt-specific

  • Implemented Qt 4.4 support.

  • Binary packages for MSVC 9 and 64-bit Linux.

  • Expose QPainter API for test scripts.

  • Add support for Input-Method events for Qt 4, so non-latin input is also recorded properly

  • Use row and column in clickItem() on Qt 4 tables.

  • Mac OS X: make the binary edition work with Qt frameworks that are not installed in a standard framework-search location.

  • Support use of wildcards in item names when using the clickItem() function on Qt 4 itemviews like a QTreeWidget.

  • Improved parsing of CSV files, using RFC 4180 as reference for the parser implementation.

  • Fixed occurrence count recorded for Qt objects which don't have a QObject name set.

  • Temporary way to specify custom controls (like OpenGL controls) that require QPixmap::grabWindow() instead of grabWidget() for taking a screenshot: the SQUISH_GRABWINDOW_CLASSES environment variable can be set to a comma-separated list of class names of QWidget sub-classes.

  • Fixed recording of actions on native Windows controls with Qt 4.x

  • Don't show null objects (i.e. a null pointer to a QWidget) in expandable state in the Variable Watcher of the IDE.

  • Respect the --port=xxx argument of the startaut command.

  • Fixed calls to functions with C/C++ enum parameters in JavaScript, Tcl and Perl. Was already working in Python.

2.40.3. Java-specific

  • Implemented support for Eclipse 3.4 (Ganymede).

  • Java record extension API to enable high-level record and Spy support of complex custom controls.

  • Fixed item lookup differences between recording and replaying a clickItem() on a SWT Tree.

  • Allow launching a SWT FileDialog, MessageBox or DirectoryDialog when the Squish IDE is in Spy mode.

  • Adjust x coordinate for SWT Tree item click to the middle of the viewable item rectangle, making clickItem() more stable for differently styled Trees.

  • Empty captions of SWT widgets were left out of the object property map, which made these multi-property names match unnecessary many objects. Now they are recorded as: caption=''

  • Add 'expanded' property to TreeItem proxy for the Spy.

  • Fixed JVM shutdown notification that made the Java process hang on exit in some setups.

  • Improved test script speed when interacting with Java classes.

  • Properly convert from Java unicode string to QString, so objects containing non-ASCII characters in the Spy.

  • Added synthetic 'isvisible' property for SWT which internally calls Control.isVisible(). For new names use 'isvisible' in favor of 'visible'.

  • Fixed 'Illegal constant pool index' error in the SWT FileOpen class.

  • Fixed registered extra classes not being recognized by the script bindings.

2.40.4. Web-specific

  • Fix recording of context switches to pages which have non-ASCII characters in their names.

  • Provide an additional '--webbrowserargs' command line argument which can be used to pass additional arguments to the browser process started when performing Web tests.

  • Fix playback of Web tests with Firefox when a different profile than the default one is used.

  • Launch Internet Explorer in a new process to make sure that a new session is used.

  • Fixed recording and replay of double and right mouse-button clicks.

  • Support the isBrowserDialogOpen() script function on Mac OS X.

  • Support the automateLogin() script function on Mac OS X.

  • Support Safari 3.1.

  • Fix retrieving objects with '%' in their value.

  • Fixed entering of non-alphanumerical characters using typeText() with Firefox.

  • Improved speed of the Spy when navigating through large web pages.

2.40.5. Tk-specific

  • Fixed key event sending via the type() function.

  • Record plain mouse press events on buttons that could e.g. be used to open a popup menu.

  • Record button clicks with middle and right mouse button.

  • Small performance improvement on recording.

2.40.6. Source Builds

  • Allow compilation against Perl 5.10

  • Restore support for Python 2.2.

  • Avoid conflict between Perl flags and Solaris system headers.

  • Fixed compile problem with Solaris CC

  • Compile fix for strict compiler. abs() is defined in stdlib.h

  • Explicitly enforce run-time linking on AIX in order to allow loading of native Python extensions. Contributed by customer.

  • Fixed conflict with AIX system headers that was causing a compilation problem.