Manual

B
Release notes
B.1
QF-Test version 4.5
B.1.1
Highlights of version 4.5

The following major new features have been implemented for QF-Test version 4.5:

Description Further info
Support for Electron applications See chapter 16, supported Electron versions in subsection 1.1.2
Mobile Emulation in Quickstart Wizard with support for new devices See section 14.4
SWT without instrumentation See option Connect without SWT instrumentation
Support for Java 12 SUT only
Table B.1:  Highlights in QF-Test Version 4.5
B.1.2
Changes that can affect test execution
  • Web Setup sequences for web applications created with the Quickstart Wizard include a call to the procedure qfs.web.ajax.installCustomWebResolver which tries to detect the AJAX framework in use and install a matching resolver. If no pre-built resolver matches, a minimal generic resolver is installed for which the default settings were changed in QF-Test 4.5 so that DIV and SPAN nodes are now ignored and removed from the component hierarchy. This change does not affect any existing setup sequences but should be kept in mind in case the Quickstart Wizard is used to create a new setup sequence for a web application with existing tests. In such a case, simply set the parameter ignoreTags back to the empty value in the generated installCustomWebResolver procedure call.
  • SWT

    On Linux systems Eclipse/SWT applications with SWT versions 4.3 through 4.9 can be run either in GTK2 or GTK3 mode. In QF-Test version 4.3 support was added for GTK3 with SWT versions 4.6 and higher. Until now, however, startup sequences created by the Quickstart Wizard used to include a sequence that sets the environment variable SWT_GTK3 to 0 which causes all SWT versions that support GTK2 to fall back to that version.

    Starting with QF-Test 4.5 this environment variable setting is ignored. It has been replaced with the public option Preferred GTK version for SWT (Linux only) which can be set to "2" or "3" or left empty to use the default for the respective SWT version.

    Unfortunately SWT with GTK2 has become unstable on newer Linux systems and can crash under heavy load which is not uncommon when driven by QF-Test at full speed. A fix for this is to turn on XSync, an option specific to X11 that causes X11 events to be synchronized. This can have a performance impact however, so if you need to run your SWT application with GTK2 and it has been running stably so far you can deactivate the option Activate XSync for SWT with GTK2 (Linux only).

  • The connection between QF-Test and the SUT is now established via the loopback interface (localhost) by default. In the rare case that QF-Test needs to control an SUT on another host the command line argument -serverhost <host> can be used.
B.1.3
Software that is no longer supported

Note Please see section 1.1 for a detailed list of system requirements and supported technology versions.

QFS is taking pains to support even very old software. QF-Test should still run, for example, under Windows XP or with an SUT based on Java 6 but for systems that are no longer supported by their own vendors we cannot provide full support.

Support for the Safari Selenium Extension has been removed because Safari does not allow extensions anymore.

Libraries that are required for Firefox versions 44-59 and Eclipse/SWT version 3.6 and older are not part of the default installation of QF-Test. They are still being maintained, albeit with limited testing. For Eclipse/SWT 3.5 - 3.6 simply download https://archive.qfs.de/pub/qftest/swt_legacy.zip and extract the contents into the swt directory of your QF-Test installation. For support of older browsers, please get in touch with QFS via support@qfs.de.

B.1.4
Version 4.5.0 - February 14, 2019

