Video zu den neuen Features in Version 4.5: 'QF-Test Features 4.5'.
Neue Features:
-
Es wird nun Eclipse/SWT 4.11 bzw. "2019-03" unterstützt.
-
QF-Test kann nun automatisch ChromeDriver Bibliotheken herunterladen, wenn die mitgelieferte Version nicht zum
gewählten Browser passt.
Beseitigte Bugs:
-
Beim Aufnehmen von Prozeduren wurden die zusammenfassenden Prozeduren für Panel Komponenten nicht
generiert, wenn die Aufnahme nur für ein Panel gemacht wurde statt für das ganze Fenster.
-
Abbild-Checks funktionieren nun auch dann, wenn der Check mit aktivierter Bildkompression aufgenommen
wurde und ein SecurityManager im SUT aktiv ist.
-
Wenn eine XML oder XSLT Bibliothek im Plugin-Verzeichnis von QF-Test installiert wurde, funktionierte die
Erstellung von Reports nicht mehr.
-
Wurde eine nicht existierende Datei auf der Kommandozeile angegeben, öffnete QF-Test das Hauptfenster nicht,
so dass der Prozess zu hängen schien.
Beseitigte Bugs:
-
In QF-Test 4.5.0 startete das SUT nicht mehr, wenn der QF-Test Agent über die Option Über QF-Test Agent verbinden deaktiviert wurde.
-
Der von ${qftest:java} gelieferte Pfad war nicht korrekt, wenn QF-Test mit dem Kommandozeilenargument
-java <Programm>
gestartet und der Parameter <Programm> dabei nicht als absoluter Pfad angegeben wurde.
-
Die Prozedur
qfs.autowin.acrobat.saveAsText
in der Standardbibliothek
qfs.qft
funktioniert nun auch für Adobe Acrobat Reader Versionen 19.010.20091 und höher.
-
Ein unvollständiger
TreeTableResolver
basierend auf der Standardimplementierung von
getTreeColumn
konnte zur Ausgabe eines Stacktrace in der Client-Konsole führen.
- Web
Im Headless Chrome wurden harte bzw. semiharte Doppelklicks nicht korrekt abgespielt.
- Web
In QF-Test 4.5.0 konnten SUT Skripte für Webtests nicht mehr auf Plugin-Jars im Plugin-Verzeichnis von QF-Test
zugreifen.
-
SUT Skripte konnten nicht mehr auf die jniwrapper Bibliothek und das autowin Modul zugreifen.
-
Unter Windows 7 konnten beim Start von Webtests im WebDriver-Modus Exceptions auftreten.
Die folgenden wichtigen neuen Features wurden für Version 4.5 von QF-Test implementiert:
- Web
Mit dem Schnellstart-Assistenten erzeugte Startsequenzen für Webanwendungen enthalten einen Aufruf der
Prozedur
qfs.web.ajax.installCustomWebResolver
. Diese versucht, das genutzte AJAX
Framework zu erkennen und einen passenden Resolver einzuhängen. Falls es keinen solchen Resolver gibt,
wird ein minimaler generischer Resolver eingehängt. Für diesen Prozeduraufruf wurden in QF-Test 4.5 die
Standardwerte geändert, so dass DIV
und SPAN
Knoten nun ignoriert und aus der
Hierarchie der Komponenten entfernt werden. Diese Änderung hat keinen Einfluss auf bereits bestehende
Startsequenzen, sollte aber im Hinterkopf behalten werden, falls Sie mit dem Schnellstart-Assistenten eine
neue Startsequenz für eine Webanwendung mit bestehenden Tests erstellen. In diesem Fall sollten Sie den
Parameter ignoreTags
im generierten Aufruf von installCustomWebResolver
zurück auf den leeren Wert setzen.
- SWT
Unter Linux können Eclipse/SWT Anwendungen der SWT Versionen 4.3 bis 4.9 wahlweise mit GTK2 oder GTK3
ausgeführt werden.
In QF-Test Version 4.3 wurde Unterstützung für GTK3 mit SWT Versionen 4.6 und höher eingebaut. Bisher
setzten allerdings mit dem Schnellstart-Assistenten generierte Startsequenzen die Environment-Variable
SWT_GTK3 auf 0, wodurch alle SWT Versionen, die noch GTK2 unterstützen, dies verwenden.
Beginnend mit QF-Test 4.5 wird diese Environment-Variable ignoriert. Sie wurde durch die Option Bevorzugte GTK Version für SWT (nur Linux) ersetzt, welche auf "2" oder "3" gesetzt oder leer gelassen werden
kann, um den zur jeweiligen SWT Version passenden Standard zu verwenden.
Unglücklicherweise werden SWT Anwendungen mit GTK2 auf neueren Linux Systemen zunehmend instabil und
können unter starker Last, welche bei Ausführung mit QF-Test in maximaler Geschwindigkeit nicht
ungewöhnlich ist, abstürzen. Solche Fehler können durch Aktivierung von XSync behoben werden, einer X11
spezifischen Option mit der X11 Events synchron verarbeitet werden. Diese kann allerdings die
Geschwindigkeit beeinträchtigen. Wenn Sie Ihre SWT Anwendung mit GTK2 betreiben müssen und diese bisher
stabil lief, können Sie die Option XSync für SWT mit GTK2 aktivieren (nur Linux) deaktivieren.
-
Die Verbindung zwischen QF-Test und dem SUT wird nun standardmäßig über das Loopback Interface (localhost)
hergestellt. Für den seltenen Fall, dass QF-Test ein SUT auf einem anderen Rechner ansteuern muss, kann QF-Test
mit dem Kommandozeilenargument
-serverhost <Host>
gestartet werden.
-
Bisher wurden Web-Tests fälschlicherweise immer unter Anwendung des QF-Test Classpaths gestartet. Dadurch waren
evtl. in SUT-Skripten falsche Bibliotheken wie zum Beispiel "POI" geladen. Wenn Sie diese in Ihren SUT-Skripten
vewenden möchten, so kopieren Sie die entsprechenden JAR-Dateien bitte explizit in das
plugins/sut
-Verzeichnis.
Hinweis
Eine detaillierte Aufstellung der Systemvoraussetzungen und der unterstützten
Technologieversionen finden Sie in Abschnitt 1.1.
QFS bemüht sich um Rückwärtskompatibilität auch mit sehr alter Software. QF-Test läuft nach wie vor z.B. unter
Windows XP und mit einem auf Java 6 basierenden SUT, aber
wir können für Systeme, die von deren Herstellern nicht mehr unterstützt werden, keinen umfassenden Support
bieten.
Unterstützung für die Safari Selenium Erweiterungen wurde entfernt, da Safari generell keine Erweiterungen
mehr zulässt.
Bibliotheken für die Firefox Versionen 44-59 und die Eclipse/SWT Versionen 3.6 und älter sind nicht
Teil der Standard-Installation von QF-Test. Sie werden noch gepflegt, aber nur
eingeschränkt getestet. Für Eclipse/SWT 3.5 - 3.6 können Sie https://archive.qfs.de/pub/qftest/swt_legacy.zip herunterladen und in das swt
Verzeichnis
Ihrer QF-Test Installation entpacken. Für die Unterstützung älterer Browser wenden Sie sich bitte via
support@qfs.de
an QFS.
Neue Features:
- Web
Über seine Web-Engine unterstützt QF-Test nun auch das Testen von Electron Anwendungen. Informationen zu den
unterstützten Versionen von Electron finden Sie in Abschnitt 1.1.2, Erstellung und
Durchführung von Electron Tests sind in Kapitel 19 näher beschrieben.
- Web
Mit dem Schnellstart-Assistenten können nun auch Startsequenzen zur Emulation von mobilen Browsern
erstellt werden. Zudem wurde die Auswahl an unterstützten Mobilgeräten aktualisiert und erweitert.
- SWT
Eclipse/SWT Anwendungen erfordern keine Instrumentierung des SWT Plugins mehr (mit Ausnahme älterer SWT
Versionen unter Linux). Hiermit wird auch das Testen von WebStart basierten oder anderen speziellen SWT
Anwendungen erleichtert. Weiter Informationen finden Sie bei der Option Ohne SWT Instrumentierung verbinden
und in Abschnitt 45.2.
-
Es wird nun auch das Testen von SUTs mit Java 12 unterstützt.
-
Die Geschwindigkeit wurde an vielen Stellen verbessert, unter anderem beim Start von QF-Test selbst und von
Browsern, bei der Initialisierung von Jython, von Skript-basierten Resolvern sowie bei der
Event-Wiedergabe und Synchronisation - letzteres vor allem bei Webanwendungen. Die Effekte variieren
abhängig von vorhandenen CPUs und Details des SUT zwischen kaum merklich und nahezu doppelt so schnell.
-
Abbildungen und Screenshots in Testsuiten und Protokollen werden nun in das WebP Format und damit deutlich
effektiver komprimiert. Um den Übergang zu erleichtern unterstützt QF-Test schon seit Version 4.4 das Lesen
solcher Dateien. In dieser Version wird WebP zum Standard, einstellbar über die Option Abbilder in Protokollen und Testsuiten komprimieren. Durch einfaches Laden und Speichern von Testsuiten wird das Format der
enthaltenen Bilder nicht geändert um kein unnötiges Rauschen in der Versionsverwaltung zu erzeugen.
Testsuiten können aber durch einen QF-Test Batchaufruf mit dem Kommandozeilenargument
-compress
transformiert werden.
- Windows
Die Fähigkeit, Fenster des SUT nach Bedarf in den Vordergrund zu bringen und den Eingabefokus zu setzen
ist für eine stabile Testautomatisierung sehr wichtig. Unter Windows verwendet QF-Test nun eine neue, sehr
zuverlässige Methode, Fenster nach vorn zu bringen, sofern die Option Beim Nach-vorne-bringen Fenster in den Vordergrund zwingen
nicht deaktiviert ist.
-
Das Kontextmenü für Testsuite-Tabs in der Workbench-Ansicht von QF-Test enthält die neuen Einträge
»Datei-Pfad in Zwischenablage kopieren« und »Im Explorer/Finder/Dateimanager anzeigen«.
-
Für aus QF-Test gestartete Prozesse stehen Standardausgabe (stdout) und Fehlerausgabe (stderr) nun getrennt
über
${client.stdout.<name>}
und ${client.stderr.<name>}
zur
Verfügung. Die kombinierte Ausgabe erhalten Sie nach wie vor über
${client.output.<name>}
.
-
Über ihr Kontextmenü können nun auch 'Programm starten' und 'Shellkommando ausführen' Knoten
ineinander konvertiert werden. Dies ist insbesondere hilfreich zur Umformung von Kommandozeilenargumenten
in der Tabelle in eine einzelne Kommandozeile und umgekehrt.
-
Die neue Prozedur
qfs.shellutils.exec
in der Standardbibliothek qfs.qft
ist ein praktisches Hilfsmittel, um in einem Schritt einen System-Befehl auszuführen, sein Ende
abzuwarten und die Ausgabe als Rückgabewert zu erhalten.
-
Das eingebettete Selenium WebDriver Framework wurde auf Version 3.141.59 aktualisiert, ChromeDriver auf
Version 2.46 (unterstützt Chrome bis Version 73) und GeckoDriver auf Version 0.24.0 (für Firefox 60esr und
höher, aktuell bis Version 65).
-
Die Prozedur
qfs.utils.email.sendEmail
in der Standardbibliothek qfs.qft
unterstützt nun SMTP über SSL.
-
Es kann nun der gesamte Text einer PDF Seite mit einem 'Text auslesen' Knoten ermittelt werden.
Beseitigte Bugs:
-
Der Menüeintrag zur Kontext-Hilfe »Was ist das?« funktioniert nun auch wieder für
den 'Web-Engine starten' Knoten und dessen Attribute.
- Web
In Firefox konnte ein unerwarteter Dialog zu einer NoAlertPresentException führen. Dieses Problem wurde
für Firefox 63 und höher beseitigt, ältere Versionen ignorieren die entsprechende Einstellung im WebDriver.
- SWT
In QF-Test Version 4.4.2 unter Linux funktionierte das Setzen des Eingabefokus für Eclipse/SWT Anwendungen mit
GTK2 nicht mehr.
-
Die Methode
rc.checkEqual
funktioniert nun wieder korrekt beim Vergleich von Zahlen
unterschiedlichen Typs wie Integer, Double und BigDecimal.
-
Die Prozedur
qfs.utils.xml.compareXMLFiles
in der Standardbibliothek
qfs.qft
konnte Unterschiede in Attributen übersehen.
- JavaFX
Der 'enabled' Check für ein JavaFX MenuItem erkennt nun den 'disabled' Status korrekt.
- Web
Beim Wechseln vom Browser zu einer anderen Anwendung wurde die Hervorhebung für den Checkmodus nicht
zuverlässig entfernt.
-
QF-Test setzt nun nicht mehr implizit die Environment-Variable MOZ_NO_REMOTE=1. Dadurch startete Firefox beim
Aufruf immer einen neuen Prozess, statt einen neuen Tab in einem existierenden Fenster zu öffnen. Diese
Einstellung war ursprünglich für das Testen von Applets eingeführt worden.