Version 3.4.3

General

  • Added a --apply-mask mode to the convertp utility.
  • Added currentApplicationContext() function in all scripting languages. Will be used when recording in a multiple-application setting.
  • Fixed reading of .tsv (tab-separated values format) files that have empty fields.
  • Marked references to objects of an exited AUT as "dead" to prevent crashes on further access.
  • Fixed a Unicode problem if non-ASCII characters are used in symbolic object names.
  • Allow conversion of Tcl double values (or what the interpreter believes are doubles) to a string.
  • Added a fallback error message for findObject() to avoid crashes on Solaris.
  • Implemented .name and .caller properties on JavaScript function objects that allow assembling a better callstack for improved debugging. Also added a .lineNumber property to exception objects in addition to the .line property for compatibility to the Mozilla JavaScript engine.
  • Let the Python test.verify() function to use the standard Python truth value rules rather than restricting it to just int and long values.
  • Suppress "different type" result details for [test compare] when not applicable.
  • Let Python's waitFor() gracefully handle expressions that return a non-integer value.
  • Changed the JavaScript print() output so that it writes to stdout (instead of stderr) and uses the UTF-8 encoding to display non-ASCII characters properly.
  • Fixed crashes that occurred as a result of syntax errors in some Python test scripts.
  • Fixed a Unicode problem in the test result output that can occur in rare circumstances.
  • Fixed a regression when waitForObjectItem() is called on object names that contain a space.
  • Fixed a slight oversight in the improved error reporting. The unmatched properties are now reset when an error is reported and hence don't pollute later error messages.

IDE

  • Made the "End recording" button work if testing with sub AUTs and there are sub AUTs running.
  • Fixed focus problems that occurred when saving a file.
  • Let the Perl variable watcher display the value of mixed string/int and string/double types. Hide reserved variables that are denoted by a leading caret.
  • Prevented the creation of test cases with empty names.
  • src/gui/objectmapeditor.cpp: Allow dots when editing hierarchical names in the objectmap editor.

Qt-specific

  • Instead of treating an access to the .text property of an invalid item view index as an invalid operation (that could cause a crash), an empty string is returned.
  • Fixed a crash caused by an access to an invalid iterator.
  • Avoid parse errors on Object Map name reuse if the map contains a mixture of multi-property and hierarchical names.
  • Fixed a possible source for crashes on 64-bit Windows systems.
  • Improved the detection of statically linked Qt applications.
  • Raise the AUT on playback on Mac OS X with Qt 4.4.
  • Fixed a Spy Unicode problem with Qt 4.
  • Avoid wrong menu activation when replaying menu actions with Qt 4.4 on Mac OS X.
  • Fixed the recording of the QResizeEvent sent at application startup.

Java-specific

  • Fixed the replaying of type("swing-object", "<Ctrl+X>").
  • Fixed the wrong "selection" property of TreeItemProxy. It was always false.
  • Don't record mouseClick() on glass panes if these events are dispatched in the application and trigger a mouse event in the content pane. Mouse clicks on components below a glass pane will be replayed by sending clicks to the glass pane.
  • Let the application context name property of sub-applications be the argv[0] system value rather than using "squish".
  • Stopped FigureCanvas only looking at IFigure and ignoring SWT widget children.

Web-specific

  • Fixed replaying text input on file input fields with Internet Explorer 6.
  • Fixed the recording of backslashes in file input fields with Internet Explorer.
  • Support isBrowserDialogOpen() for Mozilla on X11 systems like Linux.
  • Fixed a communication problem that could cause objects not being found when testing with Safari.
  • Fixed random crashes of the internal webhook tool when doing Safari testing.
  • Fixed the recording and playback of text input on input fields with type "search" (they are understood by Safari).
  • Support for Kiwi Matrix tables.
  • Fixed the handling of strings containing the character sequence 'HTTP'.

Tk-specific

  • Improved support for the Tk "scale" widget. Replaying scrollTo now uses real mouse events so custom bindings to mouse-press will also be triggered.
  • Fixed infinite recursion when dealing with the VTK KWWidget combobox control.

Mac-specific (Cocoa/Carbon edition)

  • Added support for Cocoa toolbars and toolbar items.
  • Fixed the object picker (and highlighter) for Carbon applications: sometimes, it did not manage to find the right objects under the cursor.
  • Fixed the problem that occurred in some Carbon applications when the application menu did not show up (e.g., in the Spy and during recording and playback).
  • Added support for HIDataBrowser. Please view with the wrapperexplorer to see which APIs are supported by the HIDataBrowser and HIDataBrowserCell wrapper classes.
  • Fixed the playback of menus which in some Carbon applications sometimes selected the wrong menu item.
  • Fixed the recording of menu events on Mac OS 10.5 (Leopard) for Carbon applications.
  • Mouse clicks are recorded after the Quit menu option is chosen so that actions on the modification alert can be recorded.
  • Allow picking of objects in a sheet in the Spy.
  • Fixed a race condition which caused random crashes on playback of waitForObject() on sheets (and may have been the cause of other crashes too).

Source Builds

  • Fixed building with Qt 4.5.
  • Fixed the 'Record and insert here' feature for when Squish is built without Tcl support.
  • Fixed the compilation problem in xml2reportgenerator.cpp which occurred when building squishrunner if JavaScript support was disabled.

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