Version 6.2

Squish 6.2 is a feature release which delivers new features to all editions of the product.

Notable features include:

  • It is now possible to execute test cases in a random order which helps with finding unintended dependencies between test cases as well as increasing test coverage. Randomized test execution is enabled by passing a new --random option on the command line. See squishrunner --testsuite: Running tests in batch mode for further information.
  • Squish now supports assigning tags to test cases, free-form texts which can be used to select just a subset of all tests for execution. Tags can be viewed and edited via the Squish IDE and selected via the command line by using the --tags. The manual section squishrunner --testsuite: Running tests in batch mode has further information on how to include or exclude test cases for a specific execution.
  • A new RemoteSystem object API was introduced which permits performing file system accesses (e.g. reading & writing files) as well as executing commands remotely, even when there's no AUT running on the remote system.
  • A newly introduced function attachToBrowser(portOrWindowTitle) now allows attaching to running browsers instaces which were not started by Squish. Among other things, this enables testing user interfaces in which a part of the user interface is rendered as a web page shown by a separate browser process. You can learn more about how to use this function in Attaching to a running Web Browser.

Furthermore, a lot of features and bug fixes were applied to individual Squish editions; see the following sections for a detailed list of all changes.

For a list of noteworthy issues which were found after the release of Squish 6.2.0, please see the Known Issues page on the froglogic Knowledge Base.

General

  • Improved loading speed of HTML report in Web browser.
  • Fixed a problem in the nativeType(keys) function which caused key combinations on macOS for special keys with modifiers.
  • Fixed instability in squishserver causing crashes at the end of test execution.
  • Properties of the testSettings object can now be initialized via the config.xml file.

Squish IDE-specific

  • Support tagging of script testcases via the metadata view/editor.
  • Support Replace Realname in the object map editor with real names that have been copied from script files or other text documents and not copied from another entry in the object map editor.
  • Fixed a problem where certain actions in the testdata editor would be enabled without having any cell selected and then fail to work properly.
  • Fixed a problem with automatic sizing of the Object-Lookup-Error dialog causing the dialog to be extremely big when the report error message is long.
  • Support basic recording of test scripts with the Eclipse IDE Integration without having a dedicated editor-support plugin from Squish installed.
  • Support jumping from a symbolic name in a test script to the object map editor entry for that name by pressing the Ctrl key and clicking on the symbolic name.
  • Support moving of any files from the testcase to the testsuite testdata folder even if those files are not matching one of the known testdata file types (csv, tsv, xls).
  • Fix a problem with auto-completion in Tcl scripts when the line where the completion occurs is empty.
  • Show errors in parsing realnames obtained from the clipboard when pasting them into the object map editor or copying them from the application objects view.
  • Add a UTF-8 marker to newly created Python script files to emphasize that the enncoding of Squish script files is expected to be UTF-8.
  • Show multiline log statements fully in the control bar.
  • Fixed a problem copying parts of a selected symbolic name while editing that name in the object map editor.
  • Fix a problem preventing symbolic names opened from a test script to show up properly in the object man when previously a filter was used to search for a name.
  • Fix a problem that can occur during recording when a Boolean test.vp(name) statement is part of a Boolean waitFor(condition) construct.
  • Persist the selected AUT in the Select AUT dialog also if the AUT is an attachable one.
  • Fixed a problem when creating scripted verifications for nested properties in Tcl causing invalid Tcl code to be generated.
  • Fixed a problem causing the Test Suite combobox to display incorrectly rendered text when loading a suite with spaces in the name on Linux.
  • Persist the last-used device to deploy an Android AUT to allow easier re-deploy to the same device.
  • Fix a problem causing Ruby test scripts to have mixed indentation sometimes, set the default to be four spaces.
  • Fix a problem causing no empty line being added after having recorded BDD step implementations.
  • Support sorting the application objects and properties views using the table column headers. Initial sorting will be defined by the AUT order, clicking the header will sort in alphabetical ascending order and clicking it again switches to descending order (properties view is always alphabetically sorted).
  • Improved reporting of errors encountered while creating verification points.
  • Support a default keyboard shortcut (Ctrl+R) for running the currently selected test case from the Test Cases list.
  • Add a context menu entry to run the test case to which the current open editor belongs to including a keyboard shortcut for triggering the action (Ctrl+Shift+E).
  • Fix a performance problem with reading the XML results causing lags after a test case execution finished on some systems.
  • Improve default layout of the Debug perspective so that the Debug view takes up less space.
  • Disallow closing of the Debug view as it is necessary to make actions like Step Into, Continue etc. work properly.
  • Ask for resetting the Debug perspective on upgrades to fix the 'missing Debug view' issue.
  • Disallow specifying non-writable directories for the test results folder.
  • Improve performance of object map editor when loading big object map files.
  • Fix a problem when loading XML2 results into the Squish IDE where verification points have spaces in their names causing actions such as View Differences to fail to work.
  • Fixed a problem with the enablement of the buttons in the real name editing area of the object map editor when switching between different symbolic names.
  • Support loading test result directories that do not follow the default Squish generation scheme via the Recent Test Results combobox.
  • The Save Object Snapshot feature of the Application Objects view now does a much better job at suggesting an output file name.