New features:

  • Web Via its web engine QF-Test now supports testing of Electron applications. See subsection 1.1.2 about supported Electron versions and chapter 16 for further information about setting up and running Electron tests.
  • Web The Quickstart Wizard has been extended to create setup sequences for Mobile Browser Emulation and the selection of supported mobile devices has been updated and extended.
  • SWT Eclipse/SWT applications no longer require instrumentation of the SWT plugin (except for older SWT versions on Linux) which also greatly simplifies testing of WebStart based or other non-standard SWT applications. See the option Connect without SWT instrumentation and section 43.3 for further information.
  • Testing of Java 12 based SUTs is now supported.
  • Performance has been improved in several areas including startup of QF-Test itself and of web browsers, Jython initialization, resolvers and event replay and synchronization, the latter especially for web. The impact varies between barely noticeable and almost twice as fast depending on available CPUs and application details of the SUT.
  • Images and screenshots in test-suites and run-logs are compressed more effectively using the WebP format. To ease the transition QF-Test 4.4 already supports reading respective files. This version makes WebP the default, configurable via the option Compress images in run logs and test suites. Simply loading and saving a test-suite does not change the format of embedded images so as not create too much noise in versioning systems. However, test-suites can be transformed via a QF-Test batch call with the command line argument -compress.
  • Windows The ability to bring windows of the SUT to the foreground as needed and set the input focus is crucial for automated testing. On Windows QF-Test now uses a new, very reliable method to bring a window on top if the option Force window to the top when raising is not deactivated.
  • New entries were added to the context menu for test-suite tabs in the QF-Test workbench view: »Copy file path to clipboard« and »Show in explorer/finder/file manager«.
  • For processes started from QF-Test it is now possible to access output to the standard output and standard error streams individually via ${client.stdout.<name>} and ${client.stderr.<name>}. Combined output remains available via ${client.output.<name>}.
  • Mutual conversion operations between 'Start process' and 'Execute shell command' have been added to the context menu for tree nodes. These are especially useful because they take care of the conversion between the table with individual arguments and quoted arguments in a single command line.
  • The new procedure qfs.shellutils.exec in the standard library qfs.qft is a convenient shortcut for running a command, waiting for it to finish and storing the output in a variable.
  • The embedded Selenium WebDriver framework was updated to version 3.141.59, ChromeDriver to version 2.46 (with support up to Chrome version 73) and GeckoDriver to version 0.24.0 (for Firefox 60esr and higher, currently up to version 65).
  • The qfs.utils.email.sendEmail procedure in the standard library qfs.qft now supports SMTP over SSL.
  • It is now possible to fetch the whole text of a PDF page via a 'Fetch text' node.

Bugs fixed:

  • The context help menu item »What's this?« now works again for the 'Start web engine' node and its attributes.
  • Web In Firefox an unexpected dialog could lead to a NoAlertPresentException. This has been fixed for Firefox 63 and up - older Firefox versions ignore the respective WebDriver setting.
  • SWT In QF-Test version 4.4.2 on Linux systems automatically setting the input focus was broken for Eclipse/SWT applications running in GTK2 mode.
  • The rc.checkEqual method now works correctly again when comparing numbers of a different kind, e.g. integers, doubles and BigDecimals.
  • The procedure qfs.utils.xml.compareXMLFiles in the standard library qfs.qft might have missed differences in attributes.
  • JavaFX The 'enabled' check for a JavaFX MenuItem now correctly identifies the disabled state.
  • Web When switching from a browser to another application in check mode, the check highlight did not disappear reliably.
  • QF-Test no longer implicitly sets the environment variable MOZ_NO_REMOTE=1 which causes Firefox to always start a new browser process instead of opening a new tab in an existing one. This legacy setting was formerly used for testing applets.
B.2
QF-Test version 4.4
B.2.1
Version 4.4.2 - December 11, 2018

New features:

  • Support was added for Eclipse/SWT version 4.10 alias "2018-12".
  • ChromeDriver was updated to version 2.44 (still for Chrome up to version 71).

Bugs fixed:

  • The license check of QF-Test versions 4.4.0 and 4.4.1 might refuse a QF-Test 4.3 license even when that license had a valid maintenance plan.
  • An SUT based on Java 9 or higher that contains references to inner classes that were not deployed with the SUT (like inner classes used only for unit tests) is now handled correctly.
  • In case of a slow server response a 'Browser HTTP request' node could cause errors to get logged in QF-Test's terminal even when the request was executed successfully.
  • When accessing the reference manual on macOS via the 'What's this?' entry in popup menus the browser did not navigate to the correct position on the target page.
B.2.2
Version 4.4.1 - October 26, 2018

New features:

  • ChromeDriver was updated to version 2.43 (for Chrome up to version 71).

Bugs fixed:

  • In QF-Test version 4.4.0 PDF tests accidentally required a Swing license. Now they work again regardless of the licensed engines.
  • Running QF-Test in batch mode with multiple threads using -threads <number> now also works for PDF and unit tests.
  • The QF-Test daemon did not work when using a keystore and sharing the daemonport with the normal QF-Test port for SUT communication.
  • Web With Chrome 70 on Windows the screen location of elements was incorrectly computed after a navigation so that hard events might miss their target.
  • Web For Safari version 12 or newer the connection can no longer established via the Safari extension because it is no longer supported by Apple. SafariDriver is now used instead which only supports replay but no recording.
  • Web The print dialog control for Chrome on macOS is now handled correctly.
  • SWT Event recording was broken for Eclipse/SWT legacy versions 3.6 and older.
  • WINDOW_MOVED events for the file chooser of the PDF client are now filtered reliably.
  • The parameter returnOnly of the procedure qfs.check.compareDates was ignored in some cases.
B.2.3
Version 4.4.0 - October 11, 2018

New features:

  • The new automac module can be used to control native macOS applications at script level. It is accompanied by procedures in the package qfs.automac of the standard library qfs.qft. See chapter 29 for further information.
  • SWT Support was added for Eclipse/SWT version 4.9 alias "2018-09".
  • The 'Unit test' node can now run unit tests using the JUnit 5 "Jupiter" engine.
  • New text checks for PDF documents add the ability to check the text of an entire page with a single 'Check text' or 'Check items' node.
  • Web GeckoDriver was updated to version 0.23.0 (for Firefox up to version 62) and ChromeDriver to version 2.42 (for Chrome up to version 69).
  • The arguments of TestRunListener methods can now easily be converted to Json objects and for a TestRunEvent a call to getNode().getComponentId() now returns the QF-Test component ID of the current step. See section 47.7 for details.

Bugs fixed:

  • Auto-filling the comment of a procedure could accidentally drop @author information and other doctags.
  • In special cases the call to rc.toServer in a Jython 'SUT script' node could cause a NullPointerException.
  • Web The result of a 'Fetch index' step for first-level child nodes of a Tree or TreeTable component in a web application wasn't always correct.
  • Web With Internet Explorer a download triggered in a popup window could remain incomplete.
  • JavaFX Computing the name of an embedded Swing Frame based on the containing JavaFX SwingNode now also works with JavaFX 11.
B.3
QF-Test version 4.3
B.3.1
Version 4.3.2 - September 11, 2018

Bugs fixed:

  • Raising windows on Linux systems now works more reliably.
  • If an 'Server HTTP request' node for a POST request contains parameters encoded directly in the URL, QF-Test now keeps the URL unchanged instead of moving those parameters into the body.
  • Web Deleting cookies after the browser window was opened now works in WebDriver mode too.
  • Web With Internet Explorer replay of a 'Text input' node with very long text did not work reliably.
B.3.2
Version 4.3.1 - August 28, 2018

New features:

  • Web The embedded Selenium WebDriver framework was updated to version 3.14.0 and ChromeDriver to version 2.41 (with support up to Chrome version 69).
  • The PDF client can now detect images with a shear mapping.

Bugs fixed:

  • The calculation of the extra feature qfs:imagehash was broken for images with an alpha channel.
  • SWT With QF-Test version 4.3.0 tests for 32bit Eclipse/SWT version 4.5 did not work on Linux.
  • When a filter was in effect for the project tree view and a test-suite that was currently not shown in that tree got modified, display of the project tree could get corrupted.
B.3.3
Faster release cycle

We want to bring new features and bug fixes to you faster. Starting with QF-Test 4.3, a medium upgrade will be released whenever one or more relevant features are fully implemented and minor updates are going to focus on bug-fixes and small improvements. Our continuous self-tests have long since helped to maintain the continued stability of QF-Test and now the required conditions have been put into place:

New license format - all inclusive during maintenance period

The QF-Test maintenance contract has always included free medium or major upgrades within the maintenance period. However, a license update had to be requested and rolled out to all test and development machines with QF-Test installations in order to activate the new version.

With the new license file - which has to be explicitly requested for QF-Test 4.3 one more time - this extra effort will be dispensed with: The maintenance period is now encoded in the license file to allow using all new medium and major versions that are released within that period as well as the associated minor updates. When extending the maintenance contract in the future you will automatically receive a new license, valid for the extended maintenance period.

To further simplify upgrading licenses for many QF-Test installations it may be convenient to install a dedicated QF-Test license server for your network. Our sales team will gladly provide further information.

Newsletter for medium upgrades only
To prevent flooding you with emails about the more frequent updates, only medium and of course major upgrades with new functionality and features are going be announced via newsletter. If you would like to stay informed about minor updates you can subscribe to the QF-Test mailing list or our RSS-feed or activate the new automatic check for QF-Test updates described below.
Automatic check for QF-Test updates
When online, QF-Test can now check for updates automatically. You can configure this service according to your needs, for example to check only for specific kinds of updates or to deactivate it entirely.
B.3.4
Version 4.3.0 - July 26, 2018

New features:

  • Testing of Java 11 based SUTs is now supported.
  • SWT Support was added for Eclipse/SWT version 4.8 "Photon".
  • SWT On Linux QF-Test now supports testing Eclipse/SWT applications in GTK3 mode (SWT version 4.6 and higher).
  • A new demo suite was added that shows how to test REST services. It is accompanied by the new manual chapter 17.
  • With the new option Create screenshots of all client windows upon error it is now possible to always capture images of all windows of all connected SUTs regardless of where an exception or error occurred.
  • SWT The new procedure qfs.swt.tree.expandCompleteTree in the standard library qfs.qft can be used to expand all nodes in an SWT tree.

Bugs fixed:

  • The default viewer for opening PDF documents on Linux was changed from acroread to xdg-open.
  • The PDF client now handles XObjects even if they use a Type0 font without embedded CMap. The only exception are text checks which are not possible without a CMap.
  • The wording of error messages from rc.checkEqual calls has been improved.
  • The encoding of some German characters in scripts in the qfs.qft standard library has been fixed.
  • SWT Check highlight frames for SWT applications on Windows were drawn with an offset leaving visual clutter in case a window's size was reduced so far that the menu bar was broken into two lines.
B.4
QF-Test version 4.2

VideoVideo: https://www.qfs.de/en/yt/new-features-42.html.

B.4.1
Version 4.2.5 - July 11, 2018

New features:

  • Web The embedded Selenium WebDriver framework was updated to version 3.13.0 and Mozilla GeckoDriver to version 0.21.0 which adds support for Firefox 61.

Bugs fixed:

  • Until now, settings for a user or system option that was newly introduced by a QF-Test update were dropped from the configuration files when working with an older QF-Test version. Starting with QF-Test version 4.2.5 such option settings are now always retained.
  • Web Errors shown by Microsoft Edge in a notification bar are now automatically dismissed.
  • Placing an Oracle DB driver jar with a broken manifest in the QF-Test plugin directory could interfere with loading test-suites.
  • When running QF-Test in demo mode, activating a license did not enable the save menu item immediately.
B.4.2
Version 4.2.4 - June 14, 2018

New features:

  • Web The embedded Selenium WebDriver framework was updated to version 3.12.0 and ChromeDriver to version 2.40 (with support up to Chrome version 68). Firefox version 60 is also supported.
  • Web On Windows Insider Builds QF-Test now detects and handles the new deployment model of the Microsoft WebDriver for Edge.

Bugs fixed:

  • The options for interactively selecting the GUI engine licenses were deactivated even in case of a mixed engine license.
  • Data drivers for very large Excel files now need less memory.
  • When exporting a Test Project from Testlink for QF-Test an existing node_order definition is now handled correctly.
  • In the report expected errors inside nested test-cases were counted as normal errors. Also, expected errors are now easier to identify in the run-log.
  • The 'Server HTTP request' node now supports empty values for HTTP headers.
  • Stopping clients now works properly on a Windows Embedded system.
  • Web Startup of Google Chrome on Linux did not work consistently in QF-Test 4.2.3.
  • Web Trying to clear a non-existing cache folder when starting Microsoft Edge could cause an exception.
B.4.3
Version 4.2.3 - May 3, 2018

New features:

  • Web The embedded Selenium WebDriver framework was updated to version 3.11.0 and ChromeDriver to version 2.38 (with support up to Chrome version 67), and Mozilla GeckoDriver to version 0.20.1 which adds support for Firefox 59. The 32bit Linux version of ChromeDriver was removed from QF-Test as it is no longer supported by the Chrome development team. If needed, the last available version (2.33) can be downloaded manually from the ChromeDriver archive.
  • QF-Test now supports the Shadow DOM API and thus interaction with web elements that are embedded in an open ShadowRoot.
  • To bridge the gap until a full Windows engine is available for QF-Test the qfs.autowin package in the standard library qfs.qft has been extended to make use of Windows UIAutomation. It includes several new procedures to automate simple tests for native Windows applications. Please see chapter 28 for detailed information.
  • When moving the mouse cursor over the menu entry for a connected client in the »Clients« menu, the main window of the respective client gets highlighted.
  • The new variable group ${idlocal:...} is similar to ${id:...} with the added effect of enforcing component lookup in the test-suite that is current at the time of expansion. See section 7.5 for further information.
  • The debug information for component recognition in the run-log is now more readable and - like other text fields in the run-log - can be opened in an external editor via the new new keyboard shortcut [Shift-Control-Return].

Bugs fixed:

  • The deprecation warning dialog for Java WebStart in Java 9 or higher is now handled automatically by QF-Test
  • When refactoring or analyzing test-suites, rc.callProcedure calls are now taken into account everywhere, i.e. in every variable attribute and not just in script nodes.
  • A data-driver iteration inside a 'Test-step' can now be interrupted via a 'Break' node like any other node iteration.
  • Web Firefox in QF-Driver mode could crash on Linux when processing certain non-UTF-8-encoded strings.
  • Web For Chrome in QF-Driver mode right button mouse clicks did not work correctly in qooxdoo applications.
  • Web A missing "http:" protocol header in a proxy auto-config URL is now gets automatically corrected.
  • JavaFX Getting the name for an embedded Swing window from the enclosing JavaFX SwingNode now also works with Java update 8u171.
B.4.4
Version 4.2.2 - March 9, 2018

New features:

  • Web The embedded Selenium WebDriver framework was updated to version 3.10.0 and ChromeDriver to version 2.36 (with support up to Chrome version 66).
  • Web Mobile emulation mode now supports device-specific insets.
  • JavaFX Support was added for JavaFX SubScene components.

Bugs fixed:

  • Windows On Windows the wrong qftest.exe and qftestc.exe files slipped into the release bundles so that the bin directory of the JRE was still added to the front of the PATH environment variable which could interfere with SUT startup. Also, the command line argument -plugindir <directory> no longer had any effect.
  • Web When using WebDriver connection mode with QF-Test 4.2.1 in some cases the browser could no longer receive input after highlighting a component.
  • Web The webResolvers module (see section 47.2) now also supports registering a BusyApplicationDetector.
B.4.5
Version 4.2.1 - February 26, 2018

New features:

  • Testing of Java 10 based SUTs is now supported.
  • Web The embedded Selenium WebDriver framework was updated to version 3.9.1, ChromeDriver to version 2.35 (with support up to Chrome version 64), and Mozilla GeckoDriver to version 0.19.1 which adds support for Firefox 58.
  • Web Chrome can now be started in mobile emulation mode via the new 'Procedure' qfs.web.browser.general.openMobileEmulation in the standard library qfs.qft.
  • Web Proxy settings are now also supported for Firefox and Chrome with WebDriver connection.
  • When nesting test-cases via a 'Test call' node the new attribute 'Act like a procedure call' determines how exceptions are handled inside the call. The now obsolete backwards compatibility option "Don't treat test calls inside test-cases like procedures" has been removed.
  • The new 'Procedure' qfs.utils.waitForOneOfNComponents in the standard library qfs.qft can be used to wait for one of several components to appear.
  • The 'Procedure' qfs.utils.readTextFromFile in the standard library qfs.qft can now handle different file encodings via the optional parameter fileencoding.
  • Markers and breakpoints can now be made persistent by adding the doctags @breakpoint, @red, @green etc. See section 55.1 for further information about doctags.
  • The parameters errorlevel and newerrorlevel for the @rerun doctag are now optional. See subsection 20.3.2 for details.
  • The 'Database password' attribute of the 'Database' node can now be encrypted.
  • QF-Test now supports native full-screen mode on macOS via the menu entry »View«-»Fullscreen« and the keyboard shortcut [⌃⌘-F]
  • On macOS the keyboard shortcut for reloading test-suites was changed to [⌘-R]
  • On Linux systems the embedded code editor now supports pasting text via the middle mouse button.

Bugs fixed:

  • The PDF viewer now correctly rotates PDF documents.
  • In Groovy scripts the rc.callProcedure call was broken when trying to use keyword argument syntax.
  • In Groovy scripts the rc.getNum method call inadvertently returned long instead of int.
  • In a few cases a broken system property set by QF-Test could interfere with SUT startup.
  • The bin directory of the JRE used for running QF-Test is now appended to the environment variable PATH for the SUT and not prepended as it was in QF-Test versions before 4.2.
B.4.6
Highlights of version 4.2

The following major new features have been implemented for QF-Test version 4.2:

Description Further info
Java 9 and 10 support SUT only for now. Includes support for the new Java module system "Project Jigsaw"
Testing of PDF documents See chapter 15
Additional scripting language JavaScript Equivalent to Jython and Groovy, see section 12.5
Support for Angular Includes UI toolkits Bootstrap and AngularJS Material, see section 46.3
Support for Smart GWT See section 46.3
Dedicated nodes for static and live unit tests See 'Unit test' node
Headless web-testing WebDriver mode only, requires Chrome 60 or higher or Firefox 56 or higher
Testing of REST services Supports GET, POST, HEAD, OPTIONS, PUT, DELETE and TRACE see 'Server HTTP request' node
The QF-Test tutorial was rewritten from scratch Tutorial
Table B.2:  Highlights in QF-Test version 4.2
B.4.7
Changes that can affect test execution
  • The joint functionality in the 'Start/Open browser' node has been replaced by distinct 'Start web engine' and 'Open browser window' nodes. Conversion is automatic unless the attributes of the old 'Start/Open browser' are contradictory in which case the node remains unchanged and things will work as before. Such nodes should be manually replaced with the new nodes at some point.
  • Another somewhat surprising feature for browser startup has also been deprecated: All procedures in the qfs.web.browser.startup package now require a running web engine. For backwards compatibility you can set the new parameter 'startBrowserIfNotRunning' to true in order to implicitly start a browser if necessary.
  • The implementation of the rc scripting API was unified for all scripting languages. This can lead to subtle differences with Jython boolean values converted to strings, varying between "True", "true" and "1" or "False", "false" and "0". This can affect malformed boolean tests written as a String comparison, e.g. "$(x)" == "false" instead of not $(x).
  • Boolean attributes that can be made editable via the '$' button are now evaluated as a Jython expression, same as the 'Condition' attribute of an 'If' node. This can lead to different results or script exceptions in some cases. If this breaks existing tests in just a few places the tests should be updated as this behaviour is much more flexible and consistent. Alternatively you can activate the option Don't evaluate variable boolean attributes (before 4.2) to get back the old behaviour.
  • The old 'Test' node has been deprecated and the rest of its previously unique functionality is now available elsewhere: Data drivers below test-case level can now be implemented by placing a 'Data driver' node inside a 'Test-step' node and the @noreport doctag can be used to prevent a 'Test-case' node from showing up in the report (see chapter 55 for background information about doctags).
  • The ubiquitous warnings for not-quite-perfect component recognition have been demoted to message level. The warnings can be restored by activating the option Log warning instead of message.
  • Web When using a CustomWebResolver for web applications, 'Fetch text' and 'Check text' for TextField and TextArea components now both retrieve the same text. Besides, table, tree or list cells with entries implemented as TextField or TextArea now return the displayed text so some checks may need to be updated. This fix can be disabled via the option Don't fetch text for generic classes with generic class approach (before 4.2).
  • Swing For Swing applications all tooltips are now considered empty in case the Swing TooltipManager is disabled.
B.4.8
Software that is no longer supported

Note Please see section 1.1 for a detailed list of system requirements and supported technology versions.

QFS is taking pains to support even very old software. QF-Test should still run, for example, under Windows XP or with an SUT based on Java 6 but for systems that are no longer supported by their own vendors we cannot provide full support.

Support for Java 5 has been dropped entirely. SUTs based on Java 6 still run by automatically switching back to older Jython and Groovy versions.

Libraries that are required for Firefox versions 44-51 and Eclipse/SWT version 3.6 and older are not part of the default installation of QF-Test. They are still being maintained, albeit with limited testing. For Eclipse/SWT 3.5 - 3.6 simply download https://archive.qfs.de/pub/qftest/swt_legacy.zip and extract the contents into the swt directory of your QF-Test installation. For support of older browsers, please get in touch with QFS via support@qfs.de.

B.4.9
Version 4.2.0 - January 10, 2018

Changes compared to QF-Test version 4.1.6:

New features:

  • QF-Test can now test applications based on Java 9. This includes support for the new Java 9 module system ("Project Jigsaw") without having to resort to the "Big Kill Switch", i.e. the command line argument --illegal-access.
  • Testing PDF documents like a normal application in a dedicated PDF viewer with textual and graphical checks for individual elements.
  • JavaScript was added as new scripting language equal to Jython and Groovy for 'Server script' and 'SUT script' nodes. This encompasses the ECMAScript 8 standard and all QF-Test scripting modules like resolvers, rc or autowin are available in JavaScript.
  • Web Support was added for the popular AJAX framework Angular, including support for the UI toolkits Bootstrap and AngularJS Material.
  • Web Support was added for the AJAX toolkit Smart GWT.
  • The new 'Unit test' node can run JUnit tests and integrate the results in the QF-Test run-log and report. Tests can be implemented in Java or as scripts and run statically or dynamically in a 'live' SUT as an alternative to writing mocks.
  • Web Support was added for headless web-testing using the headless versions of Chrome and Firefox.
  • Web The 'Server HTTP request' node now supports testing REST services via the additional methods HEAD, PUT, DELETE, TRACE and CONNECT and it is now possible to specify custom headers for the HTTP request.
  • The QF-Test tutorial was rewritten from scratch.
  • The re-implemented Quickstart Wizard combines a concise workflow with an improved design.
  • The »Help«-»Info« dialog has a new tab "System info" that shows many QF-Test settings and system information.
  • Attributes like the 'Condition' condition of an 'If' node which are evaluated by the Jython interpreter now have syntax highlighting and support for code completion.
  • Web The embedded Chrome browser used for QF-Driver mode has been updated to CEF version 57.
  • The command line argument -run now also works for interactive mode to directly start test-execution when running QF-Test. This is complemented by the new -suitesfile <file> argument that can be used to specify a text-file containing the test-suites and tests to execute.
  • There are new commands available for controlling QF-Test from the command line. The new batch argument -interruptRunningInstances can be used to suspend tests running in the local machine. Similarly, -killRunningInstances will cleanly terminate running instances, including interactive ones, provided they were started with the argument -allowkilling. Cleanly here means that batch tests are stopped, dependencies rolled back and run-logs are saved.
  • Windows The new Windows setup program for QF-Test adheres to the current Windows conventions for placing different kinds of files in various locations. There's still an option to use the old layout with all files in a single place.
  • Mac On macOS, application arguments can now be configured from within QF-Test.
  • Mac You can now specify a macOS app directly as the 'Executable' attribute of an 'Start SUT client' node.
  • A 'Sequence' node can now also be transformed into a 'Loop' or 'While' node.
  • Calls to deprecated procedures or test-cases are now also stroke through in the tree view.
  • The 'Load properties' node now supports loading property files encoded as UTF-8 via its new attribute 'File encoding is UTF-8'.
  • Components in the SUT are now highlighted automatically when clicking on a component or event node in QF-Test's tree, irrespective of whether the node was already selected or not. If automatic highlighting is deactivated via the option Highlight selected component in the SUT you can now trigger it explicitly via the context menu of component, event or check nodes as well as QF-Test component IDs in parameter tables and scripts.
  • The boolean values in the 'Extra feature' attributes of a 'Component' or the 'Items' attribute of a 'Check items' node can now make use of variables. Simply double-click the respective table cell to edit the value.
  • Web The new webResolvers module enables implementing resolvers in JavaScript that run directly in the browser. See section 47.2 for detailed information and examples.
  • The extra feature qfs:label now also applies to Window and Dialog components.
  • There are several new (or newly documented) command line options for overriding the directories that are relevant to QF-Test, including -userdir <directory>, -systemdir <directory>, -jythondir <directory>, -groovydir <directory>, -javascriptdir <directory>, -plugindir <directory> and -logdir <directory>.
  • Several definitions for directories relevant for the QF-Test installation have been added to the qftest property group, e.g. ${qftest:dir.log} for the directory into which run-logs are saved automatically. See section 7.5 for a detailed list.
  • The sort order of parameter tables like the 'Variable definitions' attribute of a 'Procedure call' node can now be reset to the order of the called node via the table's context menu.

Bugs fixed:

  • Conversion into a regular expression used on a 'QF-Test component ID' attribute now correctly differentiates between the ID and the sub-item syntax.
  • On Ubuntu Linux taking SUT thread dumps and terminating sub-processes of the SUT did not work.
  • Unicode characters outside the Basic Mulitilingual Pane (BMP) are now handled correctly.
  • Swing TooltipResolvers are now also called for non-Swing AWT components.
  • Web The procedure qfs.web.general.integrateFirebug now loads Firebug via https instead of http which prevents issues with mixed content.
  • Web In some cases the text of a MenuItem in a web application could mistakenly include the text of its sub-MenuItems as well.
  • Web Creating many embedded WebView or SWT Browser instances could lead to a memory leak.
  • JavaFX Running a JavaFX based SUT via WebStart could cause some IllegalAccessExceptions.
  • JavaFX Names for the tabs of a JavaFX TabPanel now take possible so-called Graphic elements into account.
B.5
QF-Test version 4.1
B.6
QF-Test version 4.0
B.7
QF-Test version 3