Version 3.4.0

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.

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

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.

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.

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.

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.

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