Scripting

  • Scenario Outline placeholders used in a table argument for a Step are now correctly replaced with their specific values.
  • A RemoteSystem Object was added, permitting remote file system access as well as command execution.
  • The createVisualVP(objectNameOrReference, vpFile) function now omits invisible elements. This brings it in line with the behavior of Boolean test.vp(name) and therefore avoids unwarranted test failures.
  • Timeout problems when communicating to the AUT again abort the test execution right away instead of causing a script exception to fix a regression caused by a previous change to Object waitForObject(objectOrName) and related functions.
  • Correctly handle script errors caused by accessing object properties of objects not from the current application context.
  • Python BDD: support UTF-8 in step definitions using a regular expression pattern (i.e., when using the regexp=True argument).
  • squishrunner no longer infinitely waits for background processes which were started from the test script.
  • An initial value can now be passed to the string testInteraction.input(message, initialText) via an optional second argument.
  • Fixed a potential crash triggered by calling the Boolean test.vp(name) function in standalone Python scripts accessing the Squish API via the squishtest module.

Qt-specific

  • macOS only: fixed a regression that menu items are sometimes not activated.
  • macOS only: fixed menu activations if the user running the test is not owning the display, but a different user logged in via fast-user switching.
  • mousePress()/mouseMove(x, y)/mouseRelease() can now be called with object names again.
  • Fix a problem causing script errors when accessing HTML object properties with a null value in a Qt application that embeds a web view.
  • startaut now supports a new --cwd which can be used to define the working directory of the AUT.
  • Fixed duplicate recording of mouseClick(objectOrName, x, y, modifierState, button) statements for QtQuick web views.
  • Support access to QML list properties.
  • Support disabling native dialogs with Qt 5.7 and later.

Java-specific

  • Fixed an issue in the type(objectOrName, text) function causing it to fail entering certain characters into into Swing table cells.
  • A performance regression related to the parentItem/leftWidget/aboveWidget properties in object names was fixed, object lookups for names using any of these properties should be much faster now.
  • Add support for JavaFX SubScene controls.
  • The mouseClick(objectOrName) function now correctly scrolls JTable cells into view.
  • Fixed a regression related to JList items.
  • Fixed SWT/GTK support for SWT version newer than 4.4 and GTK2 being used.
  • Greatly optimized execution of table verification points for large tables.

Web-specific

  • A new script function attachToBrowser(portOrWindowTitle) was introduced which can be used to attach to a browser instance that has not been started by Squish/Web (for Microsoft Internet Explorer, Safari, Firefox and Chrome).
  • Fix a problem causing a crash of the webhook process when accessing properties of already closed tabs.
  • Fixed a stability issue in the webhook program when using Microsoft Internet Explorer in cases where retrieving the DOCUMENT object failed.
  • Fix a problem with sending touch events on iOS 8.2 and later
  • Fix a problem when doing device-testing where at the end of the recording or replay the browser would not reset properly and hence subsequent test runs/recordings wouldn't be possible.
  • Enforce disablement of the safe-mode dialog in cases where the Firefox process is being forcibly terminated.
  • Fixed a packaging problem that prevented Flex support to be available in macOS packages of Squish for Web.
  • Enable hooking into sub-process by default, fixes regression Java Web-Start hookup from browser.

Windows (native)-specific

  • When picking objects, no tooltip is shown anymore - it provided little extra value but greatly slowed down object picking at times.
  • Controls automated via Microsoft UI Automation (UIA) now have all properties available via UIA exposed via the nativeObject property.

macOS-specific (Cocoa/Carbon edition)

  • Fixed accessing empty cells in an NSOutlineView that uses bindings for setting its data.
  • Made screenshots of windows with rounded borders or transparent windows where background is visible more stable by enforcing a white background when taking the screenshot.
  • startaut now supports a new --cwd which can be used to define the working directory of the AUT.

iOS-specific (iPhone/iPad edition)

  • Fixed recording of text input with iOS 9 and iOS 10.
  • Fixed creating and executing tests on iOS 10.
  • Fixed a crash when testing apps written with the NativeScript framework.

Android-specific

  • Fix instrumentation and deployment on 64bit Linux systems not having libc++ installed.
  • Fixed occasional error when executing the ApplicationContext startApplication(autName) function when having multiple devices available.
  • Fix a problem which, in some cases, made it necessary to restart the adb program after executing a few tests.
  • Fixed replaying clickLink(objectOrName) statements in WebView with recent Chrome updates.

Tk-specific

  • startaut now supports a new --cwd which can be used to define the working directory of the AUT.

Source Packages

  • The Squish Classic IDE has been removed.
  • Building Squish Tools (Runner, IDE Utils) now requires Qt 4.2 or newer

Platform Support

  • Pre-notification for users of the Unix-based operating systems AIX and Solaris: as of the next Squish release support for those platforms may be available in form of remote testing only. This is due to the dwindling support of frameworks employed by squishrunner and Squish IDE. Also see this dropped platform announcement by the Eclipse project, for example.

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