QF-Test version 4.5

Video Video about the new features in version 4.5: 'QF-Test Features 4.5'.

Version 4.5.2 - March 20, 2019

New features:

  • Support was added for Eclipse/SWT version 4.11 alias "2019-03".
  • QF-Test can now automatically fetch ChromeDriver libraries in case the bundled version does not match the selected browser.

Bugs fixed:

  • Procedure recording did not create the compound procedures for Panel components if the recording was started at Panel level instead of for the whole window.
  • Image checks now also work if the check was recorded with image compression enabled and a SecurityManager is present in the SUT.
  • An XML or XSLT library installed in QF-Test's plugin directory could interfere with report generation.
  • If a non-existing file was specified on the command line QF-Test did not bring up its main window which looked like the process was hanging.
Version 4.5.1 - February 27, 2019

Bugs fixed:

  • In QF-Test 4.5.0 an SUT would no longer start if the QF-Test agent was disabled via the option Connect via QF-Test agent.
  • The path displayed for ${qftest:java} was incorrect if QF-Test was started with the command line argument -java <executable>(deprecated) and the <executable> parameter did not specify an absolute path.
  • The procedure qfs.autowin.acrobat.saveAsText now also works for Adobe Acrobat Reader versions 19.010.20091 and up.
  • A partial TreeTableResolver relying on the default implementation for getTreeColumn could cause a stacktrace to get printed to the client console.
  • Web In headless Chrome hard or semi-hard double clicks were not replayed correctly.
  • Web In QF-Test 4.5.0 SUT scripts for web tests could not access plugin jars dropped into QF-Test's plugin directory.
  • In SUT scripts the jniwrapper library and the autowin module were no longer accessible.
  • On Windows 7, starting a webtest in WebDriver connection mode could trigger an exception.
Highlights of version 4.5

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

DescriptionFurther info
Support for Electron applications See chapter 19, supported Electron versions in subsection 1.1.2
Mobile Emulation in Quickstart Wizard with support for new devices See section 14.6
SWT without instrumentation See option Connect without SWT instrumentation
Support for Java 12 SUT only
Table B.2:  Highlights in QF-Test version 4.5
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.
  • Until now, web-test were wrongly started with the QF-Test classpath. Due to this, libraries like "POI" were mistakenly loaded in SUT-scripts. If you rely on these libraries in your SUT-scripts, please copy the corresponding jars explicitly into the plugins/sut folder.
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.

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 19 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 45.2 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.