2.40. Version 4.0.2

Table of Contents

2.40.1. General
2.40.2. Classic IDE
2.40.3. New IDE
2.40.4. All toolkits
2.40.5. Qt-specific
2.40.6. Java™-specific
2.40.7. Web-specific
2.40.8. Native Windows (new edition)
2.40.9. Mac-specific (Cocoa/Carbon edition)
2.40.10. iPhone/iPad-specific
2.40.11. Tk-specific
2.40.12. Source Builds
2.40.13. Documentation

2.40.1. General

  • Fixed a bug in the Tcl support which caused the lookup of object names with non-ASCII characters to fail.

  • Fixed a rare crash in the squishserver program that affected Solaris systems.

  • Fixed a regression so that now if you define a cleanup function it will be correctly called after the test's main function finishes—even if the application under test crashes during a test.

  • Corrected the timestamps output by squishrunner for Squish XML 2.1 format test results.

  • If the optional message that can be passed to verification functions such as test.verify and test.compare is given, squishrunner will now correctly include the message when it outputs Squish XML 2.1 format test results.

  • Fixed calling the vpdiff utility with arguments which contain non-ASCII characters.

  • Corrected error messages shown when replaying Python or Tcl test scripts so that non-ASCII characters are displayed correctly.

  • Fixed various problems that occurred when executing external programs in test scripts on Windows.

  • Once the testSettings.logScreenshotOnError property is set to true, any screenshots taken subsequnetly will now show the contents of all the screens on Windows instead of showing only the primary screen.

  • Fixed a crash which occurred when generating a symbolic name for an object whose real name has a row property but no column property.

  • Errors which occur during a call to the startApplication function now result in a catchable exception being raised.

  • Fixed a problem which caused break points to be stopped at more often than intended when executing some Perl test scripts.

2.40.2. Classic IDE

  • There is no longer excessive CPU usage when recording test script snippets.

  • The naming scheme set in the test suite settings is now correctly honored when starting to record actions after a breakpoint is reached.

2.40.3. New IDE

  • The Variable view now correctly shows Python variables whose value is None.

  • Fixed the subtract and grey diff modes in the comparison view that shows failed image comparisons.

  • Attempts to create test suites with invalid names are now handled more gracefully.

  • If no test suite is selected then no shared resources are shown.

  • Fixed a rarely occurring error message when selecting Copy Real Name from the Object Map view's context menu.

  • Correctly handle objects.map files even when they are not stored within the test suite directory.

  • Only allow executable files to be chosen as the AUT.

  • Fixed specifying alternative directories for storing test case templates.

  • Don't start inline editing all the time (to rename a test case) when double-clicking test case items. Only initiate editing when doing a “slow” double-click. A normal double-click simply opens the test case.

  • Image verification points are now stored using the PNG format to ensure that alpha values are correctly handled.

  • Added a Run Test Suite menu entry to the Squish menu for convenience.

  • Fixed a bug which caused test cases to disappear when removing files (or directories) with the same name from a different location.

  • Fixed scriptifying verification points when the property value contains newlines.

  • Mark the test data editor as dirty when modifying the column headers.

  • Respect configured indentation width and tabs vs. spaces settings when recording test scripts.

  • Fixed a few erroneous cases where verification points were opened in a text editor instead of being opened in the verification point editor.

  • Made sure that script files always have a proper extension.

  • Fixed the spy so that it behaves correctly in tests which call the startApplication function.

  • Support opening test suites by dragging a suite.conf file from the Windows explorer onto the Squish IDE.

  • Added a pause button to the control bar which can be used to suspend the test execution.

  • No longer show binary Python files (e.g. *.py[co]) in the test suite resources list.

  • No longer show test suites that have been deleted outside the Squish IDE (i.e., deleted from the file system) in the test suite's view.

  • Only enable the Run Test Suite button if at least one test case is checked.

  • Make sure that the buttons for adding new test suite resources are always enabled when appropriate.

  • Added a Copy to clipboard (Property Value) menu item for the Spy's context menu to make it easy to copy property values to the clipboard.

2.40.4. All toolkits

  • Made passing <CapsLock> to the nativeType function correctly simulate a press of the caps lock key.

2.40.5. Qt-specific

  • Added support for Qt 4.7.

  • Clicks on QModelIndex objects succeed even if relative coordinates are given which are beyond the object's bounding rectangle.

  • Fixed a few cases where taking screenshots of objects would not work correctly on Windows Vista and later Windows versions.

  • Fixed invoking script event handlers in case an application constructs (and destroys) multiple QApplication objects.

  • Fixed issues when creating screenshots on QGLWidget objects.

  • Make it possible to not recognize items in a QGraphicsView widget as distinct items.

  • Added a configuration switch to enforce that no native dialogs are shown when running a test. This improves the portability of test scripts across different operating systems.

  • Fixed interacting with native windows dialogs opened by applications built with Qt 4.5 and earlier Qt versions.

  • Fixed the list of unmatched properties that is shown when looking up an object has failed.

  • Added a new collapsed property to QModelIndex objects.

  • Fixed a problem with calling the mouseClick function to click on a Q3ListBoxItem inside a Q3ComboBox.

  • Fixed recording tests on Maemo devices.

  • Fixed clicking on any column other than the first when clicking on QComboBox items.

  • Correctly record any modifier keys that are pressed when recording mouse wheel movements.

  • Fixed various stability problems when executing the type function.

  • Fixed replaying actions on Qt/Cocoa menus on macOS.

  • Improved accuracy when dragging QGraphicsItem objects.

  • It's now possible to use a shell script as the AUT in Qt tests on macOS (i.e., a shell script that starts the real Qt-based AUT).

  • Fixed excessive CPU usage when creating a verification point while recording a test script.

2.40.6. Java™-specific

  • Fixed replaying mouse drags using the right mouse button on AWT applications.

  • Fixed excessive CPU usage in some situations after the recording of a test script finishes.

  • Made replaying drag and drop actions more reliable.

  • Improved the error message when attempting to start a Java™ application which is not registered with the squishserver.

  • Added support for instantiating Java™ arrays from within test scripts.

2.40.7. Web-specific

  • Improved the portability of newly recorded test scripts between Microsoft Internet Explorer and Firefox.

  • Fixed executing the type function when passing an object name (instead of an object) as the first argument.

  • Fixed the recording of tests on web pages that have spaces in their file names.

  • Improved the error message when performing an out-of-bounds access on an HTML array.

  • Improved the general robustness of test scripts to cope with timing differences when replaying tests.

  • Fixed a problem with recording tests when some user interaction causes the browser to load a new page.

  • Record an action when pressing Return in a form.

  • Improved the reliability of replaying mouse clicks when executing tests with Firefox 3.6

  • Greatly improved the execution speed of calling the setText function with Firefox.

  • Improved the recogition of frames and iframes when recording or replaying tests with Safari.

  • Stopped bogus errors from appearing in the test results when accessing certain properties of web objects.

  • Made replaying test scripts which contain non-ASCII characters work with Safari.

  • Resolved some issues when iterating over a long list of child objects or retrieving a property which has a very long value (e.g., a long string).

  • Made calling loadUrl ... closeWindow in a loop work with Firefox and Microsoft Internet Explorer.

  • Stopped bogus errors appearing in the test results when certain kinds of object lookups failed.

  • Fixed recording clicks on the Submit button in forms.

2.40.8. Native Windows (new edition)

  • No longer record calls to the doubleClick function on MFC spin box objects. Instead, two calls of the setValue function are recorded.

  • Fixed the replaying of calls to the mouseClick, doubleClick, and mouseDrag functions on MFC menu bars.

  • Fixed a runtime error that occurred when replaying a call to the setValue function on an MFC scroll bar with a zero value.

  • Fixed the replaying of calls to the dragAndDrop function on MFC combo box items, list box items, and tree items.

  • Made clicking tab items correctly emit notifications so that the rest of the GUI can respond to the tab change.

  • Fixed the replaying of the dragAndDrop function on Windows Forms controls.

  • No longer acquire ever increasing amounts of memory during long running tests.

  • Fixed a crash when attaching to native Windows applications using the attachToApplication function.

  • Fixed the replaying of actions on MFC menus on multi-screen desktops.

  • Speeded up the lookup of items in MFC listview controls.

  • Now recognize embedded Microsoft Internet Explorer controls in all top-level windows, even in dialogs.

2.40.9. Mac-specific (Cocoa/Carbon edition)

  • Simplified changing the Python version used. Xcode (and the install_name_tool program) are no longer needed. Instead, only the SQUISH_DIR/etc/paths.ini file needs to be adjusted.

2.40.10. iPhone/iPad-specific

  • Fixed a problem with generating touch events when replaying tests on iPhone OS 3.

  • Only record clicks on views that respond to user interaction.

2.40.11. Tk-specific

  • Improved the error message when a call to the clickItem function fails.

  • Improved the reliability of clicking items.

  • Rewrote the Tk address book example program to improve usability and visual appearance. (This example is now covered in the Tk testing tutorial.)

  • Fixed names generated for top-level windows in Hyperworks 11 applications on Windows.

  • Fixed a runtime error that occurred when clicking items which have no text.

2.40.12. Source Builds

  • Stopped building the Qt WebKit extension if the web wrapper is disabled.

  • Made compiling Squish for Qt packages work for Maemo5.

  • Improved the configure program so that it can find dblatex on Windows systems (if dblatex is installed).

2.40.13. Documentation

  • Fixed the documentation of the installEventHandler function to reflect the actual behavior.

  • Improved and updated the Qt, Java™ AWT/Swing, Java SWT, and macOS tutorials.

  • Added a new tutorial for testing Tk applications.

  • Added small improvements and updates to the User Guide.

  • Improved and updated the Tools Reference Manual.

  • Added a new IDE Reference Manual which documents the new Eclipse-based IDE.