[QF-Test] QF-Test Medium Upgrade 4.5.0 released

Subject: [QF-Test] QF-Test Medium Upgrade 4.5.0 released

From: Gregor Schmid <Gregor.Schmid@?.de>

Date: Thu, 14 Feb 2019 17:36:10 +0100

Delivered-to: qftest-list@?.net

Dear QF-Test users,
Dear QF-Test users and interested parties,
QF-Test 4.5.0 is now available for download from
https://www.qfs.de/en/qf-test/download.html
Highlights of this medium upgrade include testing of Electron
applications, support for Java 12, configuration of mobile browser
emulation directly in the Quickstart Wizard and Eclipse/SWT
applications without instrumentation.
The following video gives a brief overview over the main new features:
https://www.youtube.com/watch?v=Z8_tbXj121o&index=20&list=PLsQ3ggMe67qgEd4HTruyIgzvdq0RYOzBX&t=0s
Please see below for detailed release notes and changes that can
affect test execution.
The full newsletter is also available online at
https://www.qfs.de/en/about-qfs/news/newsletters/newsletter-2019-02-14.html
Should you be interested in subscribing to the full newsletter please
send an informal email with subject "Subscribe Newsletter" to
<newsletter@?.de>.
Release Notes for QF-Test 4.5.0
===============================
New Features
------------
* Via its web engine QF-Test now supports testing of Electron
applications.
* 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.
* 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" 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.
* 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.
* 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.
* 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.
* The 'enabled' check for a JavaFX MenuItem now correctly identifies
the disabled state.
* 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.
Changes that can affect test execution
======================================
* 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.
* 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.
--
Gregor Schmid
E: gregor.schmid@?.de
T: +49 8171 38648-11
F: +49 8171 38648-16
Quality First Software GmbH | www.qfs.de
Tulpenstr. 41 | 82538 Geretsried | Germany
GF Gregor Schmid, Dr. Martina Schmid, Karlheinz Kellerer
HRB München 140833