Table of Contents
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 (Section 7.4.3.3) 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 (Section 7.4.3.3) has further
information on how to include or exclude test cases for a specific
execution.
A new RemoteSystem
Object (Section 6.3.20)
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
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 (Section 7.9).
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.
Improved loading speed of HTML report in Web browser.
Fixed a problem in the nativeType
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 (Section 6.3.19) can
now be initialized via the config.xml
file.
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 (Section 9.10) 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
test.vp
statement is part of a waitFor
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.
Scenario Outline placeholders used in a table argument for a Step are now correctly replaced with their specific values.
A RemoteSystem
Object (Section 6.3.20) was added, permitting
remote file system access as well as command execution.
The createVisualVP
function now omits invisible elements. This brings it in line
with the behavior of test.vp
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 waitForObject
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 testInteraction.input
via an optional second
argument.
Fixed a potential crash triggered by calling the test.vp
function in standalone Python scripts
accessing the Squish API via the squishtest
module.
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
/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 (Section 7.4.7.1) now supports a new
--cwd
which can be used to define the working directory
of the AUT.
Fixed duplicate recording of mouseClick
statements for QtQuick web
views.
Support access to QML list properties.
Support disabling native dialogs with Qt 5.7 and later.
Fixed an issue in the type
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
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.
A new script function attachToBrowser
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.
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.
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 (Section 7.4.7.1) now supports a new
--cwd
which can be used to define the working directory
of the AUT.
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.
Fix instrumentation and deployment on 64bit Linux systems not having libc++ installed.
Fixed occasional error when executing the startApplication
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
statements in WebView with recent Chrome updates.
startaut (Section 7.4.7.1) now supports a new
--cwd
which can be used to define the working directory
of the AUT.
The Squish Classic IDE has been removed.
Building Squish Tools (Runner, IDE Utils) now requires Qt 4.2 or newer
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.