Logo QF-Test

The testing tool for people who
are excited by perfection.

 

Free Trial  Download  Buy

Martina Schmid, QFS Director

Subscribe to our Release Notes: Send "Subscribe newsletter" to newsletter@remove-this.qfs.de.

Martina Schmid,
QFS Director

Manual | Tutorial | Standard Library | Release Notes

Release Notes

B
Release notes
B.1
QF-Test version 4.1
B.1.1
Highlights

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

Description Further info Current state
Additional browsers via Selenium WebDriver Includes Firefox 44 and up, Edge and Safari as well as Chrome on Linux and macOS (Website Testing), includes support for executing Selenium scripts from QF-Test and for mixing both (section 40.2) Performance und functionality not yet on par with QF-Driver, requires Java 8
Official support for macOS Work in progress, better key bindings are missing, no support for SWT
Jython update to version 2.7 Stable, may need fine tuning See subsection B.1.2 for incompatibilities and fallback to Jython 2.5
Groovy update to version 2.4.7 Stable See subsection B.1.2 for incompatibilities and fallback to Groovy 2.1.
License server mechanism QF-Test licenses can be floated globally instead of just across the local network If interested, please get in touch with QFS via sales@qfs.de
64 bit browser support on all systems
Support for the AJAX framework Kendo UI Kendo UI
Improved synchronization for web tests QF-Test tracks HTTP requests in the browser to avoid triggering events while AJAX calls are still pending (options Synchronize with HTTP requests, Timeout for HTTP request synchronization (ms) and Extended HTTP request timeout for new documents (ms))
Web: Support for component resolution via XPath and CSS-selectors Addressing via XPath and/or CSS-Selectors
Alternative connection mechanism for Swing Works out-of-the-box in many of the problematic cases with Java WebStart, applets or custom EventQueues (Instrument AWT EventQueue)
Execution timeout Limit the maximum execution time for individual sequences, test-cases, test-sets or whole batch runs. ('Execution timeout (ms)' attribute, -timeout <milliseconds> command line argument)
Re-run capabilities: Re-run failed test-cases or sequences automatically or manually from the run-log. Work in progress, not documented yet
Merging run-logs Merging run-logs
Eclipse plugin Special Run Configurations that combine starting the SUT, launching QF-Test and possibly running initial test-steps directly from Eclipse Not officially published yet. If interested, please get in touch with QFS via support@qfs.de
Generic retry Smarter replay that better handles timing issues, especially components that vanish or get replaced just while QF-Test was trying to access them.
Locating procedures or components with variable names/IDs Variable expansion is now also possible in a static context so that jumping from a procedure call like "checksFor${qftest:testcase.name}" to the correct procedure works. To that end QF-Test even caches the most recent variable values from the last execution.
Updates to the QF-Test manual include new chapters about keyword-driven testing and load-testing as well as a major rewrite of important topics and more comprehensive documentation for QF-Test pseudo DOM API. Organizing the test-suite, 'Dependency' nodes, Keyword-Driven Testing with QF-Test, Performing GUI-based load tests, Pseudo DOM API
Table B.1:  Highlights in QF-Test version 4.1
B.1.2
Changes that can affect test execution
Jython 2.7

The upgrade to Jython 2.7 was necessary due to conflicts with native libraries in the WebDriver module. Besides, Jython 2.5 was quite outdated and the Python modules coming with Jython 2.7 are more modern and mature. If the potential issues listed below are causing too much trouble, you can switch back to Jython 2.5. To do so, please download the file https://archive.qfs.de/pub/qftest/jython-2.5.1.jar and use that to replace the file lib/jython.jar in QF-Test's installation directory.

  • Java 7 or higher required.
  • No support for wildcard import (e.g. from java.util import *), all imported classes need to be listed explicitly.
Groovy 2.4

This upgrade was not strictly necessary, but it is prefereable not to fall too far behind the official Groovy Release. Groovy 2.4 still mostly works with Java 6, so the only drawback is if you still need support for a legacy application based on Java 5. In that case you can download the file https://archive.qfs.de/pub/qftest/groovy-all-2.1.0.jar and use that to replace the file lib/groovy-all.jar in QF-Test's installation directory.

  • Java 6 or higher required.
