Video about the new features in version 4.5:
'QF-Test Features 4.5'.
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.
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>
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.
The following major new features have been implemented for QF-Test version 4.5:
- 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.
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
.
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.