Version 4.2.1
Squish 4.2.1 is a maintenance release containing various bug fixes and small improvements as described below:
General
- Fix exception type for waitForObjectItem() to be LookupError again, as functioned in Squish 4.2.0
- Fixed setting breakpoints in test cases with non-ascii names when using Python as script language.
- Avoid 'Connection to server closed' test result when using ApplicationContext.detach() method to detach from contexts in test scripts.
- Correctly detect syntax errors in Tcl's startApplication() and attachToApplication().
- Output Table VP results in Xml2 test result converter.
- Fixed Table VP comparison with leading or trailing whitespace in cell text.
- Fixed parsing of optional timeout parameter of Python's and Tcl's waitForObjectItem() implementations.
- Signed Windows executables Setup.exe and squishide.exe with the froglogic certificate.
- Upgraded packaged Ruby version to 1.9.3 to fix a crash when single stepping through the debugger.
IDE
- Made clicking 'Copy Symbolic Name' and 'Copy Real Name' context menu entries in the IDE try to reuse object names if possible.
- Sped up Test Result export.
- Insert correct dataset variable name for JavaScript in code that is made data-driven.
- Fixed enabled/disabled state issues of menu items.
- Safely handle imports of test suites when name contains case variations.
- Improved tooltips for Test Cases in Test Suites views.
- Fixed problem with fetching sub-properties too often.
- Automatically update non-active but visible watch editors.
- Fixed testdata file labelling in testcases.
- Switched to a faster table control for viewing table VP differences.
- Fixed finding VP files with relative paths using Unix-separators.
- Fixed display of old-style hierarchical names in Object Map editor.
Qt-specific
- Fixed QWheelEvent recording.
- Made hooking into 64-bit Windows processes more reliably.
- Disabled low-level Windows COM hooking approach on 64-bit Windows processes as it does not operate reliable.
- Fixed Object Map name-reuse for nested multiproperty names (i.e., container, window).
- Added support for sending QMouseEvent with Qt 4 constructor syntax, i.e., with buttons and modifiers as separate arguments.
- Correctly handle keyboard modifiers from openContextMenu on replay.
- Added missing properties (enabled, opacity, pos, scale, transformOriginPoint) to QGraphicsItem and QGraphicsObject subclasses.
- Fixed support for Q_ENUM properties in dynamically registered QObject subclasses in Qt 3.
- Added QList<int> and QList<QString> support as return types for methods of dynamically wrapped QObject subclasses.
- Fixed recording using hierarchical names after picking an object in Spy-mode.
- Exposed width and height properties of QML Items.
- Fixed Table VPs when QTableView has hidden or reordered rows/columns. Table contents are now stored as they appear on-screen. Existing VPs for affected tables need to be updated, i.e., by using "Use as Expected Result" in the IDE.
- Handle QTouchEvent in QtWebkit views.
- Fixed relative coordinates calculation in sendEvent().
- Implemented new properties 'rotation' for QGraphicsItem and 'textCursor' for QGraphicsTextItem.
- Mac only: Fixed incorrect "architecture not supported" alarm.
- Improved performance when testing embedded QWebView HTML controls.
- Hide "ghost" widgets showing when attaching to an AUT using QGraphicsProxyWidget.
- Made squishrunner more robust in case of sudden AUT context switches.
- Fixed crashes when accessing references to an already deleted QWebView object.
- Fixed QML id fetching for Qt 4.8.
Java-specific
- Made closeWindow() script function more reliable in a mixed SWT/AWT application.
- Added alternative hookup method when environment SQUISH_NO_QT_GUI variable is set to '1', primarily as a workaround for a crash on X11 in libfontconfig.so.
- Fixed hang during hookup of some SWT applications.
- Fixed crash during picking objects on X11.
- Fixed crash with mixed SWT/AWT application and using attachToApplication.
- Fixed error in setValue() of AWT WebStart applications.
- Avoid crash on JVM shutdown.
- Made object-readiness and geometry checks more robust in Web Start and Applets.
Web-specific
- Added label property on HTML_CustomComboBox and HTML_CustomSelectList support.
- Fixed recording support using Proxy Browser.
- Fixed typeText() exception with IE and Firefox.
- Fixed querying properties with names that collide with JavaScript keywords (like 'for').
- Added SmartGWT button
text
property. - Made selectOption() work with SmartGWT select elements including combo boxes.
- Fixed setting text on invisible file-upload elements.
- Provide more SmartGWT TextField properties.
- Re-added support for accessing object sub-properties like "style.display" using the HTML_Object.property() function.
Windows (native)-specific
- Fixed various problems in which hooking into .NET application failed because unzipping a Squish package made Windows mark a few important DLL files as 'blocked'.
- Fixed crash calling a method on a native object in some cases.
- Fixed problems which caused some objects types (such as combo boxes) embedded into toolbars of .NET applications to cause lookup failures on replay.
- Fixed accessing System.Windows.Controls.Image objects in WPF applications.
- Show WPF TextBlock controls as children if there is more than one TextBlock in a given parent.
- Fixed clicking .NET WinForms TableCell objects when they are scrolled off-screen.
- Fixed non-working property and method access from Perl scripts.
- Fixed startwinaut to observe the 'AUT timeout' setting.
- Fixed crash when fetching listview item properties.
macOS-specific (Cocoa/Carbon edition)
- Fixed race condition when playing back menu activations on Mac OS X (in rare occasions, determining the menu geometry failed).
- Fixed waitForObject() for items in a NSTableView, NSOutlineView and for NSToolbarItems if the containing window is blocked by a sheet.
- Fixed nativeType() on Mac OS for Del and Backspace keys.
iOS-specific (iPhone/iPad edition)
- Created ability to allow starting iOS apps in the iPhone Simulator if the SDK version of the build does not exactly match the available SDK versions.
- Automatically turn on accessibility support for iOS device testing ensuring properties like accessibilityLabel are available for device testing without manually turning on voice over.
- Made the Perl and Ruby saveDesktopScreenshot() implementation work on iOS devices.
Tk-specific
- Fixed internal out-of-bounds memory access.
Source Packages
- Added support for building with MinGW-w64 toolchains for both 32-bit as well as 64-bit Windows.
- Honor --with-x11-libdir option when checking for XTest library.
- Qt edition: Fixed build with namespaced Qt libraries.
- Fixed compilation for Qt 4.8.0 on Mac OS X Lion.
- Added Qt 4 system libraries and configuration detection on RHEL/CentOS >= 5 (needs --with-qtdir=/usr/lib64/qt4).
- Fixed build with --disable-js configuration.
- Fixed build on some recent Linux distributions by linking with libdl.
Documentation
- Added iOS tutorial and API docs to the offline HTML and PDF versions.
- Updated the waitForObjectItem() and clickItem() documentation for Qt, Java and Tk.
- Updated the list of files to be copy when installing for pure Qt 4 apps.
- Documented how to install QC11 client without admin rights.