New Swing connection mechanism
This mechanism should be able to handle even very tricky Swing SUTs that implement their own EventQueue, especially in combination with WebStart or applets. It is active by default. In case it does cause problems with your SUT it can be disabled via the option Instrument AWT EventQueue.
Chrome no longer supports Java applets
Google has completely dropped support for Java applets in Chrome. This includes the Chrome browser embedded by QF-Test which was updated to CEF version 45.
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 5 or 6 but for systems that are no longer supported by their own vendors we cannot provide full support.

Libraries that are required for the Firefox and Eclipse/SWT versions listed below are no longer part of the default installation of QF-Test. The majority is still being maintained, albeit with limited testing. If you need support for such a system, please get in touch with QFS via support@qfs.de.

Official support has been dropped for Java 5, Java 6, Internet Explorer 10 and older, Firefox 37 and older as well as Eclipse/SWT 3.8 and older.

B.1.4
Version 4.1.0-rc2 - September 2, 2016

New features:

  • Groovy was updated to version 2.4.7. QF-Test now requires at least Java 7 unless Groovy is rolled back to version 2.1.0 as explained in subsection B.1.2.
  • Web WebDriver support is significantly improved and performance is much better. Firefox 48 and higher now also work as Selenium was upgraded to support for Firefox Marionette.
  • Web For web QF-Test now supports component resolution using XPath and CSS selectors. See Addressing via XPath and/or CSS-Selectors for details.
  • The procedure qfs.utils.xml.compareXMLFiles was improved with better filtering and the ability to ignore missing tags or attributes when specified in the "noCheck" parameter.
  • Web On Windows, 'Text input' nodes can now be replayed for JXBrowser.
  • The procedure qfs.utils.email.sendEmail in the standard libray qfs.qft now also supports attachments.
  • Jython was modified to catch and suppress NotImplementedErrors caused by implementing only parts of an interface which was OK with Jython 2.5. This behavior can be modified by setting the system property qftest.workarounds.abstractMethodsHandling to one of the values "ignore", "warning", "error" or "exception".

Bugs fixed:

  • JavaFX Uncaught exceptions on the JavaFX application thread were correctly reported by QF-Test, but in some cases they were not passed on which might hide bugs in the SUT or at least prevent testing the SUT's own handling of uncaught exceptions.
  • Occasionally a call to DaemonLocator.locateInstance(long timeout) might locate a daemon, but "forget" it again before returning the result after the timeout was reached.
B.1.5
Version 4.1.0-rc1 - July 29, 2016

Changes compared to QF-Test version 4.0.11:

New features:

  • Web The new browser connection mode based on Selenium WebDriver adds support for additional browsers including Firefox 44 and up, Edge and Safari as well as Chrome now also on Linux and macOS.
  • Selenium scripts can now be run from inside QF-Test and mixing of QF-Test and Selenium tests is possible. See section 40.2 for how to access the WebDriver API from 'SUT script' nodes.
  • QF-Test now officially supports Swing, JavaFX and Web testing on macOS. A dedicated installer is available.
  • Jython was updated to version 2.7.0. QF-Test now requires at least Java 7 unless Jython is rolled back to version 2.5.1 as explained in subsection B.1.2.
  • By using our new license server mechanism, licenses can now be floated globally instead of just across the local network. If interested, please get in touch with QFS via sales@qfs.de.
  • Web 64 bit browsers are now supported on all systems.
  • Web Support was added for the AJAX framework Kendo UI.
  • Many existing AJAX resolvers were updated and generalized and are now easier to customize. See Special support for various AJAX toolkits and Customizing QF-Test for your AJAX toolkit for further information.
  • Web In QF-Driver mode QF-Test can now synchronize web tests based on outstanding HTTP requests. This is controlled via the options Synchronize with HTTP requests, Timeout for HTTP request synchronization (ms) and Extended HTTP request timeout for new documents (ms).
  • Swing The new connection mechanism for Swing works out-of-the-box in many of the problematic cases with Java WebStart, applets or custom EventQueues. It can be disabled via the option Instrument AWT EventQueue.
  • The maximum execution time for sequences, test-cases, test-sets or whole batch runs can now be limited via the attribute 'Execution timeout (ms)' and the command line argument -timeout <milliseconds>.
  • Run-logs can now be merged as described in Merging run-logs.
  • Event replay for all engines now uses an approach we call Generic Retry that better handles timing issues, especially components that vanish or get replaced just while QF-Test was trying to access them.
  • Variable expansion is now also possible in a static context so that jumping from a procedure call like checksFor${qftest:testcase.name} to the correct procedure simply works. QF-Test caches the most recent variable values from the last execution so this is useful even for dynamic bindings.
  • The various date nodes like 'Database' or 'Excel data file' can now also be executed outsided a data driver context in order to bind the values directly as variables instead of iterating over the sets. In that case the 'Name' attribute of the node also defines the name of the properties group into which the variables are bound.
  • Swing Support for JXBrowser was updated to JXBrowser version 6.
  • Depending on screen layout it may be preferable to use more space for the tree or for the terminal in QF-Test's user interface. The new menu item »View«-»Terminal«-»Prefer tree over terminal« toggles whether tree or terminal should occupy the lower left region.
  • Improved packing of mouse events should result in cleaner recordings with fewer stray events. For special cases where individual MOUSE_PRESSED or MOUSE_RELEASED events are preferable, disable the option Simplified 'Mouse click' recording.
  • Several chapters in the manual were added (Keyword-Driven Testing with QF-Test, Performing GUI-based load tests) or rewritten (Organizing the test-suite, 'Dependency' nodes and Pseudo DOM API).
  • The embedded script editor now supports the keyboard shortcuts [Shift-Up/Down] to move one or more selected lines up or down and , [Shift-Return] to add a new line after the end of the current line.
  • There is a new toolbar button for opening the most recent run-log.
  • Failed boolean checks have a more specific error message that includes the type of check.
  • The DOMProcessor extension API now also supports modifying summary documents.
  • Script APIs are being unified in preparation for additional scripting languages. Implementing and registering resolvers is now easier and more flexible and the autowin and ssh modules are now also available in Groovy.
  • Web There is now a generic string check type for DOM node attributes that can be read via getAttribute. Simply set the 'Check type identifier' to attribute:NAME where NAME is the name of the attribute to check.
  • Pressing [Ctrl-C] in the project tree or on the root node of a test-suite copies the path of the test-suite to the system clipboard.
  • Locating references now also works for 'Package' nodes. The resulting list contains references to all 'Procedures' in the respective hierarchy.
  • Pasting nodes in a test-suite is more flexible. If the current location is not suitable for the kind of node to be pasted but the target is implicitly clear, the node gets automatically inserted at the correct position.
  • Web The version of the Chrome browser provided with QF-Test for QF-Driver mode web tests was update to CEF 45.
  • The procedures qfs.utils.getDate, qfs.utils.getTime and qfs.check.compareDates in the standard library qfs.qft now all have parameters to specify the locale to use for formatting.
  • All getRowCount procedures for Swing, JavaFX and SWT trees have been reworked to provide the number of visible rows. The new parameter "countOnlyVisibleNodes" limits the search to visible rows below a given node. Also added were procedures ...tree.getChildNodeCount with a similar functionality and ...tree.check.checkChildNodeCount for checking the number or child nodes of a node.
  • The directory for exchanging files with an external editor can now be explicitly specified via the option Directory passed temporary files to external editor.
  • Some of the tables in QF-Test detail views were rearranged to increase visibility. Besides, all tables now support adding a new row by double-clicking in the empty area of the table.

Bugs fixed:

  • JavaFX Updates to the ID of a JavaFX node were not tracked correctly.
  • JavaFX The "imagehash" extra feature is now also implemented for JavaFX.
  • Internal storage of images in test-suites and run-logs is now much more memory-efficient.
  • Web Tests for enabled DOM nodes now also take enclosing FIELDSET nodes into account.
  • Web Association of labels via the "for" attribute is now better supported.
  • Using the debugger command "Continue from here" on a 'Procedure' called from different test-suite could mess up the current execution context.
B.2
QF-Test version 4.0
B.3
QF-Test version 3
Videos Downloads Documentation Buy Free Trial