New features:
- Web
Support was added for Firefox versions 31 and 32.
- SWT
Eclipse/SWT support was added for Eclipse version 4.4 "Luna".
-
The command line arguments
-exitcode-ignore-warning
, -exitcode-ignore-error
and
-exitcode-ignore-exception
are now also available in calldaemon mode. These options
are helpful for integration with continuous integration tools like Hudson/Jenkins or
TeamCity as the exit code of a QF-Test batch run can be forced to 0 even in case of
warnings, errors or exceptions.
Bugs fixed:
- SWT
On Linux systems like RHEL 6.5 with an old version of glibc, instrumented 64bit
versions of Eclipse failed to start. This dependency on a newer version of glibc has
been removed.
- SWT
For SWT QF-Test refused to replay hard events on negative coordinates which, however, are
necessary to reach a window on a second monitor placed to the left of the main screen on
Windows.
- Web
The check for the editable state of INPUT:TEXT, INPUT:PASSWORD and TEXTAREA nodes was
missing for web clients.
- Swing
The "All lines" check for Swing JTextArea components was not recorded correctly when
clicking below the first line of text.
-
When canceling an edit in the detail view or adding a new node, QF-Test now checks
whether modifications were made and asks for confirmation before discarding those.
-
When toggling the disabled state of the selected node, modifications made but not
confirmed in the detail view were silently discarded.
-
In very special cases running a test in a QF-Test daemon could fail due to a missing engine
license even though the license was available.
New features:
- Web
Support was added for Firefox versions 29 and 30.
- Web
The new 'Procedure'
qfs.web.browser.mozilla.cleanupProfileDir
in
the standard library qfs.qft
attempts to remove redundant and broken files
(most notably places.sqlite
) in the Firefox profile directory used for
testing (<user.home>/.qftest/mozProfile
by default). The procedure is
called automatically during the standard startup sequence via the call to qfs.web.browser.settings.doStartupSettings
.
-
For TestLink integration the ImportResults script now lets you specify the build name
during import, overriding QF-Test's runid at test execution time is no longer necessary.
Bugs fixed:
-
The warning dialog for duplicate IDs in a test suite is no longer shown in batch mode.
-
An Excel 2010 sheet with a cross-sheet reference to a pure number is now handled
correctly by the 'Excel data file' node.
- Web
In some web pages content inside an IFRAME could not automatically be scrolled to the
correct location for replaying a hard mouse event or performing an image check.
- Web
The print dialog is now shown correctly in Firefox.
- Swing
The fix for Java 8 focus handling in QF-Test version 3.5.5 could cause a very subtle issue
in focus behavior for popup windows.
New features:
- Web
Support for Firefox version 27 was updated and new support added for Firefox version 28.
- SWT
Eclipse/SWT support was updated for service release 2 of Eclipse version 4.3.
-
The driver test suites and documentation for the integration with imbus TestBench were
updated.
- Web
QF-Test is now less restrictive when comparing document URLs or href attributes, so a
simple change of a hostname, IP address or port no longer requires working with regular
expressions in the 'Feature' attribute.
Bugs fixed:
-
Focus handling for replay with Java 8 has been improved and QF-Test now works around a bug
in Java 8 when setting a window topmost on Windows systems.
- Web
Proxy settings for Internet Explorer are now application-local, so even after a crash
the system proxy settings remain unchanged.
- Web
The user agent for Internet Explorer 11 is now reported correctly by QF-Test's embedded
browser.
- Web
Firefox confirmation dialogs for closing or navigating away from a web page are now
handled correctly and can be interacted with.
- SWT
Input of Unicode characters from 'Text input' nodes with
'Replay single events' set was not replayed correctly on some Linux systems.
-
Closing the QF-Test main workbench with a run log still open, then jumping from that
run log to a test suite caused the saved session of opened test suites to get lost.
New features:
- Web
Support was added for Firefox versions 26 and 27.
- Web
Support for the AJAX toolkit ZK was updated for ZK version 7.
- Web
Synchronization with AJAX HTTP requests was improved for the toolkits ExtJS, ICEfaces,
PrimeFaces and ZK.
- Web
On Windows the one-time installation of the QF-Test JavaScript bridge for Firefox no longer
requires starting QF-Test once with administrator privileges.
Bugs fixed:
-
WebStart applications are still a moving target. Various fixes for special cases were
implemented to make startup of WebStart applications more reliable.
-
Mouse events with variables for the X or Y coordinate that expand to empty values were
not replayed to the middle of the target but to the relative coordinate 0.
-
In case of deep component hierarchies QF-Test no longer logs excessive component
information which, in extreme cases, could cause the SUT to run out of memory.
-
A memory and thread leak in the
DaemonLocator
class has been plugged.
-
The JNA library included in Jython no longer triggers stackguard warnings.
- Web
An exception caused by a special kind of HTML table with no columns in the header has
been fixed.
New features:
- Web
Support was added for the AJAX toolkit ICEfaces. See section 50.2 for
further information and a list of the supported AJAX toolkits and their versions.
- Web
QF-Test can now automatically detect whether a web page is based on one of the supported
AJAX toolkits and installs the respective resolver.
- Web
Support was added for Firefox versions 24 and 25.
-
The QF-Test demo video on the welcome dialog now links to the updated video on the QFS home
page which is fully redesigned, including spoken explanations.
-
It is now possible to copy and paste table cells back and forth between QF-Test tables and
Excel or OpenOffice spreadsheets.
-
When changing the name of a parameter in callable nodes like a 'Procedure' QF-Test now
offers to automatically update the variable name in all calling nodes.
-
The standard library
qfs.qft
contains several new procedures for working
with standard Swing dialogs based on the JOptionPane
class in the package
qfs.swing.optionpane
.
Bugs fixed:
-
Stability of startup of WebStart based clients and compatibility with older WebStart
versions was further improved.
-
Canceling a long search did not work reliably and could even lead to a deadlock in some
cases.
-
Replace operations for the regular expression ".*" could lead to double replacements in
some cases.
-
The associated label for components was sometimes not determined correctly if the label
was placed to the right of the component.
Important changes:
-
Handling of the security dialogs for Java WebStart and applets had to be changed
again.
Security warnings are now closed implicitly before connecting to QF-Test and it is possible
to permanently accept a certificate during this step. The details for this operation can
be configured via the procedure qfs.swing.startup.setSecurityDialogSpec
.
The default delays for WebStart and applets also changed as documented in the procedure
qfs.swing.startup.setDelays
.
New features:
- SWT
Eclipse/SWT support was updated for the final Eclipse version 4.3 "Kepler".
- Web
Support was added for Firefox version 23 and updated for version 22.
-
Testlink support was updated for Testlink version 1.9.7.
-
'Wait for component to appear' nodes now automatically handle waiting for the respective GUI engine in
addition to implicitly waiting for the SUT to connect.
-
Nodes for 'Procedures' and 'Packages' marked as "@deprecated" are now crossed
out in the tree view.
- Web
The new procedure
qfs.web.general.integrateFirebug
in the standard
library qfs.qft
loads Firebug Lite into the running browser which can be
very helpful when writing resolvers.
-
The keyboard shortcut [Shift-Control-I] can now be used
to quickly pack one or more steps into an 'If' sequence.
Bugs fixed:
-
The Windows executables
qftest.exe
and qftestc.exe
failed to
read the configured Java version, memory and language from the Windows registry.
-
Saving test suites and run logs and other IO operations are now significantly faster on
slow network shares.
-
When changing the currently executed node via 'Continue execution from here' in the test
debugger, QF-Test is now smarter in keeping as much of the current state of execution as
possible, including the previously broken case when continuing from a 'Procedure'
node.
- Web
On Linux systems Firefox would crash when terminated while a dialog was still showing.
- Web
The recently added support for ZK and PrimeFaces was fine-tuned and fixes subtle
problems with specific Trees, TreeTables and other components.
- Swing
Associated labels of Swing components, recorded as "qfs:label" extra feature, are now
used for generating the 'QF-Test ID' attribute. For web and SWT components
this was already the case.
-
In the QF-Test daemon
DaemonTestRunListener
instances were not unregistered
correctly which could slow down daemon execution after a call like
qftest -batch -calldaemon -verbose ...
-
The SUT can now implement an RMIClassLoaderSpi without interference from QF-Test's RMI
communication.
Important changes:
-
The Jython version provided with QF-Test was rolled back to Jython 2.5.1 because Jython
2.5.2 caused strange but reproducible problems with some SUTs. Jython is mainly used as
glue code, so stability and non-interference with the SUT are far more important than
compatibility with newer Python language features and modules, so the Jython version for
QF-Test will remain frozen at 2.5.1 for the foreseeable future.
New features:
- Web
New support was added for the AJAX toolkits PrimeFaces and ZK and support for Eclipse
RAP was updated to RAP version 2.0. See section 50.2 for further
information and a list of the supported AJAX toolkits and their versions.
- SWT
Eclipse/SWT support was added for Eclipse version 4.3 "Kepler".
- Web
Support was added for Firefox versions 21 and 22.
-
The new procedure
qfs.swing.filechooser.selectFiles
can be used to
select several files in a multi-select enabled Swing JFileChooser
.
-
The new 'Browser HTTP request' node can be used to replay HTTP GET or POST request
directly in the running browser. In contrast to the existing 'Server HTTP request' node,
which interacts directly with the server, the 'Browser HTTP request' can be combined with
event and check nodes.
-
HTML reports now contain pie charts to visualize the number of successful, failed and
skipped tests. A click on the chart brings up a more detailed graph. The directory
structure of reports has been cleaned up by moving all images and screenshots to
sub-directories.
- Web
When started from QF-Test Firefox now automatically accepts SSL certificates for HTTPS
connections, limited to the current session.
-
Testlink support was updated for Testlink version 1.9.4.
Bugs fixed:
-
The initial connection sequence for applets and WebStart based applications had to be
updated after security restraints were again tightened in recent JRE updates from
Oracle. The stability of applet and WebStart startup should now be less dependent on
timing and the procedure
qfs.swing.dialogs.handleSecurityWarning
is
now able to handle all current security warnings for applets and WebStart.
-
Exceptions caused by CSV or Excel files with inconsistent data are now handled cleanly.
-
Updating components with 'Item' nodes could cause an exception.
Following is an overview over the main new features that have been implemented for QF-Test
since the last production version 3.4.
| |
| | Table B.6: New features in QF-Test version 3.5 | |
New features:
- Web
Support was added for Firefox version 20.
- SWT
Eclipse/SWT support was updated for Eclipse versions 4.2.2 and 3.8.2.
-
Groovy was updated to version 2.1.0.
-
Explicit references between test suites belonging to the same project are now resolved
automatically provided that those test suites have been saved with QF-Test version 3.5.0 or
higher.
-
Multi-line values can now be edited directly in QF-Test's table cells.
-
Extra mouse buttons can now be used to move backwards/forwards between recently selected
nodes.
-
Double-clicking on nodes that reference other nodes now navigates to the target, e.g.
from 'Procedure call' to 'Procedure'.
-
test suite and run log files can now be dragged onto QF-Test's main window to open them.
-
The new procedure
qfs.swing.dialogs.handleSecurityWarning
in the
standard library qfs.qft
closes the security dialogs displayed by current
JREs during startup of applets or WebStart based applications.
-
The procedure
qfs.web.browser.general.startAsNewProcess
was updated
to include security dialog handling.
-
Another new procedure named
qfs.swing.startup.startWebstartSUT
can be used to run WebStart and connect to the SUT, also handling the security dialog
automatically.
-
The new procedure
qfs.utils.files.readExcelFile
can be used to read
data from an excel sheet into Jython or QF-Test variables.
- Web
The 'Server HTTP request' node now offers an optional timeout and can return the HTTP status
code. Parameters are now encoded during replay instead of recording, making it easier to
specify values manually. Older test suites are converted automatically during loading to
reflect this change.
- SWT
The default names recorded for GEF items are now more meaningful and result in improved
recognition.
-
QF-Test now integrates with the test management tool Klaros. See section 27.4 for further information.
-
The error list for a run log now includes a timestamp column and shows information about
expected errors.
-
When pausing a batch test via [Alt-F12], input to the
SUT is no longer blocked.
-
If the new command line argument
-dontkillprocesses
is specified in batch mode,
QF-Test will not explicitly terminate processes started as part of the tests.
Bugs fixed:
-
A memory leak in case of large projects with many test suites and complex includes has
been plugged.
-
A workaround has been implemented for a bug in recent JRE security updates that could
cause batch tests to simply stop in the middle of execution.
-
Variables could accidently be removed from QF-Test component IDs when fixing references
automatically.
-
In special cases externalized run logs could be missing from run logs saved as .qzp.
-
When opening an externalized log on its own, split logs contained therein could not be
accessed correctly.
-
A race condition during automatic project refresh could mess up the project tree view.
-
The native file chooser for Windows is now implemented based on SWT instead of
XFileDialog. This fixes issues when opening directories and when changing the file
filter during "Save as..." operations.
-
In batch execution of multiple test suites, global variables and resources are no
longer cleared before the execution of each test suite unless the new command line
argument
-clearglobals
is specified.
- Web
Firefox on Linux no longer crashes on shutdown.
- Web
For some MIME types downloading files did not work correctly with Firefox.
- Web
Checks for the enabled state could fail in Internet Explorer if the state was set via
JavaScript.
- Web
Waiting for the absence of an element could fail if the element just became invisible
instead of being removed completely.
-
Variables in 'Data binder' nodes are now expanded immediately during execution of the
containing 'Data driver' node so that local variables bound in the 'Data driver' are
evaluated correctly.
-
A 'Return' in a 'Finally' node could hide an exception thrown in the
containing 'Try' node.
-
Using Java 7 on Mac systems could cause an exception during startup of QF-Test.
-
In case a process simply refuses to be killed, the 'Stop client' node did not
remove the process from the »Clients« menu, thus preventing
starting a new process under the same name.
-
Image checks based on algorithms were not always shown correctly in the report.
-
In case dependency resolution fails due to an exception during setup even after
unwinding the complete dependency stack for error escalation (see subsection 8.6.7), QF-Test now cleans up after the final attempt so that the
next test case starts with a clean slate.
-
Changes to the location of the search dialog and other dialogs were often ignored
instead of automatically saved to the user preferences.
New features:
- Web
Support was updated for Firefox versions 18 and 19.
-
The project concept now includes support for subprojects. See chapter 9 for further information.
- Web
JavaScript error filters defined in the option Errors that should be ignored are now applied to the complete message including the
URL and line number of the source of the error.
- SWT
Several checks were added for Eclipse JFace components like
FormText
,
Link
or Hyperlink
.
Bugs fixed:
-
The responsiveness of QF-Test severely suffered when opening many test suites.
-
Refresh of large projects on slow filesystems like Windows network shares is now
significantly faster.
-
If several projects were opened, automatic refresh of the project hierarchy could
mess up the project tree.
- SWT
Geometry of events relative to an SWT Shell now includes the window title and borders.
- SWT
Highlighting widgets inside
CTabFolders
in Eclipse 4.2 now uses the correct
offset.
-
Errors happening outside a test case were not listed correctly in the report if the
containing test set contained several test cases.
- Web
Downloading files with Firefox could cause a JavaScript error if the file
mimeTypes.rdf
was missing from QF-Test's Mozilla profile. This file is now
created on the fly if necessary.
- Web
Closing the browser window of Internet Explorer 10 could cause the browser to deadlock
instead of terminate.
- Web
QF-Test's embedding of Internet Explorer 10 caused the browser to run in IE9 mode. Now it
starts up in IE10 mode by default with the usual settings for compatibility mode enabled.
- Web
Replaying [Tab] keystrokes on Firefox did not always trigger the correct focus traversal.
-
Conflicts caused by an SUT using a Groovy 2 version other than the version provided with
QF-Test are now resolved.
New features:
- SWT
Eclipse/SWT support was updated for Eclipse versions 4.2.1 and 3.8.1.
-
Daemon communication is now secured via SSL. See chapter 54 about how
to increase security by creating an individual keystore or how to disable this feature
in case you need daemon interaction with older QF-Test versions.
-
QF-Test generated JUnit reports now contain
<skipped>
tags, enabling
build tools like Hudson/Jenkins to correctly report skipped tests.
Bugs fixed:
-
License usage for idle QF-Test daemons was not determined correctly.
- Swing
Replaying certain events in batch mode could switch QF-Test into recording mode, causing
weird problems and significant loss of performance.
- Swing
Timing for startup of Java WebStart based SUTs has been further improved to
significantly increase the stability of this setup.
- Web
Some focus transitions were not triggered correctly when replaying events in a browser.
- Web
The filename shown in a download dialog was not always correct.
- Web
Downloads in a Vaadin based SUT could cause an exception.
- Web
Internet Explorer 10 now reports the correct version information.
- SWT
Recording of drag and drop operations on CTabFolders in Eclipse 4.2 was broken.
- SWT
In some cases the height of SWT List items was not calculated correctly, leading to the
wrong item being addressed in case of large lists with many items.
-
The new 'Extra feature' attribute
qfs:label
was sometimes not determined
correctly in the presence of Swing JSlitPane or SWT SashForm components.
-
Handling of an SUT with combined SWT/AWT GUI was broken. Due to an error introduced in
version 3.4.11 QF-Test was treating this as two SUT clients instead of one client with two
GUI engines.
New features:
-
With the introduction of projects (see chapter 9), large sets of
test suites become much more manageable and updating reverse includes is now mostly a
thing of the past.
- Web
The increasingly popular AJAX toolkit Vaadin is now fully supported.
- Web
The integration of QF-Test with various AJAX toolkits has been brought to a new level.
Generic classes provide a unified view that abstracts from the technical details,
focusing on typical UI elements like Tree or Table that users are familiar with. This
even includes the concept of sub-items so that addressing table cells or tree nodes is
now just as easy as with Swing or SWT. This level of support is currently available for
Ext JS 4, RAP, RichFaces and Vaadin.
- Web
Support was added for Firefox version 18.
-
For SUTs where only few components are named - if any - component recognition has been
improved by adding a new 'Extra feature' called
qfs:label
.
It represents a best match for a label, based on various algorithms including a search
for the nearest label for components that don't have one of their own. Classical forms
consisting of text fields with labels next to them benefit most from it.
-
Handling the opposite case, where the same component name is assigned to more than one
component, is now also handled via via the new option Validate component recognition during recording.
-
QF-Test now integrates with the test management tool QMetry. See section 27.3 for further information.
-
Components in QF-Test's detail view are now sized dynamically depending on the contained
data. Combined with improved scrolling this vastly improves creating and maintaining
test suites.
-
The menu item »Replay«-»Reset all« can be used to stop the test, reset dependencies and global variables
and kill all clients with a single action.
-
On Windows QF-Test now uses the native file chooser by default, configurable via the option
Use native file chooser on Windows or macOS systems.
-
There are new operations to search for various kinds of duplicates, empty tests or
illegal characters. The result dialogs for these and similar operations as well as
searches have more options and exported results can now be read back.
-
Search and replace operations now cover whole projects and can be interrupted in case
they take too long.
-
Tables holding variable definitions or parameter lists can now be sorted.
-
It is now possible to navigate from a QF-Test component ID specified in a variable table
directly to the component by right-clicking the respective table cell.
-
Parameters of procedures can now be added to or removed from the variable definitions of
all callers via the context menu of the parameter table.
-
Recording procedures for windows with many components now works significantly faster.
-
Whitespace at the beginning or end of variable names is now generally removed to avoid
confusion.
-
There is a new hotkey (configurable via Hotkey for recording, default
[F11]) to start and stop recording directly in the SUT. The
previous default binding for [F11], component recording, has been
moved to [Shift-F11].
-
There's a new kind of check for tree nodes that can handle whole (sub-)hierarchies
at once, including indentation.
-
Highlighting components in the SUT for event nodes now works even if the 'Component'
node for the event is not located in the same test suite.
-
Killing the SUT and other processes now works much faster.
-
Leading and trailing whitespace in 'Feature' attributes is now
generally ignored. This implementation is fully backwards compatible, so it doesn't hurt
if features were recorded with whitespace before.
-
Line numbers are now displayed for tables where this is useful, for example in
'Data table' or 'Check items' nodes.
-
In places where accidentally inserted TAB or line-break characters can do harm, most
notably in variable definitions or checks, they are now represented as graphical
symbols. This can be turned off via the option Show symbols for tab and line break characters.
New packages and procedures in the standard library qfs.qft
Bugs fixed:
-
The modified connection mechanism still crashed Java WebStart on some occasions and has
been further fine-tuned to prevent that.
-
The option settings for Errors that should be ignored were not saved to the
system configuration file.
New features:
- Web
Support was added for Firefox version 20.
- SWT
Eclipse/SWT support was updated for Eclipse versions 4.2.2 and 3.8.2.
-
The new procedure
qfs.swing.dialogs.handleSecurityWarning
in the
standard library qfs.qft
closes the security dialogs displayed by current
JREs during startup of applets or WebStart based applications.
-
The procedure
qfs.web.browser.general.startAsNewProcess
was updated
to include security dialog handling.
-
Another new procedure named
qfs.swing.startup.startWebstartSUT
can be used to run WebStart and connect to the SUT, also handling the security dialog
automatically.
Bugs fixed:
-
A workaround has been implemented for a bug in recent JRE security updates that could
cause batch tests to simply stop in the middle of execution.
- Web
Firefox on Linux no longer crashes on shutdown.
- Web
For some MIME types downloading files did not work correctly with Firefox.
- Web
Checks for the enabled state could fail in Internet Explorer if the state was set via
JavaScript.
- Web
Waiting for the absence of an element could fail if the element just became invisible
instead of being removed completely.
-
A 'Return' in a 'Finally' node could hide an exception thrown in the
containing 'Try' node.
-
Using Java 7 on Mac systems could cause an exception during startup of QF-Test.
-
Changes to the location of the search dialog and other dialogs were often ignored
instead of automatically saved to the user preferences.
New features:
- Web
Support was updated for Firefox versions 18 and 19.
- Web
JavaScript error filters defined in the option Errors that should be ignored are now applied to the complete message including the
URL and line number of the source of the error.
Bugs fixed:
-
The responsiveness of QF-Test severely suffered when opening many test suites.
- SWT
Geometry of events relative to an SWT Shell now includes the window title and borders.
- SWT
Highlighting widgets inside
CTabFolders
in Eclipse 4.2 now uses the correct
offset.
-
Errors happening outside a test case were not listed correctly in the report if the
containing test set contained several test cases.
- Web
Downloading files with Firefox could cause a JavaScript error if the file
mimeTypes.rdf
was missing from QF-Test's Mozilla profile. This file is now
created on the fly if necessary.
- Web
Closing the browser window of Internet Explorer 10 could cause the browser to deadlock
instead of terminate.
- Web
QF-Test's embedding of Internet Explorer 10 caused the browser to run in IE9 mode. Now it
start up in IE10 mode by default with the usual settings for compatibility mode enabled.
- Web
Replaying [Tab] keystrokes on Firefox did not always trigger the correct focus traversal.
New features:
- SWT
Eclipse/SWT support was updated for Eclipse versions 4.2.1 and 3.8.1.
- Web
Support was added for Firefox version 18.
Bugs fixed:
-
The modified connection mechanism still crashed Java WebStart on some occasions and has
been further fine-tuned to prevent that.
-
The option settings for Errors that should be ignored were not saved to the
system configuration file.
- Swing
Timing for startup of Java WebStart based SUTs has been further improved to
significantly increase the stability of this setup.
- Web
Some focus transitions were not triggered correctly when replaying events in a browser.
- Web
The filename shown in a download dialog was not always correct.
- Web
Internet Explorer 10 now reports the correct version information.
- SWT
Recording of drag and drop operations on CTabFolders in Eclipse 4.2 was broken.
- SWT
In some cases the height of SWT List items was not calculated correctly, leading to the
wrong item being addressed in case of large lists with many items.
-
Handling of an SUT with a combined SWT/AWT GUI was broken. Due to an error introduced in
version 3.4.11 QF-Test was treating this as two SUT clients instead of one client with two
GUI engines.
New features:
-
QF-Test is now compatible with Java applets running on JRE version 1.6.0_35 or higher or
JRE version 1.7.0_7 or higher. A security fix from Oracle broke the existing applet
connection mechanism. The new mechanism should also improve stability of Java WebStart
based SUTs.
- Web
Support was added for Firefox version 17.
- Web
Via the new option Errors that should be ignored it is now possible to
ignore specific JavaScript error messages while still treating others as an error.
-
When copying multiple lines of a table in the detail view of QF-Test these are now also
copied to the system clipboard as a list of TAB-separated values, thus enabling pasting
into a spreadsheet.
-
The new procedure
qfs.utils.logNativeMemory
in the standard
library qfs.qft
can be used to get information about the native memory use
of an SUT client.
-
Windows executables and installers created by QFS are now signed with an official
certificate for smoother integration with Windows 7 and Windows 8.
Bugs fixed:
- Web
Downloads of large files were sometimes truncated.
- Web
The new <INPUT> types in HTML 5 are now mapped to INPUT:TEXT
so that tests remain independent of whether the browser supports them.
-
The command line argument
-runlogdir <directory>
now also works for daemon calls via
qftest -batch -calldaemon
.
-
Empty formatted cells in an Excel 2010 sheet are now handled correctly by the
'Excel data file' node.
- Web
Toolbar icons for QF-Test's browser wrapper are now transparent and no longer look horrible
on Windows 7.
New features:
- Web
Support was added for Firefox versions 15 and 16.
-
The performance of complex QF-Test operations like finding references has been
significantly improved for large projects on slow filesystems like network shares.
Bugs fixed:
- Web
Crashes of IE and Firefox were further reduced.
New features:
- SWT
Eclipse/SWT support was added for Eclipse "Juno" versions 4.2 and 3.8.
- Web
Support was added for Firefox version 14.
-
Several new transformation options for nodes in the test suite were introduced.
Bugs fixed:
- Web
A significant memory leak in QF-Test's browser wrapper was plugged.
- Web
Several causes for browser crashes were fixed, both for Internet Explorer and Firefox.
- Web
Component recognition now also works correctly with components recorded in a flat
hierarchy, even if the web page contains <FRAME> nodes.
- Web
The progress bar in Internet Explorer always remained visible even when a page was
completely loaded.
- Web
If the path for the Firefox installation directory contained special characters, Firefox
could not be started correctly from QF-Test.
- SWT
On Windows, popup menus in an Eclipse/SWT application were sometimes mistakenly
considered to be invisible.
-
Files are no longer overwritten without asking when an image is saved from a
'Check image' node.
- 'Component group' and 'Window group' nodes are now handled and integrated
correctly when importing components from a test suite.
-
Another special case for escaping '$' characters in component names has been fixed.
New features:
- Web
Support was added for the current Firefox version 13.
- SWT
Eclipse/SWT support was added for Eclipse versions 3.8M7 through 3.8RC2 and experimental
support for Eclipse version 4.2M7 through 4.2RC2.
- Web
Support for the Richfaces toolkit was improved.
-
The 'Excel data file' node now also handles Excel files with the '.xlsm' extension.
Bugs fixed:
-
Escaping of '$' characters in component names was broken in the component and procedure
recorder.
- Web
Enabled checks did not work correctly with Internet Explorer 9 running in IE 7
compatibility mode.
- Web
Firefox could crash when closing a browser window.
- Web
When recording procedures the calls for <SELECT> elements were
created incorrectly.
New features:
- Web
Support was added for the current Firefox version 12.
-
The new 'Procedure'
qfs.swt.ctabfolder.openViewMenu
can be used to
generically open the ViewMenu of a CTabFolder based on the tab name, both for Eclipse
3.x and Eclipse 4.
Bugs fixed:
-
Script errors were not formatted correctly when shown in the error dialog. In the
run log those errors were shown correctly.
-
Excel 2010 files used in a data driver with an 'Excel data file' node were not
closed correctly.
- Web
There's a new workaround for the workaround for the missing MSVC manifest in a DLL from
Firefox 10 and higher. Problems with another missing MSVC DLL on Windows XP and
deadlocks when loading a Flash component in Firefox on Windows have been fixed.
New features:
Bugs fixed:
-
The fix for SUTs that use RMI with a custom implementation of the Service Provider
Interface (SPI) could cause a subtle class loading problem that has been fixed.
-
Deleting the last row in a variable table in QF-Test could lead to an exception when
subsequently trying to move a table row.
- Web
QF-Test's handling of JavaScript errors could cause Internet Explorer to crash.
- Web
If QF-Test was accidently started with the
bin
directory of an older QF-Test
version as its working directory, starting a browser on Windows could fail due to
conflicts between DLL versions.
- Web
Use of a special API in Internet Explorer can lead to very subtle deviations in
JavaScript execution. QF-Test no longer uses this interface.
- Web
On some systems the workaround for the missing MSVC manifest in a DLL from Firefox 10
and higher could cause a problem with another DLL and prevent QF-Test from starting
Firefox.
New features:
- Web
Support was added for the current Firefox version 11.
-
The new 'Procedure'
qfs.client.sendInput
in the standard library
qfs.qft
can be used to send text to the standard input of a process started
by QF-Test.
Bugs fixed:
-
A race condition between termination of and receiving output from a process running on a
remote machine could cause some of the process' output to get lost.
-
Cancelling a long search in a large test suite did not work reliably.
-
Empty variable values in the 'Name' or 'Feature'
attribute of a 'Component' are now interpreted correctly as "ignore name" or
"ignore feature" instead of looking for "an empty name" or "an empty feature" which was
bound to fail.
-
The QF-Test daemon was not registered at the default port when started without the argument
-daemonport <port>
.
-
SUTs that use RMI with a custom implementation of the Service Provider Interface (SPI)
failed to connect to QF-Test.
-
The combination of running multiple threads with the argument
-threads <number>
in batch
mode and connecting to a sub-process of the SUT with $(client):2 did not work correctly.
- Web
QF-Test now works around a problem with a missing MSVC manifest in Firefox 10, causing an
error message about incorrect loading of the C runtime library.
- Web
Firefox 10 crashed when navigating to about:plugins.
- Web
A download triggered at JavaScript level via a link starting with '#' caused the browser
window to close.
New features:
- Web
Support was added for current versions of Firefox 9 and 10.
- SWT
Eclipse/SWT support was added for Eclipse version 3.8M5 and experimental support for
Eclipse version 4.2M5.
- SWT
New checks were introduced for SWT
Decorations
, small icons typically shown
next to a text field. You can now check the visibility, icon and tool tip of a
Decoration
.
-
Iteration ranges can now also be used when setting up data at script level via the
databinder
module or by calling one of the 'Procedures'
qfs.databinder.bindList
or qfs.databinder.bindSet
in the
standard library qfs.qft
. See section 22.4 for
further information.
-
The thumbnail images shown for screenshots in the HTML report are now of higher quality.
Bugs fixed:
-
A small change in QF-Test version 3.4.3 regarding the RMI communication between QF-Test and
the SUT was undone because of possible side-effects when the SUT was using RMI itself.
-
When using 'Check image' nodes with an advanced algorithm and a timeout QF-Test always
used up the full timeout even when the image matched immediately.
-
When a 'Check' node with a timeout fails, QF-Test used to show the initial state of the
target component in the run log. Now it shows the state at the end of the timeout period
instead.
-
When using Drag&Drop to move nodes within QF-Test the tree could jump erratically in some cases.
-
Trying to remove the same node twice from a search result dialog could lead to an
exception.
-
In the standard test suite library
qfs.qft
the 'Procedure'
qfs.shellutils.touch
now correctly updates the timestamp for existing
files and the 'Procedure' qfs.autowin.getURLFromIE
now also works with
Internet Explorer version 6.
- SWT
When recording a mouse click on an SWT ToolItem that opens a drop down menu QF-Test now
records the coordinates so the event can replay correctly.
- Web
If an alert dialog was shown after closing a modal browser window, the main browser
window could remain blocked after closing the alert.
- Web
JavaScript errors in Internet Explorer were not logged correctly in QF-Test's run log.
- Web
In some cases the initial loading of a web page did not succeed.
- Web
Highlighting the selected component in a browser on Linux has been improved.
- Web
Web pages with a Flash element were sometimes not displayed correctly on Linux.
- Web
The name recorded for file upload on Linux contained the Windows file separator
character '\'
- Web
There were problems with browser startup on special Windows versions if QF-Test was
installed below a directory with blanks in its name, e.g. "C:\Program Files (x86)"
New features:
- Web
Support was added for current versions of Firefox 8 and 9.
-
The 'Excel data file' node now supports reading
.xslx
files in Excel
2010 format.
-
The performance of some advanced image check algorithms was significantly improved.
-
It is now possible to fetch option values in a script via the new method
rc.getOption
. See section 49.5 for details.
Bugs fixed:
-
When switching test suites by clicking a suite tab the keyboard focus was not correctly
restored.
-
The keyboard shortcut [Ctrl-D] for setting a bookmark
did not work.
-
Jumping from a node in the debugger window to the same node in the test suite now works
again.
-
In some special cases QF-Test could kill the wrong process on Windows when trying to
terminate the SUT.
New features:
- Web
Full support was added for Firefox 6 and experimental support for Firefox 7.
-
For easier integration with continuous integration tools like Hudson/Jenkins or TeamCity
the exit code of a batch run can be forced to 0 even in case of warnings, errors or
exceptions with the help of the command line arguments
-exitcode-ignore-warning
,
-exitcode-ignore-error
and -exitcode-ignore-exception
.
- Web
If the option
Replace no-break space with normal space
is activated, QF-Test now represents
no-break space characters in a web page as normal space characters in checks and
'Component' node attributes to avoid confusion.
- SWT
QF-Test now supports capture and replay of "expand" and "collapse" events for SWT
ExpandItems.
Bugs fixed:
- SWT
The integrated help viewer of Eclipse uses a separate SWT Display on Windows which
caused problems during replay. It is now consistently represented with
'GUI engine' "swt1".
- Web
Direct execution of JavaScript code now also works in Internet Explorer 9 despite
stronger security restrictions.
- Web
The AJAX resolver for GWT has been updated to version 1.4.0 to fix filtering of
<DIV> nodes from the component hierarchy. See section 50.2 for details about AJAX resolvers and their versioning scheme.
- Web
Opening a modal popup window could crash Firefox 6 on Windows.
- Web
Double clicks are now recorded correctly in Internet Explorer.
- Web
A 'Fetch text' node for a <SELECT> node now retrieves
the text of the selected <OPTION> node and 'Fetch text'
nodes for <OPTION> elements represented as items are working
correctly.
-
Printing unicode strings in Jython could cause problems when running in batch mode.
-
The content of 'Data table' nodes was missing in the run log.
-
A 'Wait for client to connect' node with a very short timeout did not throw a
ClientNotConnectedException
when single-stepping in the debugger.
-
The QF-Test daemon was leaking threads when starting a remote SUT process for use with
the procedure
qfs.daemon.startRemoteSUT
.
-
When updating failed image checks from the run log the size of the image was not always
updated correctly.
-
When recording procedures, QF-Test failed to create a procedure in case the respective
component had no value for a placeholder like <COMPFEATURE>.
New features:
- Web
Full support was added for Firefox 5 and experimental support for Firefox 6.
- SWT
Eclipse/SWT support was updated for Eclipse version 3.7 Indigo.
-
Groovy was updated to version 1.7.10.
-
Error messages for errors in Groovy scripts now show proper context and line numbers.
- SWT
QF-Test can now handle custom SWT components that hide their child Widgets by overriding
getChildren()
to return an empty array.
- Web
Support was added for ExtJS version 4 and for RichFaces version 4. See section 50.2 for details about the support AJAX toolkits and versions.
-
The 'As regexp' attribute of 'Window' and 'Component'
nodes can now be defined as a variable value.
- Web
The startup sequence created by the quickstart wizard for web applications now
has a smarter layout and is easier to adjust.
-
On Windows systems QF-Test now makes use of the always-on-top attribute to force SUT
windows to the front even if normally prevented by Windows. To disable this feature,
deactivate the option Force window to the top when raising.
-
A new check was added to directly check the icon of a component instead of having to
capture the whole component and define a check region.
Bugs fixed:
-
When loading the test suites to restore the last session upon startup, QF-Test did not
check for auto-save files.
-
It was possible to start parallel tests in the same context by hitting [Return] at the right time. This could lead to confusing results in the run log
and even to exceptions.
- Swing
Swing applications started via Java WebStart have two independent application contexts, a user
context and a security context. Unless the 'GUI engine' attribute of a
'SUT script' node explicitely defines the engine, the script is now always
correctly executed in the user context and not in the security context.
- Swing
Special support for JSlider components was missing.
-
The special variable ${qftest:runid} did not expand to the correct value if the runid
was specified explicitly via
-runid <ID>
in batch mode.
- Web
A forced download triggered via a special PHP construct could cause Internet Explorer to
crash.
- Web
Clearing the cache for Firefox did not always work correctly.
- Web
Trying to record a check for an XML document displayed in Internet Explorer could crash
the browser.
- Web
It is now possible to record checks for applets even when they are embedded in QF-Test's
browser wrapper.
-
The Groovy implementation of
qf.logError
was broken.
-
In a workbench view with many open test suites and some test suite tabs scrolled out to
the left, coordinates for dragging test suite or node to different test suites were off,
leading to surprising results.
- SWT
QF-Test was leaking resources when taking Screenshots in an Eclipse/SWT SUT.
- SWT
Calling
Display.asyncExec
from a timer could crash Eclipse on Linux Gtk
with 64bit.
- SWT
The order of SWT.Activation events could show very subtle differences between manual
replay and automatic replay with soft events.
-
A very long search string could mess up the size of the search and replace dialog.
-
Markers in run logs did not propagate beyond 'External log' nodes.
-
Fallback to lazy binding did not work for not-yet-bound properties.
Note
Support for Java 1.4.2 was dropped by both Jython and Groovy so QF-Test now requires at least
Java version 1.5 for itself and the SUT.
Following is an overview over the main new features that have been implemented for QF-Test
since the last production version 3.2.
| |
| | Table B.7: New features in QF-Test version 3.4 | |
New features:
- SWT
Support for testing Eclipse/SWT version 3.7 was updated.
-
All 'Data binder' nodes now have an attribute named 'Iteration ranges'
that can be used to limit the iteration to a single element or one or more intervals,
which is very convenient when implementing tests, continuing a test that had to be
stopped or performing a retest with a limited subset.
-
In workbench mode the current session with the currently open test suites and the
positions therein is now saved when QF-Test is closed and restored upon startup, provided
the option Restore last session on startup is active. Also added to the workbench
view were the ability to save all modified test suites via the »File« menu and switching between recently active test suites via
[Control-F6].
-
Moving backwards/forwards between selected nodes has been unified and should now work
consistently even for special cases. After recording components you can jump directly to
the recorded node by moving forwards, even if no node was actually recorded and the
existing node is in a different test suite.
-
Filter capabilities were added to the search/replace result and other multi result
dialogs.
-
Marks can now also be set for nodes in a run log, so multi-step search operations are
now also available in run logs.
-
The quickstart wizard has improved support for launching applets in a browser and for
setting the compatibility mode in internet explorer, backed by the procedures
qfs.web.browser.general.startAsNewProcess
and qfs.web.browser.settings.enableCompatibilityMode
in the standard library
qfs.qft
.
-
When started in batch mode with the command line argument
-verbose [<level>]
, QF-Test now
displays exception, error and warning counts for each 'Test case'.
-
The new package
qfs.autowin.acrobat
in the standard library
qfs.qft
contains methods to save a PDF document showing in an Acrobat
window or to copy its text content to a file via the clipboard (Windows only). These are
complemented by the qfs.utils.files
package with procedures to
verify the content of a text file.
-
The new methods
setProperty
and getProperty
in the generic
scripting module qf
(see section 49.6) can be used to
associate arbitrary data with a GUI element, e.g. to cache some resolved feature or name
values or other information that is too expensive to compute every time a resolver
method is called.
-
The
TestRunListener
API (see section 53.7) has
been extended to provide the number of exceptions, errors and warnings that occurred
below a given node in the TestRunEvent
of a call to
nodeExited
.
- Web
The AJAX resolver for GWT has been updated to version 1.2.0. It now filters irrelevant
<DIV> nodes from the component hierarchy and has improved
support for obfuscated GWT class names. See section 50.2 for details about
AJAX resolvers and their versioning scheme.
Bugs fixed:
-
Early checking to handle OutOfMemoryErrors more gracefully could impact test execution
speed significantly with JDK 1.5 on Windows. Tests should now run at full speed again
with all JDK versions.
-
Some of the advanced image check algorithms did not work correctly with JDK 1.5. All
algorithms are now fully supported for JDK 1.5 and higher and return consistent results,
independent of the JDK version, except for resizing, which is implemented differently
in the various JDK versions and can lead to minor deviations in the resulting
probability.
-
The procedure
qfs.shutil.copy
in the standard library
qfs.qft
was broken. It now copies files and directories correctly,
recursively if necessary and handles special cases like copying a directory into itself.
- Web'Check image' nodes now work correctly in Firefox 4.0.
- Web
Scrolling an element visible was not always possible in IE9 and some special cases with
a deeply nested hierarchy.
- Web
In IE9 nodes were not highlighted properly and highlighting could interfere with
recording image checks.
- Web
Browser settings for IE9 did not always take effect.
- Web
A download operation triggered from a popup window could crash the browser.
-
A running test in the QF-Test daemon can now be interrupted and stopped cleanly via
-stoprun
even if the test is currently waiting for something.
-
The structure of the JUnit XML report is now compatible with Atlassian Confluence.
-
In Groovy the method
rc.getProperties()
was not implemented correctly.
New features:
- SWT
Support was added for testing Eclipse/SWT versions 3.6.2 and 3.7 Milestone 5.
-
The search and replace dialogs are now integrated so it is possible to start with a
search and continue replacing, based on the same criteria. Also, the replace dialog is
no longer modal so it can be kept open while editing.
-
Integration of the debugger functionality into the workbench view is now complete. The
current variable bindings are displayed automatically whenever the debugger is entered
unless the option Show variable bindings automatically is turned off.
-
The keyboard shortcuts [Alt-1] through [Alt-9] navigate directly to the respective test suite tabs in the
workbench view.
-
Pressing [F2] in the test suite tree now moves focus directly to
the details field that is most relevant for the display name of the node.
-
The new 'Procedure'
qfs.client.renameClient
in the standard library
qfs.qft
can be used to rename an SUT client after it connects. This is
especially useful for an SUT that launches multiple sub-processes that connect as
client:2, client:3 etc.
-
The new special variable $_{qftest:skipnode} can be used to skip execution of a node.
Please see section 6.6 for details and applicability.
- SWT
Hyperlinks in the Eclipse FormText widget are now recognized as sub-items.
-
Advanced image checks are now also available to scripts via the new run context method
rc.checkImageAdvanced
. Please see section 49.5 for details.
-
The various
rc.check*
methods in the run context now return the result of
the evaluated condition. Please see section 49.5 for details.
-
The image of a 'Check image' node in the test suite and the run log as well as
screenshot images can now be opened in a separate window by double-clicking the image
(run log only) or clicking the respective button above the image.
-
There is a new utility module for scripting called
qf
, documented in
section 49.6. It contains variants of commonly useful methods like
isInstance
and the ability to add messages to the run log even when no
run context is available, e.g. in TestRunListener, Checker or Resolver implementations.
-
Templates for procedure recording have become more powerful. Procedures can now be
created conditionally by placing a @CONDITION tag with an arbitrary Jython or Groovy
script in the comment. Please see chapter 55 for details.
- Web
The 'Procedure'
qfs.web.browser.settings.setProxy
in the standard
library qfs.qft
now also supports passing a URL for automatic proxy
configuration.
Bugs fixed:
-
Switching execution to a different node in the debugger could unbalance the parent/child
relationships of the associated nodes in the run log.
-
Setting and unsetting options at script level could mess up default option values.
- SWT
Improved double click replay for SWT on Windows.
- SWT
Some selection events for SWT now receive special treatment for focus handling.
- SWT
Empty lines at beginning of an SWT StyledText widget are now handled correctly on Linux.
-
Errors in nested test cases are now listed correctly in the report.
- Web
Proxy server settings for Internet Explorer 9 are now working correctly.
- Web
Image checks are now working correctly with Firefox 4.
- Web
JavaScript and authentication dialogs are now working correctly in Firefox 4.
-
QF-Test now issues a warning each time you first try to modify a write-protected test suite.
-
Doctags for 'Dependency' nodes are now listed correctly in pkgdoc documentation.
New features:
-
Groovy was updated to version 1.7.6.
-
QF-Test now actively monitors the memory available in the Java VM for running tests. When
available memory runs low, the test is aborted cleanly and the run log is saved. This
also prevents extreme slow-down when memory gets tight.
-
To prevent running out of memory in the first place, QF-Test now splits run logs
automatically by default, based on the option Minimum size for automatic splitting (kB).
-
Managing test suites in the workbench has been improved. The tab for the active suite is
now shown with a bold font, you can drag tabs to reorder test suites and
double-clicking to the right of existing tabs creates a new suite.
-
The search dialog now has additional options for limiting the search and it is also
possible to search all loaded test suites at once. To prevent visual overload for the
common case, the search dialog can now be toggled between simple and advanced mode.
-
The debugger has been mostly integrated into the workbench, except for the variables
view which still requires the separate debugger window.
- Web
There is a new recording mode for web applications that tells QF-Test to ignore individual
events and record entire GET or POST requests instead, which are then represented by the
new 'Server HTTP request' node. Upon replay QF-Test interacts directly with the HTTP/HTTPS
server without requiring a browser. This can be useful for load testing or mass data
entry.
-
For Swing and SWT components with an icon QF-Test now records a hash value derived from the
icon image as an 'Extra feature'. As long as the icon remains stable this should lead
to improved recognition, especially for toolbar buttons without a label. The default
state of the image hash extra feature is 'Should match'. You can change it to 'Ignore'
for components where the icon is not reliable and to 'Must match' for components where
the image is the best way to identify the component.
-
There is a new special variable syntax that allows specifying a default value for a
variable. This is extremely useful for things like generic components or really every
place where a variable has a reasonable default, because that default value is then
tightly coupled with the variable lookup itself and doesn't have to be specified at
'Sequence' or test suite level. The syntax is ${default:varname:defaultvalue}.
-
Additional special variables are now available to retrieve the name of the currently
executing 'Test set' or 'Test step' in addition to the already available 'Test case' name.
Also, counters were added for the number of test cases executed so far, failures etc.
Please see section 6.6 for details.
-
Where available, the dialog showing the methods available for a component now also
displays the results of calling those methods that represent Java Bean values.
-
The option Log successful advanced image checks can be activated in order to
store the results of a successful advanced image check in the run log. This can be
useful while tuning the parameters for an advanced image check algorithm.
-
The new command line option
-verbose [<level>]
for batch execution with or without
accessing a daemon causes QF-Test to print progress information during a test run.
-
The new 'Procedure'
qfs.utils.dumpHeap
in the standard library
qfs.qft
can be used to trigger a heap dump for the Java VM of the SUT when
it uses too much memory. This can be detected with the help of the 'Procedure'
qfs.utils.logMemory
which now returns the amount of memory used.
Bugs fixed:
-
When replaying mouse events without coordinates on items, QF-Test no longer targets the
center of the item, but the position 5 pixels from the left, vertically centered.
Apparently some events are sensitive to whether the click hits the text of an item and
not just its bounding box, so short items in a broad column could cause problems.
-
Calling stored procedures in a database could fail using the default Jython bindings.
-
If the debugger was turned off for normal use, debugger-stepping after hitting a
breakpoint could occasionally fail so the test simply continued.
-
A positive search result for the type of an extra feature could cause an exception.
-
Blank characters in names for saving external run logs are now turned into an underscore
because Windows doesn't handle trailing blanks in directory names gracefully.
-
The input file for a 'CSV data file' node is now closed immediately after reading the
data.
-
Recursive procedure calls could cause problems when importing procedures or analyzing
references.
Incompatible changes:
-
Support for Java 1.4.2 had to be dropped in order to update Jython and Groovy.
QF-Test now requires at least Java version 1.5.
-
Interaction between Jython and Java has changed slightly between Jython 2.1 and 2.5 so
occasionally scripts that worked in QF-Test may now fail or behave differently.
New features:
-
Jython was updated to version 2.5.1. Most scripts should continue to run without
problems. Incompatibilities may arise due to the changes in character encoding and
because Java strings are now uniformly treated as unicode strings in Jython.
-
Groovy was updated to version 1.7.2.
- SWT
Support was added for Eclipse/SWT version 3.6.1.
- Web
Experimental support was added for Firefox 4 and Internet Explorer 9.
-
QF-Test now integrates well with the increasingly popular Continuous Integration system
Hudson/Jenkins. This includes JUnit as an additional target format for QF-Test reports.
Please see section 28.4 for further information.
-
Image checks are no longer restricted to testing for exact pixel-by-pixel equality.
Several flexible algorithms now allow image checks with a configurable degree of
deviation from the expected image. Please see chapter 58 for details.
-
Besides components you can now also import test cases and procedures from one test suite
into another as described in section 25.3.
-
When coordinates for mouse events are irrelevant, QF-Test now removes them altogether
instead of setting them to (1,1). Upon replay the event is then aimed at the center of
the target component or item. See also option
Record MouseEvents without coordinates where possible
.
-
By combining search and replace operations with marks it is now possible to narrow
searches in several steps, giving very fine-grained control over where to perform
replacements. Instructions and examples are provided in subsection 2.3.3.
-
Moving backwards or forwards between selected nodes now works across test suites and
even run logs. Thus a single mouse click or keystroke is now sufficient to return when
following a procedure call to its target in a different test suite or when jumping from
a run log to the respective node in the suite.
-
Several new toolbar buttons were added and all the buttons now look much better. The
menu structure also was cleaned up with operations on tree nodes now collected under the
new »Operations« menu, among them many new node transformations.
Also, several new keyboard shortcuts were introduced. A summary of all keyboard
shortcuts is provided in appendix C.
-
The layout of pkgdoc and testdoc documentation now equals that of reports, including
node icons and support for test steps. These can be configured via the command line
arguments
-testdoc-teststeps
, -testdoc-nodeicons
and
-pkgdoc-nodeicons
or the respective options in the dialog for interactive
creation of those documents.
-
'Skipped' and 'Not implemented' tests can now be ignored in the report via the command
line argument
-report-ignoreskipped
or the respective option in the interactive
dialog.
-
Daemon tests can now be stopped at the command line via the new argument
-stoprun
.
-
The comment of a 'Procedure', 'Test case' or 'Dependency' node can now be filled
automatically with doctags for parameters, characteristic variables and author by
right-clicking the node and selecting »Additional node transactions«-»Fill comment« from the context menu.
-
The
TestRunListener
API now also provides information about whether a
test run was terminated normally (with or without exceptions) or aborted. See section 53.7.
-
The new method
rc.callTest
in the run context can be used to call a
'Test case' or 'Test set'. In contrast to callProcedure
,
callTest
can only be called from 'Server script' nodes. It returns the
exit status of the called test.
-
The content of QF-Test configuration files is now sorted which significantly improves
handling of those files in a version control system.
-
Several procedures were added to or refined in the standard library
qfs.qft
. Its documentation is now also available online and indexed by the
full text search engine on the QFS website. A link to the online text search covering
all technical material is provided via the menu »Help«-»Online search...«.
-
It is now possible to create a test suite from a run log.
-
It is now possible to pass GUI elements from an SUT script as individual targets to
QF-Test's component recognition mechanism via the new run context method
overrideElement
. See also subsection 11.2.7.
Bugs fixed:
- Web
When started from QF-Test, Internet Explorer 8 always ran in IE7 compatibility mode. This is
no longer the case. Compatibility mode can now be actively selected in the quickstart
wizard or via the procedure
qfs.web.browser.settings.doStartupSettings
in
the standard library qfs.qft
.
- SWT
On Linux QF-Test could sometimes crash SWT/Eclipse applications with disposed
Combo
popups.
- SWT
Test replay for Eclipse/SWT on Linux is now much more robust, especially when handling
menus.
- SWT
Trailing empty newlines in
StyledText
widgets are now handled correctly on
Linux.
-
Creating reports with many screenshots now requires much less memory.
- Web
Downloads in Internet Explorer should now work consistently.
- Web
In case of overlapping nodes with transparent nodes on top QF-Test could pick the wrong
node for check recording. It now lets the browser make the decision instead. Switching
back to the old algorithm can be done via the option Let the browser determine the target element for check recording.
-
A memory leak in QF-Test resulting from SUT clients printing a lot of output to the shared
terminal in workbench view was plugged.
New features:
-
Support was added for testing Eclipse/SWT version 3.6 "Helios".
- SWT
Multiple file selection in an SWT FileDialog can now be recorded and replayed.
Bugs fixed:
-
Replay performance could suffer severely if the user's home directory was located on a
network drive.
- Swing
A workaround for an AWT weakness introduced in QF-Test 3.2.1 could impact replay
performance for AWT/Swing.
- Swing
Yet another performance problem resulting from very large hierarchies of Swing menus has
also been fixed.
- Web
Several special cases for uploading files with Internet Explorer are now handled
correctly.
- Web
Downloading files with Internet Explorer now works correctly in case of HTTP redirection.
Bugs fixed:
-
With a 1.4 JDK in interactive mode QF-Test would only start if given a file to open.
- Web
Web-testing now works again on Windows 2000.
-
The QF-Test debugger used to show duplicate entries on the variable stack for
'Procedure call' and 'Test call' nodes.
-
There was a memory leak in connection with interactive editing of test suites with
'Check image' nodes for large images.
-
In very special cases an import of components into their own suite could result in
incorrectly updated references.
-
Saving entries for zipped run logs could occasionally fail on Windows due to a problem
in the underlying library. QF-Test now works around that.
-
Two problems were fixed for SUTs with more than one GUI engine, e.g. a WebStart
application or combined SWT/Swing. In such a case QF-Test used to log more than one
screenshot of the main screen after an error and sometimes connections from the second
engine could fail.
- Web
The upload dialog for web pages was not handled correctly for all browser versions and
the procedure
qfs.web.input.fileUpload
in the standard library
qfs.qft
did not handle all cases correctly.
-
In recent QF-Test versions there was an inofficial global Jython run context
rc
available in addition to the local one. In special cases this could
cause subtle namespace problems, so the (still inofficial) global version was renamed to
__rc
.
-
Several minor problems and occasional exceptions in connection with the result list
dialogs were fixed.
Following is an overview over the main new features that have been implemented for QF-Test
version 3.2. For detailed information about the differences between QF-Test 3.0 and 3.2,
please see the following sections with the release notes for versions 3.2.0 and 3.1.x.
| |
| | Table B.8: New features in QF-Test version 3.2 | |
New features:
- SWT
Support for Eclipse/SWT has been brought up-to-date with the current versions
3.5.2 and 3.6M6.
- Swing
Swing components are no longer highlighted by exchanging their foreground and background
color but by painting a rectangle, similar to SWT and Web. Target sub-items are now
highlighted as well.
-
The new 'Boolean check' node with 'Check type identifier' attribute 'visible' is similar
to 'Wait for component to appear' node, but in contrast to the latter is is listed in the report
as a check and it has different default settings for the result handling.
-
The most recently accessed component and possibly item in the SUT can now be retrieved
in Jython and Groovy 'SUT script' nodes via
rc.getLastComponent()
and
rc.getLastItem()
.
- Web
Selecting a file for upload in a web form can now be recorded and replayed directly on
Windows. For a cross-platform implementation it is still necessary to call the procedure
qfs.web.input.fileUpload
from the standard library qfs.qft
.
-
Additional features were added to the result lists for complex operations. For example,
you can now perform actual replacements in the result list for the replace dialog or you
can update multiple failed checks at once from the error list in a run log. Besides, the
result list for an operation that takes time is now filled continuously and the
operation can be aborted if necessary.
-
Recent search expressions are now saved in the user configuration.
- 'Dependency' nodes inside 'Packages' are now listed in the pkgdoc documentation
unless disabled via the command line argument
-pkgdoc-dependencies
or the
respective interactive option.
Bugs fixed:
- Web
Right-clicks for JavaScript-based popup menus no longer need to be replayed as hard
events in order to trigger the popup reliably.
- Web
When recording checks the z-order of DOM nodes is now properly taken into account so
that QF-Test no longer records nodes that are actually in the background, covered by other
nodes.
New features:
- Swing
It is no longer necessary to instrument standard JDKs or JREs, though it doesn't
hurt to keep existing instrumentation.
- SWT
Support was added for the latest Eclipse/SWT version 3.6.
- Web
QF-Test now supports Firefox 3.6.
-
The new part II 'Best Practices' in the manual describes recommended
procedures based on lessons learned from several customer projects and user feedback
that will hopefully help you to find the best strategy for using QF-Test in your own
projects.
-
Reports have been restructured and further extended. 'Check' nodes now have an
optional 'Name' attribute for their representation in the report. Besides, the
performance of report creation has been drastically improved and its memory impact
reduced.
-
The tree display in run logs now shows expanded values instead of variables. This can be
toggled via the »View« menu.
-
Compactification for run logs is now more efficient and special placeholder log entries
show where nodes were removed during compactification.
- SWT
Support for the Eclipse Graphical Editing Framework (GEF) is now included by default and
works correctly with multiple concurrent GEF editors. See section 53.6 for
further information.
- Web
The new procedure
qfs.web.input.fileUpload
in the standard library
qfs.qft
handles <INPUT:FILE> nodes for the various
browser variants.
-
TestLink integration has been simplified (section 27.5).
-
For Swing and SWT tables and multi-column trees it is now possible to check a whole row
at once.
-
ExtraFeatureResolvers can now also be used for SWT and Swing. These are described in
subsection 53.1.11.
-
The standard library
qfs.qft
now includes wrapper procedures for the autowin
module in the package qfs.autowin
. These can be used to check for the
existence of a window and to close it on Windows systems.
-
The runid of the current test run now is now available via ${qftest:runid}.
-
Special variables or properties of type group:name can now be used for
'Characteristic variables'.
-
For nodes like 'Test step' or 'Test set' with several tabs for variable bindings the
number of bound variables is now displayed in the tab which makes it much easier to
locate those bindings.
Bugs fixed:
- Web
Several causes for IE crashes were fixed.
- Web
Wait for absence now works correctly for invisible nodes.
-
QF-Test doesn't get blocked as easily when the SUT generates a lot of output and the
JTextArea for the shared terminal cannot keep up.
-
The internal variable stack of QF-Test could get messed up in some special cases.
-
The procedure builder now correctly handles '_' characters in package or class names.
New features:
-
The new 'Test step' node can be used to provide further structure and document tests
below 'Test cases'. 'Test steps' are listed individually in the report unless
deactivated with
-report-teststeps
. Similar effects can be achieved by marking
arbitrary nodes with the doctag @teststep, optionally followed by a name for the step.
-
The report now also can list checks (off by default) and warnings (excluding component
recognition warnings, on by default) integrated into the test step listing and also
shows icons for nodes. The respective settings can be changed via
-report-checks
,
-report-warnings
and -report-nodeicons
in batch mode or the respective
options in the dialog for interactive report creation.
-
In the workbench view there is now a context menu for the test suite tabs.
-
All 'Comment' attributes can now be edited in an external editor similar to scripts.
-
There are new toolbar buttons in the run log window for navigating to the next/previous
error or warning.
-
The incremental search feature now has more intelligent scrolling for hits and also
allows scrolling the component being searched via the [Up],
[Down], [Page up] and [Page down] keys.
- 'Dependencies' can now optionally be resolved in a namespace which allows having
different sets of dependencies for different parts of a test so that the dependencies
don't interfere with each other. See the 'Dependency namespace' attribute
for details.
Bugs fixed:
-
Due to the JIDE libraries used, the new workbench view does not work with JDK 1.4.
It now gets deactivated automatically when starting QF-Test with a 1.4 JDK.
-
Several exceptions caused by the new workbench view and the multi result dialogs were
fixed.
-
In the new workbench view QF-Test could lose track about which suites are currently loaded,
causing a suite to get loaded more than once, leading to confusing behavior and
sometimes an exception.
-
The new mechanism for on-the-fly SWT instrumentation only handled one SWT plugin, so
that in case of a multi-platform Eclipse based application with several SWT plugins the
correct plugin for the current platform could remain uninstrumented.
-
Calling
stopRun
could cause the shared run context in the QF-Test daemon to
become unusable.
- SWT
Text checks for SWT Group widgets were missing.
- Web
Fixed automatic scrolling of web pages for image checks and replay of hard events.
-
The popup sub-menu for setting and removing marks was sometimes empty.
New features:
- SWT
Support was added for the latest Eclipse/SWT version 3.5.1.
- Web We have started work on special support for several AJAX web toolkits,
including Ext GWT, Ext JS, GWT, qooxdoo and RAP. Instead of deeply nested hierarchies of
<DIV> nodes QF-Test now operates in terms of the actual rich
interface of buttons, labels, trees etc. For information on how to activate this feature
in its current state, please get in touch with QFS.
-
QF-Test now comes with support for interacting with the open source test management tool
TestLink. Please see section 27.5 for details.
-
By default QF-Test now starts with a "Workbench View" where all open test suites are
arranged as tabs in a single window. This feature is work in progress. In case it causes
problems or if you prefer the old style, you can switch back to multiple windows via the
»View« menu.
-
The new function »Analyze references« in the context menu of a
node can be used to statically validate the correctness of a test suite by verifying the
existence of the target nodes of 'Procedure calls', 'Test calls',
'Dependency references' and references to 'Components'.
-
Operations that search for or result in changes to multiple nodes now bring up a mass
result dialog listing the affected nodes. You can either navigate to specific nodes
directly from that dialog or use it to set marks on some or all of the resulting nodes.
-
Nodes in a test suite can now be marked with markers in four different colors for
easier reference and quick navigation. Marks can be set either individually via the
menu »Edit«-»Marks« or the
context menu, or from a mass result dialog.
-
All text fields, terminals etc. in QF-Test's user interface can now be searched locally by
pressing [Ctrl-F] when the field owns the keyboard
focus. Details are described in subsection 2.3.1.2.
-
The new Component Method Spy retrieves and displays fields and methods of Swing or SWT
components as well as the JavaScript properties of a DOM node in the web client (see
section 5.12).
-
After recording a new sequence and transforming it into a 'Procedure' you can select
»Parameterize node« from its context menu to tell QF-Test to
automatically extract parameters for it from the contained nodes.
- SWT
The Eclipse/SWT instrumentation performed by the 'Procedure'
qfs.qft#qfs.swt.instrument.setup
now operates on-the-fly, building a new
plugin from an existing plugin and the QF-Test specific add-ons. Thus it is now possible to
instrument custom SWT plugins or plugins for unofficial Eclipse versions for which QF-Test
doesn't provide an exactly matching instrumented plugin.
-
Event nodes can now be transformed into a 'Wait for component to appear' node.
-
The keyboard shortcut for the 'Redo' operation was changed from [Ctrl-R] to [Ctrl-Y]. Over the last years the
latter has become a de facto standard.
-
The warning about nested 'Test case' execution can now be suppressed via the option
Log warning for nested test cases.
- Web
Where scrolling a web page is required to perform a hard event or an image check, QF-Test
now tries to scroll a web page itself via JavaScript calls instead of relying on the
browser's internal mechanism which often completely messes up the display.
-
Component recognition based on geometry can now be suppressed by setting the coordinate
and size attributes of a 'Component' to '-'.
-
It is now possible to specify just the 'Class count' or
'Class index' of a 'Component' node and ignore the other.
Bugs fixed:
-
Using the replace dialog to replace a regular expression with an empty string caused an
exception.
-
The function to make 'Procedure calls' or 'Dependency references' relative did not
work reliably.
-
When moving several 'Procedures', the automatic correction of 'Procedure calls' could
fail in some special cases.
-
Procedure recording now works correctly for custom classes with a special ClassLoader.
-
When creating reports, warnings can be suppressed entirely by specifying
-report.warnings=false
for batch mode or deactivating the respective option
in the dialog for interactive report generation.
- SWT
Recording a click on an editable table cell could cause the cell editor to get activated
in the wrong table row.
- SWT'Fetch index' nodes were not implemented for SWT.
-
Removing or marking unused components, importing and other complex component operations
could fail if the test suite contained a 'Data table' node with no columns or
empty table cells.
Incompatible changes:
-
The changes to the check system described below are fully backwards compatible. However,
once a test suite has been saved with QF-Test version 3.1.1 it cannot be run correctly with
an older QF-Test version except for QF-Test version 3.0.3 which has explicit bidirectional
compatibility support for this feature. Once you introduce QF-Test version 3.1.1 you can
safely continue to work with QF-Test 3.0.3, but you should not use older versions like
3.1.0 or 3.0.2.
New features:
-
The transition to the new check mechanism is now complete. Custom
Checkers
are now fully documented (section 53.5) and can be created for all
check data types. All 'Check' nodes now have a 'Check type identifier' attribute and the old
'Check editable', 'Check enabled' and 'Check selected' nodes were replaced with
'Boolean check' nodes with a matching 'Check type identifier'.
-
It is now possible to bookmark test suites, run logs and individual nodes in a
test suite so they are directly accessible via the new sub-menu »File«-»Bookmarks«. Please see subsection 40.1.5 about how to create and manage bookmarks.
- Web The new
ClassNameResolver
(see subsection 53.1.9) - though also useful for SWT and Swing applications - is
an important milestone for AJAX web testing. With its help and the new pseudo class
hierarchy for DOM nodes (see subsection 5.4.1) a deeply nested
hierarchy of <DIV> nodes can be turned into a concise component
hierarchy with expressive class names that vastly improve component recognition.
- 'Procedures' can now automatically be parameterized via the sub-menu »Parameterize node« in the popup menu for the 'Procedure' node. This feature is
work in progress and will need more fine-tuning so we hope for your feedback.
-
When creating testdoc documentation it is now possible to follow 'Test call' nodes
and include the target 'Test case', 'Test set' or test suite into the generated
documentation by activating the respective option in the dialog for interactive use or
via the command line argument
-testdoc-followcalls
in batch mode.
-
Several more variants for converting and (un)packing nodes were added.
Bugs fixed:
-
Several problems with split run logs were fixed. Log entries could get lost in compact
logs, when the split run log was not saved as a zip file or when split run logs were
disabled but the attribute 'Name for separate run log' was defined.
DaemonTestRunListeners
did not work correctly in asynchronous mode.
-
When creating a report, screenshots for failed 'Check image' nodes were always
saved regardless of whether the failed check actually represented an error or was just a
part of a conditional construct.
-
Use of the new Java regular expressions in QF-Test's replace dialog was not correct so that
some replacements based on regexps were not possible.
- Web
When determining uniqueness of 'ID' attributes for use as names, QF-Test was too strict so
that in some cases potential names were not assigned.
-
Instrumenting an OpenJDK directory now works.
- Web
Waiting for a new document did not handle the window name attribute correctly.
- Web
Waiting for a download to finish always waited for the full timeout.
- SWT
In very rare cases replaying text input could crash an SWT application on Linux.
-
Option settings from
rc.setOption()
in the SUT were reset whenever options
were changed in the option dialog.
- SWT
Event replay for SWT
MenuItems
with Gtk 2.4 on RedHat Enterprise Linux 4
was not reliable.
- SWT The
ktable
and gef
Jython modules for the
respective SWT components were not correctly updated for the new
ItemResolver
and Checker
mechanisms.
- SWT
QF-Test now properly discerns the most modal SWT
Shell
in case multiple modal
Shells
are opened simultaneously.
Incompatible changes:
-
QF-Test now uses standard Java regular expressions by default which are much more powerful
than the old GNU regexp package. One major difference is that '{' and '}' are special
characters for Java regexps and may need to be escaped with a '\'. If necessary, you
can switch back to the old GNU regexps via an option. See also section 48.3.
- Web
In contrast to Mozilla, Internet Explorer reports a local navigation to an anchor on the
current page as a normal navigation event, so up to now a 'Wait for document to load' node was
recorded which failed when replaying the same test on Mozilla. QF-Test now treats this
situation uniformly by ignoring the extra navigation from IE so no 'Wait for document to load' node
is recorded with either browser. Consequently, old 'Wait for document to load' nodes for local
navigation will now fail and need to be removed from your tests.
New features:
- Web QF-Test's embedded browser for web testing now supports Java applets with
JDK 1.6.0_10 and up, so QF-Test can now test the interaction of a web application with its
embedded Java applet.
-
Many of QF-Test's options, specifically those with an impact on test execution, can now be
changed at run-time via the new run context method
rc.setOption
described
in subsection 11.2.6 and section 49.5.
-
When moving 'Procedure', 'Dependency' or 'Test case' nodes, all references to
these nodes can now be updated automatically. Similar updates are now performed when
changing the name of such nodes or QF-Test IDs of 'Components' via the replace dialog. As an
additional feature the new special Variable group ${id:...} (see section 6.6) and the run context method
rc.id
(see section 49.5) can be used to mark arbitrary text as the definition of a QF-Test component
ID that will be updated whenever the referenced component changes.
- 'Procedure calls' from one 'Procedure' to another 'Procedure' in the same 'Package'
hierarchy can now use a relative procedure name. Also, 'Procedures' and 'Packages' can
now be made local to their test suite by prefixing the name with an '_'. See subsection 8.5.2 and subsection 8.5.1 for details.
-
The selection dialog for a 'Procedure', 'Dependency' or 'Test case' node now also shows
the comment of the selected node. Also, it is now possible to select multiple nodes in
order to insert multiple calls at once.
-
A 'Procedure call' to a specific 'Procedure' can now be created by copying the
'Procedure' node and pasting it to a place where insertion of the 'Procedure' is not
allowed, which is basically everywhere a 'Procedure call' is allowed except for the
'Extras' node. Dragging and dropping a 'Procedure' with the same effect is
also supported.
- Web
It is now possible to interact directly with the JavaScript engine of the browser and
execute arbitrary scripts via the methods
DomNode.toJS
,
DomNode.evalJS
and DocumentNode.evalJS
, described in section 53.11.
-
When an error or exception occurs, the run log now contains a stacktrace node, showing
all nodes on the execution stack including their variable bindings, similar to the
variables view in the debugger window.
-
There is a new API for various kinds of resolvers and checkers, including an
ItemResolver
interface for implementing your own sub-items of custom
components and a Checker
interface for custom checks that can be captured
and replayed just like QF-Test's standard checks. See section 53.4
and section 53.5 for further information.
-
The new
TestRunListener
API, described in section 53.7, can be used to monitor a test run from a script. Its
variant DaemonTestRunListener
supports the same remotely via QF-Test's daemon
API. It is documented in subsection 54.2.5.
- SWT
Support for Eclipse/SWT now includes the latest Eclipse milestone 3.5M7.
- Web
The run context method
rc.callProcedure
now also works from an
'SUT script' in a web application.
-
Execution of a 'Test case' or 'Test set' can now be aborted or skipped via the run context
methods
rc.skipTestCase
, rc.skipTestSet
,
rc.stopTestCase
and rc.stopTestSet
, e.g. to prevent wasted
time and irrelevant error messages in case a dependency cannot be resolved. See section 49.5 for details.
-
The name of the currently executing 'Test case' is now available via the special
variables ${qftest:testcase.name}, ${qftest:testcase.qname} and
${qftest:testcase.reportname} (see section 6.6).
- Web
Via the new methods
setProperty
and getProperty
in the class
Node
from QF-Test's pseudo DOM API for web applications, arbitrary data can be
associated with DOM nodes without affecting the web application.
-
The new command line argument
-ping
for qftest -batch -calldaemon
can be used to check whether a QF-Test daemon is up and running.
Bugs fixed:
-
In QF-Test version 3.0.2 hard TAB characters in Jython or Groovy scripts were replaced with
blanks when showing the script, immediately causing the respective node to become
modified. This change has been taken back.
- Mac
For SUTs running on Mac OS X QF-Test disables use of the screen menu bar to allow proper
capture/replay of menu actions.
-
With JDK 1.6 some of QF-Test's dialogs were not displayed with the correct size.
-
Activating an engine license in the option dialog now works as expected.
-
When recording procedures, a new root 'Package' is always created instead of merging the
procedures into a possibly existing 'Package' named "procbuilder".
New features:
- SWT
Support was added for Eclipse/SWT versions 3.5M6 and 3.4.2.
-
The method
callProcedure
was added to the class
DaemonRunContext
of QF-Test's daemon API. This method and the existing method
runTest
now also support direct passing of parameters to this call. See
chapter 54 for details.
Bugs fixed:
- Web'Wait for document to load' nodes for web clients did not work reliably in case of multiple
browser windows.
- Web Checking the enabled/disabled state of components is now also implemented
for web clients.
- Web Capture and replay of MOVED and SIZED events is now also supported for
browser windows of web clients.
-
QF-Test now performs regular explicit garbage collections to prevent running out of memory
in the PermGen Space, a special Java memory region that causes trouble for a lot of Java
applications. For the SUT these extra garbage collections can be turned off via the
option Automatically perform garbage collection in the SUT.
- SWT
Disposal and recreation of an SWT
Display
is now handled correctly.
- SWT Custom SWT
Widgets
implemented as an anonymous local class
were not treated correctly, possibly leading to a
ComponentNotFoundException
.
-
For checks with a very long timeout deadlock detection is now adjusted accordingly.
-
The demonstration test suite for integration with the Imbus TestBench was updated to the
latest TestBench version and now handles split run logs correctly.
New features:
-
The Jython and Groovy run context
rc
now provides the convenience methods
getBool
, getInt
, getNum
and
getString
for simplifying lookup of typed variable values in scripts.
-
It is now possible to specify proxy settings for a web SUT directly in the quickstart
wizard or via the procedure
qfs.web.browser.settings.setProxy
in the
standard library test suite qfs.qft
.
-
An entry for Swing
JInternalFrame
components has been added to the template
file for automatic procedure creation.
Bugs fixed:
-
Web-testing with Mozilla on Linux no longer requires using a 1.4 JDK.
-
Using the "Update component" feature for web pages with deeply nested tables could lead
to duplicate component IDs.
-
Left-to-right binding in 'Data table' and other data nodes has been fixed.
-
SQL statements in 'Database' nodes did not work with Oracle databases, due
to an automatically appended ';' character. This has been fixed. If your database engine
requires that SQL statements are terminated with a ';' you have to specify it yourself.
-
The procedure
qfs.swt.instrument.setup
now always picks the SWT plugin with
an exact version match for instrumentation, if available. This is important for SWT 3.4,
where versions 3.4.0 and 3.4.1 are mutually incompatible.
-
When recording procedures, a '$' character displayed in one of the fields of the SUT
could lead to an exception.
-
Groovy class loading and script parsing in the SUT should now be faster, in some cases -
specifically applets - drastically.
-
A caught exception in the 'Finally' node of a 'Try' node could mess
up the state of an exception caught earlier in a 'Catch' node.
-
The demo test suite
swt_addressbook.qft
was still based on SWT 3.1, support
for which is no longer distributed with QF-Test. The suite is now based on SWT 3.4.
The following new features have been implemented for QF-Test version 3: