B
Release notes
B.1
QF-Test version 5.2
B.1.1
Version 5.2.3 - March 9, 2021

New features:

  • SWT QF-Test now supports tests for applications based on Eclipse/SWT 4.19 alias "2021-03".

Bugs fixed:

  • In special cases, unluckily placed comment nodes could lead to unwanted side-effects during test execution like a 'Setup' or 'Cleanup' node run just for a comment.
  • Improved timing for client shutdown when ending batch mode execution.
  • Web In WebDriver connection mode mutations on a website might have gone unnoticed in case the page contained too many elements.
B.1.2
Version 5.2.2 - February 12, 2021

New features:

  • Support was added for testing applications based on Java 16.
  • Web QF-Test now supports testing with Opera 74.
  • Web The bundled GeckoDriver was updated to version 0.29.0.
  • The new shortcuts [Ctrl-/] or [Ctrl-7] can be used to insert a new comment node in the test-suite tree.

Bugs fixed:

  • Web Several performance bottlenecks for web tests have been fixed, most notably for Firefox on Linux with WebDriver.
  • Web In very rare situations, Chrome was closed in case a JavaScript-execution intervened with a frame reload.
  • Web Delayed attachment of a shadow DOM is now recognized correctly.
  • Swing In special cases the improved event synchronization for Swing might have missed some events, causing slower test execution.
  • If a 'Test-case' with the 'Expected to fail if...' attribute set to true does not fail, it should be treated as an error. That error was incorrectly reported as an expected error itself.
  • The sort order of parameters is now also automatically applied when changing the target procedure of a 'Procedure call' node via the chooser dialog.
B.1.3
Version 5.2.1 - December 3, 2020

New features:

  • SWT QF-Test now supports tests for applications based on Eclipse/SWT 4.18 alias "2020-12".
  • Support for JxBrowser 7.12 was added.

Bugs fixed:

  • Due to wrong file permissions on Linux machines, Jython scripts would fail when running QF-Test as a user other than the one that installed it.
  • The JRE distributed with QF-Test has been changed back to Zulu OpenJDK. The version remains 8_275.
  • In some cases, showing an alert box on a web page lead to a browser deadlock.
  • Several details for the Webswing integration have been improved, including correct filtering of KeyEvents, focus handling for embedded JavaFX components and cleaner separation of client processes in the demo test-suites.
  • Daemon connection might have failed during handshake if different java version where used on client and server side.
B.1.4
Changes that can affect test execution
  • Testing applications running on Java 7 is no longer supported.
  • Windows-Tests Many procedures in the standard library package qfs.qft.autowin have been deprecated in favor of the much better suited Windows engine.
  • Due to the updated JRE in the QF-Test installation, graphical elements and graphs in the PDF client may be painted with slightly different anti-aliasing. This can lead to errors in 'Check image' nodes. Given that such problems cannot be ruled out for future JRE updates you should set the 'Algorithm for image comparison' attribute of affected nodes to "algorithm=similarity;expected=0.98".
B.1.5
Version 5.2.0 - November 10, 2020

New features:

  • QF-Test now supports integrated testing of Swing and JavaFX applications that are displayed in a browser using the technologies Webswing or JPro. See chapter 17 for an explantion of the concepts and the demo test-suite for Webswing, accessible via the menu »Help«-»Explore example test-suites...«, entry "Webswing SwingSet Suite".
  • Mac QF-Test is now notarized by Apple and thus starts on modern macOS systems without showing a warning message.
  • Web QF-Test now also supports testing with the Microsoft Edge browser on Linux.
  • The JRE distributed with QF-Test has been updated to Liberica OpenJDK version 8_275.
  • Web The embedded Chrome browser used for QF-Driver mode has been updated to CEF version 85.
  • Groovy has been updated to version 3.0.6.
  • Jython has been updated to version 2.7.2.
  • Web Support for JxBrowser 7.11 was added.
  • Web The embedded GeckoDriver has been updated to version 0.28.0.
  • Web QF-Test now supports testing with Opera 72.
  • Web Device specifications for many current mobile devices have been added to mobile emulation mode.
  • The JUnit library has been updated to version 5.7.0.
  • Web On Windows systems with a scaled display QF-Test now starts QF-Driver browsers in compatibility mode so that scaling is transparently handled by Windows and tests work very similar to unscaled mode except for image checks.
  • It is now possible to specify options on the command line via the argument -option <name>=<value>.
  • QF-Test command line arguments can now contain "." and "-" characters in arbitrary places and upper or lower case characters at will.
  • When testing Java applications, QF-Test can now intercept calls that open a native browser window in order to launch a browser controlled by QF-Test for the given URL. An example is provided in the demo test-suites "CarConfig test project" and "CarConfig JavaFX test project", accessible via the menu item »Help«-»Explore sample test-suites...«.
  • The new procedure qfs.utils.waitForClientOutput in the standard library qfs.qft assists in synchronizing with terminal output of the SUT.
  • Several more node conversions are now possible.
  • The 'Server HTTP request' step now also supports the PATCH method.
  • The two new procedures qfs.utils.sendKey and qfs.utils.sendText in the standard library qfs.qft can be used to enter text into the currently focused element of the active window.
  • The 'No events were recorded' dialog can now be suppressed via the new option Show message if no events were recorded.
  • When merging run-logs in batch mode, the command line argument -mergelogs-masterlog [<file>] can now be combined with -mergelogs-mode [<mode>] set to "append". The appended run-logs will be stored as externalized thus minimizing memory use both during merging and when opening the resulting run-log.
  • Similar to Jython, script steps for Groovy and JavaScript can now use common exceptions without an explicit import.
  • When propagating the parameters of a callable node to its callers, there are now explicit choices for whether to add missing parameters, remove extraneous parameters and/or update the sort order.

Bugs fixed:

  • Opening a run-log with an automatic re-run still in progress could lead to an exception.
  • Encrypted connections to the QF-Test daemon are now also supported by the external daemon-API.
  • When generating reports, thumbnail images were created even if -report-thumbnails was not specified.
  • The 'Unit test' step now correctly supports the self.assertEqual call in Jython scripts.
  • Text input on Swing and JavaFX components was slowed down if a browser embedded into Java was detected.
  • Swing Event synchronization under heavy load for Swing based applications has been improved.
  • Swing Text input with single events on a Swing JTextArea now handles newline characters correctly.
  • Windows-Tests Elements of Windows applications may not have been scrolled visible correctly for hard events and image checks.
  • Web With a browser in WebDriver mode a failed frame focus switch could lead to a StackOverflowException.
  • Web In some cases the MSEdgeDriver was not downloaded correctly.
  • Web Checks on elements inside a shadow DOM could not be recorded.
  • Web Soft (invisible) hyphen characters are now implicitly ignored.
  • Electron In some cases, dialog boxes from Electron where displayed empty.
  • JavaFX The visibility of JavaFX components embedded in Swing was sometimes not determined correctly.
  • SWT For SWT version 4.17 on Windows highlight rectangles on Menus were not restored correctly.
B.2
QF-Test version 5.1
B.2.1
Version 5.1.2 - September 15, 2020

New features:

  • SWT QF-Test now supports tests for applications based on Eclipse/SWT 4.17 alias "2020-09".

Bugs fixed:

  • In rare cases QF-Test could crash during image compression if memory was tight.
B.2.2
Version 5.1.1 - August 26, 2020

New features:

  • Web QF-Test now supports testing with Opera 70.
  • Web The embedded GeckoDriver has been updated to version 0.27.0.
  • Web For WebDriver based tests with Chrome/Chromium, site isolation is automatically deactivated.
  • Web Support for JxBrowser 7.10 was added.
  • A link to the JavaScript documentation was added to the help menu.

Bugs fixed:

  • The 'Unit test' node now also searches for JUnit 5 (Jupiter) tests on the classpath.
  • Electron In some cases, native menu clicks on Electron applications were not properly recorded.
  • Web The cache of Chromium based browsers might not have been cleared properly.
  • The option Enable 'Local variable' attribute by default will now be taken into account when pasting a copied 'Procedure' node as a 'Procedure call', for node conversions in general and also when recording checks.
  • Web A deadlock could occur if embedded browser containers (e.g. JxBrowser) were removed and added at the same time.
  • Adding 'Comment' nodes to a procbuilder configuration file could break procedure recording.
  • Mac On macOS, JVM options (starting with "-J-") are now handled correctly.
  • Windows-Tests Text input in Windows applications may not have worked properly when the AltGr key was involved.
  • Web When working with dialogs in headless browser tests, sometimes the invisible dialog was not closed properly.
  • Web A ClassNotFoundException could be triggered when an SWTBrowser was under test.
  • When creating procedures via the Procbuilder using FORCECREATION the separation dots for the package structure were replaced by underscores.
  • When generating procedures via the Procbuilder values from the 'Extra features' of parent and grand parent nodes can now be used as fallback.
B.2.3
Changes that can affect test execution
  • Due to the updated JRE in the QF-Test installation, graphical elements and graphs in the PDF client may be painted with slightly different anti-aliasing. This can lead to errors in 'Check image' nodes. Given that such problems cannot be ruled out for future JRE updates you should set the 'Algorithm for image comparison' attribute of affected nodes to "algorithm=similarity;expected=0.98".

    The JRE update can also cause communication problems between QF-Test and the QF-Test license server in case the license server is run with a very old Java version that cannot cope with the key length required for SSL in current Java versions. In that case it is best to update the license server to the current QF-Test version and use its included JRE.

  • The library jniwrapper is no longer loaded by default because our old jniwrapper version crashes QF-Test on newer JDKs. Modules with native dependencies like autowin have been rewritten to no longer depend on it and all references to jniwrapper have been removed from the standard library qfs.qft.

    If you still have script nodes in your test-suites that depend on jniwrapper you should try to reimplement these in order to remove that dependency. Please get in touch with our support if you need help.

    As an interim solution you can get such scripts to work again (on older JDKs where jniwrapper does not crash) as follows:

    • Copy the files from misc/jniwrapper in the QF-Test installation directory to qftest in the QF-Test plugin directory. To locate those directories, open the »Help«-»Info« dialog and look for dir.version and dir.plugin on the 'System info' tab.
    • Add either a Jython server script to your startup sequence with
      from com.jniwrapper import DefaultLibraryLoader
      from java.io import File
      DefaultLibraryLoader.getInstance().addPath \
        (File(rc.lookup("qftest", "dir.plugin") + "/qftest"))
      or the following Groovy variant
      import com.jniwrapper.DefaultLibraryLoader
      DefaultLibraryLoader.getInstance().addPath
        (new File(rc.lookup("qftest", "dir.plugin") +
             "/qftest"))
  • The ChromeDriver library for old Chrome versions (older than 72) is not bundled wit QF-Test anymore.
  • Testing applications running on Java 7 ist still supported in this QF-Test version. However, support for Java 7 has been deprecated and will be removed in QF-Test version 5.2.
B.2.4
Version 5.1.0 - July 8, 2020

New features:

  • Support was added for testing applications based on Java 15.
  • The JRE ditributed with QF-Test has been updated to Zulu OpenJDK version 8_252.
  • Web Recording and replay of tests for embedded browsers has been significantly improved.
  • JxBrowser is now supported in version 7, embedded into Swing, JavaFX or Eclipse/SWT applications.
  • Electron Support was added for handling native dialogs in Electron applications.
  • Web QF-Test now supports testing with Opera 69.
  • Web Support for the web framework Qooxdoo has been updated for Qooxdoo version 6.
  • HTML reports can now be customized via JavaScript in the form of a user.js. See subsection 21.1.4 for details.
  • The automac module now provides methods for simulating keyboard and mouse events. See chapter 48 for further information.
  • The root node of a test-suite now also has a 'Name' attribute that is shown in the tree.
  • The new option Enable 'Local variable' attribute by default determines, whether the attribute 'Local variable' gets pre-activated in newly created nodes.
  • The procedure qfs.utils.dragAndDrop in the standard library qfs.qft has a new optional parameter eventDelay to control replay speed.
  • It is now possible to convert a 'CSV data file' node into an 'Excel data file' node and vice versa.
  • Test-suite tabs can be moved left or right using the keyboard shortcuts [Shift-Ctrl-Page up] and [Shift-Ctrl-Page down].

Bugs fixed:

B.3
QF-Test version 5.0
B.3.1
Version 5.0.3 - June 17, 2020

New features:

  • SWT QF-Test now supports tests for applications based on Eclipse/SWT 4.16 alias "2020-06".
  • The included jsch.jar library used by the qfs.utils.ssh package in the standard library qfs.qft has been updated to version 0.1.55 in order to add support for modern Linux systems like Ubuntu 20.

Bugs fixed:

  • The included WebP image compression library was rolled back to version 1.0.0 to avoid incompatibilities.
  • Web Component recognition might have failed when web components had non-integer sizes.
  • In rare cases calling rc.callProcedure inside the parameters of a 'Procedure call' node could lead to the global variables in the variable stack getting lost.
  • The special syntax ${qftest:engine.<componentid>} that can be used to determine the engine of a component now also works if <componentid> contains a '@', '%' or '&' character.
  • Selecting a single value in a run-log's error list and using "Set value as filter" twice caused an ArrayIndexOutOfBoundsException.
B.3.2
Version 5.0.2 - May 5, 2020

New features:

  • The WebP image compression library has been updated to version 1.1.0.
  • Keyboard event input in JX Browser is now more stable.
  • Contrast of toolbar icons has been improved especially for disabled buttons.
  • QF-Test now supports testing with Opera 68.

Bugs fixed:

  • Angular 9 is now auto-detected correctly.
  • The 'CSV data file' node now correctly handles UTF-8 encoded files with BOM that start with an encapsulated complex expression.
  • Windows-Tests The 'Start windows application' node can again attach to a client via a given class name (-class) in the 'Window title' attribute.
  • Error handling and retry for automatic downloads of WebDriver libraries has been improved.
  • Windows-Tests Recording elements with a flat hierarchy did not work.
  • The PDF client is now able to check a Text component which contains only null "\u0000" characters and treats it as an empty String.
B.3.3
Version 5.0.1 - March 2, 2020

New features:

  • Windows-Tests A new demo test-suite was added for the Windows 10 Calculator.
  • QF-Test now supports Opera 67 with Operadriver 80.0.3987.100.
  • SWT QF-Test now supports tests for applications based on Eclipse/SWT 4.15 alias "2020-03".

Bugs fixed:

  • Windows-Tests When recording components for the whole window, elements within a WPF TabPanel were omitted.
  • The qfs.database.executeSelectStatement procedure now works again for databases requiring an explicit db.commit() statement.
  • When executing a 'Server HTTP request' node, the returned body was mistakenly not stored in a variable in case of a server error.
  • JavaFX Processing JavaFX images in order to calculate a hash value could cause a NullPointerException; to get printed to the terminal.
  • Windows-Tests Fixed a bug where a TextField in a Windows application might not get cleared before input.
  • Windows-Tests Occasionally a ModalDialogException might get incorrectly thrown in WPF Windows applications.
B.3.4
Main new features in version 5

Note For a detailed list of new features please see the release notes below for QF-Test versions 5.0.0.

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

Description Further info
New GUI engine: Windows Testing native Windows applications
Modernized User Interface of QF-Test QF-Test looks more modern
Tests with Java 14 Applications based on Java 14 can be tested now
Test-suites with comments 'Comment' node directly in the tree of a test-suite
Edge based on Chromium Tests with the final Edge based on Chromium are now possible
File download via the 'Server HTTP request' node Attribute 'Save response to file'
Table B.1:  

Changes that can affect test execution:

Software that is no longer supported:

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

  • Testing of applications based on Java 6 is no longer supported.
B.3.5
Version 5.0.0 - February 6, 2020

New features:

  • With the new Windows engine QF-Test can now test native Windows applications.
  • Support was added for testing applications based on Java 14.
  • The new 'Comment' node can be used to improve the structure and readability of test-suites and run-logs.
  • It is now possible to download a file via the new 'Save response to file' attribute of the 'Server HTTP request' node.
  • Windows-Tests A package for Windows applications has been added to the standard library qfs.qft.
  • On Windows 10 QF-Test is now correctly displayed at scaled high resolution displays.
  • Web In the manual the chapter Web testing has been revised and a section (subsection 46.1.3) describing the procedure qfs.web.ajax.installCustomWebResolver of the standard library has been added.
  • The option Show message dialog after now has a setting to show a message dialog also when a test run finishes successfully.
  • If the result dialog gets shown after a search the search dialog is now closed automatically.
  • The new procedure qfs.util.click in the standard library qfs.qft can be used to click at an arbitrary position on the screen.
  • You can now create an electron start sequence in the quickstart wizard that automatically detects the required ChromeDriver.
  • When copying a 'Procedure call', 'Test call' or 'Dependency reference' node the name of the target node is now also copied as text to the clipboard.
  • Web The bundled GeckoDriver has been updated to version 0.26.0.
  • Web On Windows, tests with the Microsoft Edge 78 and newer are also possible in headless mode.
  • Web QF-Test now supports Opera 66 with Operadriver 79.0.3945.79.
  • The new variable engine.$(componentId) in the qftest special group makes it possible to find out which GUI-engine a component belongs to.
  • The project tree view in QF-Test now uses a natural sort order, respecting indexes and cases.
  • Data for several new mobile devices was added to the Mobile Emulation setup in the quickstart wizard.

Bugs fixed:

  • An image might have been removed from the run-log in low-memory situations.
  • Fixed a sporadic exception that could appear when creating a test-suite from a run-log.
  • 'Finally' nodes inside a 'Try' now get executed even when an instant rerun gets triggered from within the 'Try' node.
  • ImageWrapper methods now log warnings whenever the method fails.
  • In very rare cases the [Ctrl] key might accidentally have stayed in pressed state after finishing replay.
B.4
QF-Test version 4
B.5
QF-Test version 3