Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.33 bzw. "2024-09" basieren.
- Web
Die integrierte cdp4j-Bibliothek wurde auf Version 7.1.4 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.41.
- iOS
Der eingebettete Device-Agent für iOS wurde auf WDA Version 8.9.1 aktualisiert.
Beseitigte Bugs:
- Windows
Das mit QF-Test für Windows ausgelieferte JRE wurde auf Temurin OpenJDK Version 17.0.11 zurückgesetzt, da die
aktuelle Java-Version einen Fehler im Bezug auf virtuelle Bildschirme enthält, der zu HeadlessExceptions
führen kann.
-
Der Import von Komponenten konnte zu einer Exception führen, falls eine zusätzliche Ansicht für die
Testsuite geöffnet war.
- Windows-Tests
Ein UI-Automation-Element vom Typ SpinButton wird nun als Button aufgezeichnet. Eine frühere Aufzeichnung
bleibt gültig.
- Mac
Auf manchen macOS-Systemen wurde die Ausführung von Web-, PDF-, iOS- oder Android-Tests nach einiger Zeit
extrem langsam.
- Web
Wenn der angegebene Browser unter macOS nicht gefunden werden konnte, zeigte QF-Test eine irreführende
Fehlermeldung an.
QF-Test selbst benötigt für die Ausführung nun mindestens Java Version 17. Diese ist unabhängig von der
Java-Version für das SUT, für das weiterhin die Rückwärtskompatibilität bis Java-Version 8 erhalten
bleibt. Eine SUT-Anwendung basierend auf Java Swing, JavaFX oder SWT sollte immer mit ihrem eigenen JRE
gestartet werden und nicht mit dem von QF-Test.
Von Sonderfällen abgesehen, wie z.B. dem Bedarf für ein Plugin, das eine höhere Java-Version benötigt,
sollte QF-Test immer mit dem mitinstallierten JRE gestartet werden.
Hinweis
Das JRE von QF-Test enthält nicht länger die JavaFX Module. Die für die Ausführung der JavaFX Demos von
QF-Test benötigten Module werden separat bereitgestellt.
enthalten.
-
Beim Start ignoriert QF-Test nun die Umgebungsvariable
CLASSPATH
. Bei Bedarf kann stattdessen
QFTEST_CLASSPATH
verwendet werden.
-
Die Unterstützung für 32-Bit-Software wurde in QF-Test Version 7.0 abgekündigt und nun komplett entfernt, mit
folgenden Ausnahmen:
-
Das Testen von nativen 32-Bit Windows-Anwendungen auf 64-Bit Windows-Systemen mit der QF-Test
Windows-Engine bleibt weiterhin unterstützt.
-
Das Testen von Swing oder JavaFX Anwendungen, die in einer 32-Bit Java-VM laufen, funktioniert noch,
wird aber nicht mehr offiziell unterstützt.
Zum Testen von sonstiger 32-Bit-Software verwenden Sie bitte QF-Test Version 7.1.
Web
Vor QF-Test 8.0 wurde in Web-Anwendungen das ID-Attribut eines DOM-Knotens nur dann als Name für eine QF-Test
Komponente verwendet, wenn diese ID im hierarchischen Kontext "eindeutig genug" war. Dies wurde aus
Kompatibilitätsgründen lange beibehalten, obwohl es inzwischen bessere und effizientere Methoden zum
Umgang mit nicht eindeutigen Namen gibt.
Bei der neuen Variante der Option ID-Attribut als Name verwenden ist das Standardverhalten, IDs
generell als Namen zu nutzen, unabhängig von Eindeutigkeit. Um die Kompatibilität für Tests mit älteren
Komponenten zu erhalten, wird diese Option bei der Migration einer bestehenden Konfigurationen auf den
Wert "Nur wenn eindeutig" gesetzt.
-
Die separate Option für die Schriftgröße des Terminals in der QF-Test Workbench wurde durch die allgemeine
Option Schriftgröße (pt) ersetzt.
-
Die veraltete GNU Regexp Bibliothek wurde zusammen mit der Option "Alte GNU-Regexps verwenden" aus QF-Test
entfernt.
-
Die Arbeit ohne Workbench-Ansicht - also mit einem eignen Fenster für jede Testsuite - wurde abgekündigt.
Die zugehörige Option wurde vom Menü »Ansicht« in den Optionen-Dialog verschoben.
- Web
Die Unterstützung von Javascript-basierten "WebResolvern" wurde abgekündigt (siehe Abschnitt 53.2). Dies betrifft in keiner Weise die Definition und Ausführung von
"CustomWebResolvern" oder über das
resolvers
-Modul installierte Resolver.
- Web
Das Timeout für die meisten Anfragen im Verbindungsmodus CDP-Driver wurde von 10 auf 3 Sekunden
herabgesetzt und entspricht damit nun dem Timeout des Verbindungsmodus WebDriver.
Neue Features:
- iOS
Mit der neuen iOS-Engine können nun iOS-Anwendungen im Simulator unter macOS oder auf echten Geräten, die
an einen Rechner mit macOS angeschlossen sind, getestet werden. Nähere Informationen finden Sie in
Kapitel 17.
- JavaFX
Die Unterstützung für JPro wurde stark verbessert und auf die JPro Version 2024.3 aktualisiert. JPro
bringt JavaFX-Anwendungen in den Browser und QF-Test kann gleichzeitig so mit beiden Technologien
interagieren, dass für JavaFX geschriebene Tests fast unverändert mit JPro und dem Browser ausgeführt
werden können. Erklärungen zum Konzept finden Sie in Kapitel 19 und eine JPro
Demo-Testsuite über den Menüeintrag »Hilfe«-»Beispiel-Testsuiten erkunden...«, Eintrag "JPro JavaFX CarConfig Suite".
-
Das neue "Solarized" UI-Theme ist ein Standard-Farbschema basierend auf dem Konzept, dieselben
Vordergrund-Farben im hellen und dunklen Modus zu verwenden. Es wird von Vielen als angenehm empfunden und
kann über das Menü »Ansicht«-»UI-Theme« aktiviert
werden.
-
QF-Test enthält nun eine eigene Assertion-Bibliothek für Skripte, die von Chai.js inspiriert wurde.
-
JSON-Objekte können nun durch das neue JSON-Skriptmodul einfacher in Groovy und Jython verwendet und in
QF-Test Variablen serialisiert werden.
- Mac
QF-Test wird auf macOS-Systemen mit Apple-Silicon-Prozessor nun als nativer ARM-Prozess ausgeführt, was zu
einer deutlichen Beschleunigung führt.
-
Das mit QF-Test ausgelieferte JRE wurde zu Temurin OpenJDK Version 17.0.12 aktualisiert.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 126 aktualisiert.
-
Die Unterstützung für Webswing wurde für die aktuelle Webswing-Version 24.1 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser-Version 7.40 sowie der kommenden Version 8.
-
Groovy wurde auf Version 4.0.22 aktualisiert.
- Web
Die integrierte cdp4j-Bibliothek wurde auf Version 7.1.3 aktualisiert.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.35.0 aktualisiert.
- Electron
QF-Test unterstützt nun den neuen Objekt-Typ
BaseWindow
von Electron Version 30.
-
Die eingebettete WebP-Bibliothek für die Bildkompression wurde auf Version 1.4.0 aktualisiert.
-
Die eingebettete Bibliothek Apache Commons IO wurde auf Version 2.16.1 und Apache Commons CSV auf 1.11.0
aktualisiert.
- Web
Die Option ID-Attribut als Name verwenden hat nun einen dritten Wert. Der neue Standard ist, IDs
generell als Namen zu nutzen, unabhängig von deren Eindeutigkeit. Falls Probleme mit der Kompatibilität
auftreten, setzen Sie die Option auf den früheren Standardwert "Nur wenn eindeutig" (vgl. Änderungen mit möglichen Auswirkungen auf die Testausführung).
- Web
Mappings für Generische Klassen im 'CustomWebResolver installieren'-Knoten können jetzt mehrere alternative
HTML-Tagnamen oder CSS-Klassen auf einmal zuweisen.
- Web
Durch Mappen der passenden Komponente auf die neue generische Klasse
ModalOverlay
kann
verhindert werden, dass QF-Test ein modales Overlay umgeht und Mausevents auf davon abgedeckte Elemente
ausführt.
- Web
Das neue Interface
TreeIndentationResolver
kann implementiert werden, um QF-Test bei der
Erkennung der Struktur von Baumknoten in einer Web-Anwendung zu unterstützen. Genauere Informationen
hierzu finden Sie in Abschnitt 53.1.24.
-
Das Layout des HTML-Reports ist für kleinere Bildschirme und zum Drucken nun besser geeignet.
-
Mit dem neuen Kommandozeilenargument
-noplugins
kann vorübergehend die Einbindung von Plugins
unterdrückt werden, um im Fall eines Problems herauszufinden, ob ein Plugin als Ursache in Frage kommt.
-
Die zuletzt verwendeten Dateien wurden in ein Untermenü des »Datei«-Menüs verschoben
und einige Standard-Lesezeichen für wichtige Bibliotheks- und Beispiel-Suiten ergänzt.
Beseitigte Bugs:
-
Die Sortierreihenfolge von Attributen in den XML-Dateien für Testsuiten und Protokolle ist nun unabhängig
von den Spracheinstellungen des Systems.
-
Beim Abgreifen der IO-Streams
System.out
und System.err
des SUT geht QF-Test nun
vorsichtiger vor, um deren implizite Kodierung nicht zu verändern.
- Android
Die apk-Datei, welche QF-Test auf Android-Geräten für den Zugriff auf die Accessibility-Schnittstelle
benötigt, wurde für die Kompatibilität mit neueren Android-Versionen aktualisiert und neu signiert.
- Web
Die Standard-Installation von Firefox unter Linux akzeptiert keine Profilverzeichnisse mehr außerhalb von
~/.mozilla
. QF-Test erkennt und umgeht diese Situation nun, indem es ein dediziertes
Profilverzeichnis für Firefox-Tests in ~/.mozilla
statt im QF-Test Anwenderverzeichnis erstellt.
- Web
Auf Windows-Systemen werden headless Browser nun immer unskaliert gestartet, unabhängig vom
Skalierungsfaktor für die aktuelle Desktop-Session.
- Electron
Die emulierte Web File System API für Electron-Anwendungen kann nun auch auf mehrere Dateien parallel
lesend und schreibend zugreifen.
- Mac
In speziellen Fällen konnte QF-Test unter macOS blockieren, wenn eines seiner Anwendungsfenster nach vorne
gebracht werden sollte.
-
Die Prozedur
qfs.autowin.acrobat.saveAsText
in der Standardbibliothek
qfs.qft
funktioniert nun auch für den englischen Acrobat Reader in Version 24.512 und höher.
-
Das QF-Test Gradle-Plugin übergibt die "license" Property nun korrekt an QF-Test.
Neue Features:
- SWT
Der visuelle Inspektor zur Analyse von UI-Komponenten steht nun auch für Eclipse/SWT-Anwendungen
und damit für alle QF-Test UI-Engines zur Verfügung.
- Web
Die integrierte cdp4j Bibliothek wurde auf Version 7.1.2 aktualisiert.
- Web
Der Auswahldialog für eine Suchmaschine in Chrome wird unterdrückt.
Beseitigte Bugs:
-
Bei Verwendung eines Unterelements als Scope konnte es zu einer falsch-positiven Erkennung kommen, wenn
das Element innerhalb des Scopes nicht existierte.
- Web
Komponenten innerhalb eines FRAME in einem zweiten Browser-Fenster wurden nicht zuverlässig erkannt.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.32 bzw. "2024-06" basieren.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.37, 7.38 und 7.39.
Beseitigte Bugs:
-
Beim Ausführen des Windows-Installers im Silent-Modus werden nun keine alten QF-Test Versionen mehr
deinstalliert.
-
Das Speichern von PDF-Dateien mit der Prozedur
qfs.autowin.acrobat.savePDF
war nicht
möglich, wenn die Acrobat-Option "Online-Speicher beim Speichern von Dateien anzeigen" deaktiviert war.
-
Beim Generieren von testdoc-Dokumentation mit deaktivierter Option für Testschritte werden diese nun auch
aus der XML-Variante entfernt statt nur aus HTML.
- Web
Webdriver für neuere Versionen von Microsoft Edge werden nun wieder automatisch heruntergeladen.
- Web
Das automatische Scrollen in Webanwendungen wurde für den Sonderfall verbessert, dass
Vorgänger-Komponenten in der Hierarchie unsichtbar sind.
- Web
In Web-Anwendungen mit mehreren Dokumenten konnte der QF-Test UI-Inspektor teilweise keine
Detail-Informationen zu Knoten liefern.
-
In manchen Fällen konnten node.js-Module nicht in JavaScript-Skripte importiert werden.
Neue Features:
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 23 basieren.
-
Das mit QF-Test ausgelieferte JRE wurde zu Temurin OpenJDK Version 17.0.11 aktualisiert.
-
Groovy wurde auf Version 4.0.21 aktualisiert.
-
Die eingebettete cdp4j-Bibliothek wurde auf Version 7.1.1 aktualisiert.
- JavaFX
Der visuelle Inspektor zur Analyse von UI-Komponenten steht nun auch für JavaFX-Anwendungen zur Verfügung
und bringt einige kleinere Verbesserungen für alle unterstützten Engines mit.
-
Die spezielle Variablen-Gruppe "qftest" enthält jetzt weitere Werte für Client-Properties (vgl. Abschnitt 6.6).
- Web
Beim Start von Chrome aus QF-Test heraus wird dessen neues Privacy-Banner nun standardmäßig unterdrückt.
Beseitigte Bugs:
-
Nach Vergrößern der Option Schriftgröße (pt) wurden Attribute wie 'Bedingung' in
'If'-Knoten nicht mehr korrekt dargestellt.
-
Das Doctag @noreport funktioniert nun auch an 'Prozeduraufruf'-Knoten.
-
Der Zähler für übersprungene Tests war nicht korrekt, wenn ein 'Testfall' mit erzwungenem Aufräumen
der Abhängigkeit aus einem Skript heraus mit
skipTestCase
verlassen wurde.
- Web
Das Einfügen einer JavaScript-Funktion mittels der abgekündigten Prozedur
updateCustomWebResolverProperties
in der Standardbibliothek qfs.qft
klappte im
Firefox nicht mehr.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.31 bzw. "2024-03" basieren.
- Electron
Die Erkennung von neuen Fenstern in Electron-Anwendungen wurde verbessert.
-
Die interaktiven Terminalfenster für die verschiedenen Skriptsprachen in QF-Test und dem SUT werden nun
zur besseren Verständlichkeit und Abgrenzung als Konsolen bezeichnet.
Beseitigte Bugs:
-
Der Aufnahme-Button in der Toolbar wird nach einer Änderung der Größe der Toolbar-Icons nun wieder korrekt
dargestellt.
Die einzige Änderung in dieser Version ist das Entfernen von drei ausführbaren Dateien, die Teil der
eingebetteten cdp4j-Bibliothek sind und die plötzlich von verschiedenen Scannern als bösartig detektiert
wurden. Diese Dateien waren seit Version 6.0.4 (November 2022) Teil von QF-Test, wurden aber von QF-Test nie genutzt
und sollten harmlos sein.
Weitere Informationen folgen, wenn wir mehr über die Hintergründe wissen.
-
Die Unterstützung für WebStart in Oracle Java 8 wurde abgekündigt und wird in einer zukünftigen QF-Test
Version entfernt. Dies hat keine Auswirkungen auf OpenWebStart.
-
QF-Test unterstützt nun das Testen von Applets nicht mehr - diese konnten zuletzt nur noch mit dem Internet
Explorer ausgeführt werden, und QF-Test hat mit Version 6.0 die Unterstützung des Internet Explorers
abgekündigt und mit Version 7.0 entfernt.
-
Der Start von QF-Test mit einem anderen als dem mitgelieferten JRE, insbesondere mit Java 8, ist abgekündigt.
Dies hat keinen Einfluss auf die unterstützten Java-Versionen für das SUT.
-
Die eingebettete cdp4j-Bibliothek wurde auf Version 7 aktualisiert. Dies beinhaltet einen Namespace-Wechsel
der cdp4j-Klassen von
io.webfolder.cdp
nach com.cdp4j
. Wenn solche Klassen direkt
in SUT-Skripten referenziert werden, dann müssen die Import-Befehle entsprechend angepasst werden.
CustomWebResolver
Nach der Ablösung des schwer verdaulichen qfs.web.ajax.installCustomWebResolver
Aufrufs
durch den 'CustomWebResolver installieren' Knoten in QF-Test 7.0 wurde nun auch der darunter liegende Code optimiert und
dabei entschlackt, wodurch in speziellen Fällen Anpassungen nötig sein können. Sollte dies bei Ihnen der Fall
sein und Sie Hilfe benötigen, wenden Sie sich gerne an <support@qfs.de>. Konkret sind folgende Punkte
betroffen:
- Web
Die Auswertungsreihenfolge der Definitionen in den CustomWebResolver-Kategorien "genericClasses" und
"redirectClasses" ist nun wohldefiniert: Der erste Treffer gewinnt, basierend primär auf der Reihenfolge
der Einträge im Knoten (Details siehe Abschnitt 50.1.2). Bei bestehenden
CWR-Konfigurationen mit überlappenden Einträgen ist es möglich, dass dadurch nun Einträge berücksichtigt
werden, die in früheren Versionen keine Wirkung hatten.
- Web
Der 'CustomWebResolver installieren' Knoten unterstützt die veralteten Kategorien "indirectFeatureClasses",
"insertClassesFront", "textRedirectInFetch" und "goodClasses" nicht mehr, ebenso alle schon zuvor
abgekündigten Kategorien inklusive "ieHardClasses" und "ieSemiHardClasses".
Neue Features:
-
QF-Test bietet nun auch ein UI-Theme mit hohem Kontrast, sowohl für den hellen als auch dunklen Modus.
-
Die Darstellung der Baumknoten in Testsuiten und Protokollen wurde so überarbeitet, dass diese nun
schlanker und frischer erscheinen. Details zu den verschiedenen neuen Optionen, über die diese Darstellung
umfangreich angepasst werden kann, finden Sie in Darstellung.
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 22 basieren.
- Web
Web-Anwendungen basierend auf neueren Versionen des Vaadin-Frameworks (ab Version 14) werden nun
out-of-the-box unterstützt. Ebenfalls neu ist Unterstützung zur Aktivierung grundlegender Testfunktionen
für das Flutter Web-Framework sowie generische Komponentenerkennung für Web-Anwendungen, welche den WCAG
ARIA Richtlinien für Barrierefreiheit folgen.
- Swing
Der visuelle Inspektor zur Analyse von UI-Komponenten steht nun auch für Windows und Swing/AWT-Anwendungen
sowie für in Java-Anwendungen eingebettete Web-Views zur Verfügung (vgl. Abschnitt 5.12.2).
-
Im UI-Inspektor kann die vorgeschlagene Smart-ID nun einfach kopiert werden.
-
Bedingungen in 'If' und anderen Knoten können jetzt auch in anderen Skriptsprachen als
Jython angegeben werden. Die Standard-Skriptsprache für die Bedingung von neuen Knoten kann über die Option
Voreingestellte Sprache für Bedingungen festgelegt werden.
-
Bei den Knoten 'Fehler', 'Warnung' und 'Nachricht' kann nun auf Wunsch die
Nachricht zusätzlich im Terminal ausgegeben werden.
-
In Knoten, die einen SUT-Client starten, werden leere Argumente nun standardmäßig ignoriert
(vgl.
Leere Argumente beim Start des Clients ignorieren
).
- Windows
Das Windows-Installationsprogramm für QF-Test unterstützt nun direkt das Entfernen älterer QF-Test Versionen.
-
Das mit QF-Test ausgelieferte JRE wurde zu Temurin OpenJDK Version 17.0.10 aktualisiert.
-
Groovy wurde auf Version 4.0.18 aktualisiert.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 120 aktualisiert.
- Web
Die eingebettete cdp4j-Bibliothek wurde auf Version 7.0.1 aktualisiert. Dies beinhaltet ein Update der
Chrome Devtools Protocol API auf r1245094.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.34.0 aktualisiert.
-
Die CarConfigurator-Anwendungen, die für Demos und Trainings verwendet werden, haben ein moderneres
Aussehen und aktualisierte Daten erhalten. Die Demo-Testsuiten für diese Anwendungen enthalten nun weitere
Beispiele zur Verwendung von SmartIDs.
- Web
Für den Mobile Emulation Mode wurden die Spezifikationen neuerer Geräte hinzugefügt.
- Web
Das Attribute 'Methode' im Knoten 'Server-HTTP-Request' unterstützt nun auch variable
Werte und im neuen Attribut 'Zusätzliche Header' können Header nun textuell angegeben werden,
was auf Skript-Ebene einfacher ist als die 'Header'-Tabelle.
-
Das neue Package
qfs.utils.json
in der Standardbibliothek qfs.qft
stellt Hilfsprozeduren zum Vergleich von JSON-Dateien zur Verfügung.
-
Die E-Mail-Prozeduren im Package
qfs.utils.email.pop3
der Standardbibliothek
qfs.qft
unterstützen jetzt auch SSL-verschlüsselte Verbindungen.
- Android
Mit Hilfe des Packages
qfs.autoscreen.android
ist es jetzt möglich, bildbasierte
Tests für Android-Anwendungen auszuführen.
-
Der Aufnahme-Button in der Toolbar zeigt nun an, ob der SmartID-Aufnahmemodus aktiv ist.
-
Mit Hilfe der neuen Klasse
ImageRepDrawer
ist es nun möglich, auf Skript-Ebene einfache
Zeichenoperationen auf ImageRep
Objekten durchzuführen (siehe Abschnitt 53.10.3).
- Web
Die Flexibilität der CustomWebResolver-Konfiguration wurde in den Kategorien "redirectClasses",
"abstractCoordinatesClasses", "ignoreTags" und "browserHardClickClasses" erhöht. So ist es zum Beispiel
häufiger möglich, reguläre Ausdrücke in der Beschreibung zu verwenden.
- Web
Aufrufe der Prozedur
qfs.web.ajax.updateCustomWebResolverProperties
können nun
ebenfalls in 'CustomWebResolver installieren' Knoten konvertiert werden.
- Web
Es ist nun möglich, eine Prozedur mit einem Aufruf von
installCustomWebResolver
als "base"
einer Konfiguration in einem 'CustomWebResolver installieren' Knoten zu verwenden.
- Web
Die QF-Test Pseudo-DOM-API wurde um die
callJS
-Methode erweitert, um im Web-Dokumenten-Kontext
JavaScript-Code ausführen zu können, ohne dass implizit window.eval()
aufgerufen wird.
Beseitigte Bugs:
-
Beim Abspielen von Events werden die Timeouts der beiden Optionen Warten auf nicht vorhandene Komponente (ms)
und Warten auf nicht vorhandenes Element (ms) nun individuell berücksichtigt und nicht nur als einfacher
Summenwert.
-
Die Methode
ImageWrapper.grabImage
kann nun auch eine 'QF-Test Komponenten-ID' als
String-Parameter erhalten.
-
Nachdem ein Tabulator-Zeichen aus der Zwischenablage in ein Skript eingefügt wurde, konnte es zu einer
Exception beim anschließenden Bewegen des Cursors kommen.
- JavaFX
Ein modales JavaFX Fenster wird nun mit dem Klassennamen "Dialog" aufgezeichnet.
- Web
Mit dem 'Komponentenevent' Knoten können nun MOVED und SIZED
Events an die HTML Komponente einer Webseite gesandt werden, um die Position und Größe des dargestellten
Inhalts festzulegen.
- Web
Bei der Komponentenaufnahme in Web-Anwendungen zeichnet QF-Test nun keine unsichtbaren DOM-Knoten mehr auf.
Das alte Verhalten kann über rc.setOption(Options.OPT_WEB_RECORD_INVISIBLE_ELEMENTS, true)
wiederhergestellt werden.
- Web
Aufgrund von unerwarteten Fehlermeldungen, die der Chrome-Browser vereinzelt bei der Versionserkennung
ausgab, konnte der automatische Chromedriver-Download fehlschlagen.
- Web
Reguläre Ausdrücke in der CustomWebResolver-Kategorie "ignoreTags" werden nun korrekt ausgewertet.
- Web
Die Elementen mit der CSS-Klasse "visually-hidden" werden jetzt als unsichtbare QF-Test-Komponenten
evaluiert.
- Web
Unter Umständen konnte QF-Test sich nicht mit dem Edge-Browser verbinden.
- Web
CSS-Styling-Informationen in STYLE Tags konnten fälschlicherweise als Text gewertet werden.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.30 bzw. "2023-12" basieren.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.36.
Beseitigte Bugs:
-
Im Report werden Knoten, die mit einem leeren @teststep Doctag erzeugt wurden, nun mit expandierten
Variablen dargestellt.
- Mac
Unter macOS konnte QF-Test beim Start einfrieren, wenn die WebP Bibliothek für Bildkompression nicht
verfügbar war.
- Web
In Electron-Anwendungen konnten Klicks auf Elemente in einem Popup-Menü nur dann wiedergegeben werden,
wenn zuvor andere Menüelemente angeklickt worden waren.
- Web
Der Microsoft Edge Browser stürzte ab, wenn händisch ein neues, leeres Tab geöffnet wurde.
- Android
Der SUT-Client für Android beendete sich nicht automatisch nach Schließen des Emulators, wenn das
Aufnahmefenster zu diesem Zeitpunkt geöffnet war.
Neue Features:
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 117 aktualisiert, in welcher die WebP
Sicherheitslücke beseitigt wurde.
- Web
Die eingebettete Websocket-Bibliothek wurde auf Undertow 2.2.26 aktualisiert.
-
Die Skript-Methode
rc.overrideElement
unterstützt nun auch das Überschreiben von
verschachtelten SmartIDs. Sie wird nun durch die neue Methode rc.getOverrideElement
ergänzt.
Details hierzu finden Sie in Abschnitt 11.2.7 und Abschnitt 49.5.
Beseitigte Bugs:
-
Test-Reports, die im Batchmodus mit QF-Test Versionen von 7.0.4 bis 7.0.6 erstellt wurden, zeigten
eventuell unsauberes HTML an, wenn sie via Navigation von der Zusammenfassung in einen Einzelreport
geöffnet wurden.
Beseitigte Bugs:
-
Die in QF-Test eingebettete WebP-Bibliothek für Bildkomprimierung in Protokollen und Testsuiten wurde auf Version 1.3.2 aktualisiert.
In dieser Version wurde ein schwerwiegendes Sicherheitsproblem (CVE-2023-4863) behoben.
Neue Features:
-
Die Prozeduren
qfs.autowin.acrobat.savePDF
und qfs.autowin.acrobat.saveAsText
in der Standardbibliothek qfs.qft
unterstützen nun auch Acrobat Reader in Version 23 und höher.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.35.
- Web
QF-Test unterstützt nun auch das Aufnehmen und Abspielen von Klicks auf Popup-Menüs in Electron-Anwendungen.
Beseitigte Bugs:
-
QF-Test im interaktiven Modus startete nicht, wenn ein Plugin eine inkompatible Version der
org.w3c.css.sac
Klassen enthielt.
- Web
QF-Test verwendet nun den neuen Headless-Modus von Chrome auch unter Linux. Ohne diesen startete Chrome 117
und höher im Headless-Modus nicht mehr.
Neue Features:
-
Das mit QF-Test ausgelieferte JRE wurde zu Temurin OpenJDK Version 17.0.8.1_1 aktualisiert.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.29 bzw. "2023-09" basieren.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.34.
- Mac
Auf Apple Silicon Geräten werden Browser im Verbindungsmodus CDP-Driver nun nativ für ARM gestartet, was
die Geschwindigkeit deutlich verbessert.
-
Die meisten Toolbar-Buttons haben nun einen "Was ist das?"-Eintrag in ihrem Kontextmenü, der zur jeweils
relevanten Dokumentation im Handbuch führt.
Beseitigte Bugs:
-
Die
jackson.jar
Bibliothek für YAML und JSON Parser erzeugt nun keine Konflikte mehr, wenn
eine andere Jackson-Bibliothek in das QF-Test Plugin-Verzeichnis gelegt wird.
-
Das Hervorheben der Scope-Komponente über das Kontextmenü für den Knoten oder das @scope Doctag
funktioniert nun wieder korrekt.
- Web
QF-Test kann nun wieder aktuelle ChromeDriver und WebDriver Versionen für Google Chrome und Microsoft
Edge automatisch herunterladen. In beiden Fällen hatte sich die entsprechende URL bzw. das Layout der
Seiten verändert.
- Electron
Beim Start einer Electron-Anwendung wartete QF-Test in seltenen Fällen bis zum Ende des Timeouts, auch wenn
die Verbindung schneller hergestellt werden konnte.
Beseitigte Bugs:
-
Ein Testlauf brach in seltenen Fällen mit einer Exception ab wenn QF-Test beim Schreiben eines geteilten
Protokolls auf inkorrekt erstellte leere Abbilder stieß.
-
Die Erkennung von Komponenten mit qfs:label im alten Modus funktionierte in einzelnen Fällen nicht
korrekt, wenn ein
ExtraFeatureResolver
registriert war.
-
Variablen in Doctags von 'Shell-Kommando ausführen' Knoten werden nun korrekt expandiert.
- Swing
In seltenen Fällen konnte es beim Adressieren einer Zeile als Unterelement einer
JTextArea
zu
einer NullPointerException
kommen.
- Web
Bei der Wiedergabe eines 'Geometrie auslesen' Knotens auf ein nicht existierendes Unterelement
wurde bei Web-Anwendungen fälschlicherweise die Geometrie der Parent-Komponente zurückgeliefert. Nun wird
stattdessen korrekterweise eine
IndexNotFoundException
geworfen.
- Android
Die Prozedur
qfs.android.adbUtils.appPackage.getCurrentPackage
in der
Standardbibliothek qfs.qft
funktioniert nun auch auf Android-Geräten, die kein
grep
-Kommando beinhalten.
Neue Features:
-
QF-Test unterstützt nun auch Tests mit JxBrowser 7.33.
Beseitigte Bugs:
-
Nach einem Start von QF-Test 7.0.1 mit nur einem Protokoll und anschließendem Öffnen einer Testsuite wurde
die vorherige Sitzung nicht wiederhergestellt.
-
Unter Windows mit skaliertem Bildschirm zeigt der PDF-Client nun ein skaliertes Dokument an, bei dem
Rahmen und Check-Hervorhebungen korrekt ausgerichtet sind. Abbild-Checks werden entsprechend der 100%
Skalierung erstellt und sollten damit kompatibel zu Checks bleiben, die auf einem unskalierten Bildschirm
erstellt wurden.
- Web
Die Installation eines CustomWebResolvers schlug mit einer Exception fehl, wenn dieser fehlerhaften
JavaScript-Code enthielt. Nun wird stattdessen ein Fehler protokolliert.
- Web
Der 'CustomWebResolver installieren' Knoten konnte nicht ausgeführt werden, wenn eine jar-Datei im
Plugin-Verzeichnis von QF-Test eine Jackson-Bibliothek in einer inkompatiblen Version enthielt.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.28 bzw. "2023-06" basieren.
- Mac
Es werden nun auch Clients unterstützt, die auf macOS mit einem ARM-Java ausgeführt werden.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.32.
-
QF-Test startet nun spürbar schneller, im interaktiven Modus ebenso wie im Batchmodus.
-
Die neue spezielle Variable
${qftest:suite.name}
expandiert zum - in derem Wurzelknoten
definierten - Namen der aktuellen Testsuite.
- Web
Neue CWR-Kategorien und Zuweisungen werden nun beim Cursor eingefügt anstatt ganz am Ende der Liste.
-
Bei Verwendung von kompakten Protokollen (siehe Option Kompakte Protokolle erstellen) können einzelne
Knoten nun über den Doctag @dontcompactify (siehe Kapitel 61) von der Kompaktifizierung
ausgeschlossen werden.
Beseitigte Bugs:
-
QF-Test startet nun mit der System Property -Dsun.io.useCanonCaches=true um Canonical Filename Caches für
Java-Version 17 zu aktivieren und damit - analog zu älteren Java-Versionen - Performance-Einbußen durch
große Projekte auf langsamen Dateisystemen zu vermeiden.
-
Einige Prozeduren in der Standardbibliothek qfs.qft schlugen wegen der Nutzung von
${qftest:engine.$(id)}
bei Aufruf mit einer SmartID fehl. SmartIDs ohne explizite Angabe
einer Engine nutzen nun die GUI-Engine "default" (vgl. Kapitel 44).
-
Einträge in Konfigurationsdateien waren nicht mehr sortiert, wenn QF-Test mit Java 17 lief.
- Web
Vereinzelt konnte der Checkmodus im Browser noch aktiv bleiben, selbst wenn die Aufnahme gestoppt wurde,
wodurch weitere Interaktionen blockiert waren.
- Web
Bei Verwendung einer Webseite als Scope für eine SmartID wurde der Scope bei einer Navigation nicht
korrekt aktualisiert.
- Web
Das Löschen von Dateien über die File System Access API konnte in sehr speziellen Fällen zu einer Exception
führen.
- Web
Duplizierte Kategorien in einer CWR-Konfiguration werden nicht länger ignoriert, sondern lösen einen
Fehler aus.
- Swing
Abbilder von Swing Fenstern werden nun mit höherer Qualität erstellt.
-
Unter Windows mit skaliertem Bildschirm zeigt der PDF-Client nun ein skaliertes Dokument an, bei dem
Rahmen und Check-Hervorhebungen korrekt ausgerichtet sind. Abbild-Checks werden entsprechend der 100%
Skalierung erstellt und sollten damit kompatibel zu Checks bleiben, die auf einem unskalierten Bildschirm
erstellt wurden.
Neue Java-Version für QF-Test
QF-Test wird nun mit Java 17 als eigenes JRE ausgeliefert. Die Ausführung von QF-Test mit Java 8 wird für QF-Test 7
noch unterstützt, ist aber abgekündigt und kann in einer zukünftigen Version ganz entfernt werden.
Diese Änderung kann Tests von Java-Anwendungen betreffen, wenn diese nicht mit ihrer eigenen oder einer
systemspezifischen Java-Version gestartet werden, sondern mit der von QF-Test. Falls Sie eine solche
Situation haben, gibt es zwei Möglichkeiten:
Kurzfristige Umgehung: Sie können über die QF-Test Java Konfiguration oder die Kommandozeile QF-Test weiterhin mit
Java 8 ausführen.
Dauerhafte Lösung: Die bevorzugte Variante ist, eine zur Anwendung passende Java-Version im
'Java-SUT-Client starten' Knoten anzugeben, oder noch besser einen 'SUT-Client starten' Knoten zu
verwenden, der die Anwendung über ein Skript oder ein ausführbares Programm startet, das die korrekte
Umgebung inklusive der passenden Java-Version bereitstellt.
Neuer Algorithmus zur Bestimmung der zugehörigen Beschriftung
Hinweis
In den meisten Fällen sollte die Erkennung der Beschriftung einfach weiter funktionieren. Die primäre
Ausnahme sind ExtraFeatureResolver
, die mit dem ExtraFeature
qfs:label arbeiten.
Diese müssen angepasst werden, wie in Abschnitt 53.1.11 beschrieben. Für Hilfe mit
diesen Änderungen oder eine Möglichkeit, den neuen Algorithmus komplett abzuschalten, wenden Sie sich bitte
an <support@qfs.de>.
Der Algorithmus zur Bestimmung der zugehörigen Beschriftung für eine Komponente wurde von Grund auf neu
implementiert, um bessere Performanz und Klarheit sowie mehr Flexibilität zu erhalten. Mit den neuen
qfs:label*- Varianten wie qfs:labelLeft oder qfs:labelText können spezifische Beschriftungen adressiert
werden, qfs:labelBest ist das Gegenstück zum alten weiteren Merkmal qfs:label. Detaillierte Informationen zu
den neuen Möglichkeiten finden Sie in Abschnitt 5.4.4.1.
Um ein Maximum an Rückwärtskompatibilität zu gewährleisten, wird der alte Algorithmus weiter gepflegt und
dafür genutzt, das weitere Merkmal qfs:label
zu bestimmen, so dass Tests, die auf
'Komponente' Knoten basieren, nicht negativ betroffen sein sollten. Bei Bedarf kann die Aufnahme
über die Option Aufnahme von qfs:label*-Varianten auf den alten Algorithmus mit
qfs:label
umgestellt werden.
Für die Wiedergabe von SmartIDs ist die Situation etwas anders. Ohne expliziten Kennzeichner sowie mit dem
Kennzeichner "label=" oder "qlabel=" werden SmartIDs basierend auf dem neuen Algorithmus mit
qfs:labelBest
aufgelöst. In den meisten Fällen sollte dies wie zuvor funktionieren. Wo sich
dadurch Fehler ergeben, können Sie entweder die betroffene SmartID neu aufnehmen oder ihren Kennzeichner auf
"qfs:label=" setzen, um die Nutzung des alten Algorithmus zu erzwingen.
Weitere inkompatible Änderungen:
- Web
Die Unterstützung für den Internet Explorer wurde in QF-Test Version 6.0 abgekündigt und nun ganz entfernt,
da dieser ausgelaufen ist. Die IE-spezifischen Prozeduren
qfs.web.browser.settings.enableCompatibilityMode
und
qfs.web.browser.general.isIE6
wurden aus der Standardbibliothek qfs.qft
entfernt.
- Web
Die Unterstützung für Firefox Version 43 und älter mit dem Verbindungsmodus QF-Driver wurde in QF-Test
Version 6.0 abgekündigt und nun ganz entfernt.
-
Die Unterstützung für 32-Bit-Software ist abgekündigt und wird in einer der nächsten QF-Test Versionen
entfernt. Dies betrifft Java-Versionen für QF-Test ebenso wie alle unterstützen SUT Varianten. Falls Sie
weiterhin 32-Bit-Anwendungen unterstützen müssen, wenden Sie sich bitte an <service@qfs.de>.
-
Das Format der HTTP-Header, die der 'Server-HTTP-Request' zurückliefert, wurde so angepasst, dass diese
einfacher zu parsen und auszuwerten sind. Beispiele dafür werden in den Prozeduren
checkHttpResponseHeader
und getHeaderValue
in der Web-Services Demo-Testsuite
bereitgestellt, welche Sie über den Menüeintrag »Hilfe«-»Beispiel Testsuiten erkunden...« öffnen können.
-
Für QF-Test wird zur Beschleunigung des Starts nun die Unterstützung von IPv6 deaktiviert, da QF-Test selbst
diese nicht benötigt. Auf das SUT hat dies keinen Einfluss. Sollte IPv6 für ein Plugin benötigt werden,
kann es über das Kommandozeilenargument
-ipv6
reaktiviert werden.
-
Beim Auflösen einer verschachtelten SmartID bzw. einer SmartID mit Scope wurde die bereits aufgelöste
Komponente fälschlicherweise erneut in die Suche einbezogen, so dass z.B.
#Panel:Irgendein
Titel@#Panel:<0>
zum Panel "Irgendein Titel" führte, statt zum ersten darin enthaltenen
Panel.
-
Optionen wie Aufnahme von SmartIDs, die sowohl in QF-Test als auch im SUT einen Effekt haben,
sollten nun einfach in einem 'Server-Skript' Knoten gesetzt werden. Die Weitergabe an alle SUT
Clients erfolgt nun automatisch.
Neue Features:
-
Der neue dunkle Modus ist nur der sichtbarste Aspekt der modernisierten Benutzeroberfläche mit etwas
größeren Schriften und Symbolen und allgemein mehr Platz. Siehe Menü »Ansicht«-»UI Theme« sowie die Option Schriftgröße (pt).
-
SmartIDs haben das Preview-Stadium verlassen. Basierend auf der Neuentwicklung des Algorithmus zum
Auffinden der assoziierten oder nächstgelegenen Beschriftung einer Komponente kombinieren sie in vielen
Situationen Einfachheit mit präziser und effizienter Komponentenerkennung. Die neuen qfs:label*-Varianten
finden ebenfalls in den klassischen 'Komponente' Knoten Anwendung. Näheres finden Sie in
Abschnitt 5.6 und Abschnitt 5.4.4.1 sowie bei den zugehörigen
Optionen in Abschnitt 40.4.
- Web
Der neue 'CustomWebResolver installieren' Knoten zur Implementierung eines CustomWebResolvers für Web-Anwendungen
löst den eher kryptischen 'Prozeduraufruf' für
qfs.web.ajax.installCustomWebResolver
ab. Existierende Aufrufe funktionieren natürlich weiterhin,
können aber einfach über den Kontextmenü-Eintrag »Knoten konvertieren in« konvertiert werden, wie in Abschnitt 50.1.2 beschrieben.
- Web
Es gibt nun einen visuellen Inspektor zur Analyse von UI-Komponenten in Web- und Android-Anwendungen (vgl.
Abschnitt 5.12.2).
-
Mit Hilfe der neuen Knoten 'Fehler', 'Warnung' und 'Nachricht' ist es nun
möglich, Fehler, Warnungen oder einfache Meldungen an beliebiger Stelle in der Testsuite direkt zu
protokollieren, mit dem zusätzlichen Mehrwert von konfigurierbaren Screenshots und Diagnose-Ausgaben.
-
QF-Test Tests können nun sehr einfach in JUnit 5 Tests eingebunden werden. Dies vereinfacht die Ausführung
von QF-Test Tests innerhalb einer Entwicklungsumgebung wie IntelliJ oder Eclipse. Außerdem gibt es nun ein
Gradle-Plugin, um QF-Test in Build Pipelines zu integrieren, die mit Gradle ausgeführt werden. Details hierzu
finden Sie in Abschnitt 28.5.
-
Das XML-Format zum Speichern von Testsuiten ist nun flexibel konfigurierbar. So werden neue Testsuiten
z.B. standardmäßig mit UTF-8-Kodierung und längeren Zeilen gespeichert. Bestehende Testsuiten behalten
standardmäßig ihr Format bei, können aber in einem Rutsch konvertiert werden. Das neue Format bleibt dabei
für ältere QF-Test Versionen lesbar. Weitere Informationen finden Sie in Abschnitt 40.1.2
und Abschnitt 43.1.
-
XML-Reports werden nun standardmäßig mit UTF-8-Kodierung gespeichert.
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 21 basieren.
-
Groovy wurde auf Version 4.0.11 aktualisiert.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 108 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.31.
-
Die eingebettete JUnit Bibliothek wurde auf Version 5.9.2 aktualisiert.
- Web
Es wird nun das Webframework Fluent UI React Version 8 unterstützt.
- Web
QF-Test unterstützt nun den Zugriff auf lokale Dateien aus getesteten Web-Anwendungen heraus über die File
System Access API im WebDriver und im CDP-Driver-Verbindungsmodus, so dass Aufnahme und Wiedergabe für
diesen Fall nun out-of-the-box funktionieren sollten.
- Web
Mit Pseudo-Attributen können Sie Resolver vereinfachen, die über JavaScript Werte aus dem Browser
ermitteln. In manchen Fällen können diese auch die Performanz verbessern. Weitere Informationen finden Sie
unter Web – Pseudoattribute.
-
QF-Test stellt nun Vorlagen für typische Skripte wie Resolver mit sehr einfachem Zugriff über das
'Vorlagen' Popup in 'Server-Skript', 'SUT-Skript' und
'Unit-Test' Knoten bereit. Es können auch eigene Vorlagen definiert werden, die dann in dieser
Liste erscheinen.
-
Über die neue Option Typen bei Baumknoten mit Namen einblenden können redundante Teile der Beschriftung von
Baumknoten in Testsuiten und Protokollen ausgeblendet werden.
-
Beim Klick auf eine Zeilennummer in einem Skript wird nun die gesamte Zeile selektiert.
-
Mithilfe der neuen Option Knoten beim Erstellen automatisch öffnen ist es nun möglich, neue Knoten
bereits aufgeklappt einzufügen.
-
Der Name der Ergebnisvariablen eines 'Prozeduraufruf' Knotens wird nun im Baum angezeigt. Das
Ergebnis des Aufrufs kann durch Aktivieren der Option Rückgabewerte von Prozeduren anzeigen zusätzlich
im Protokoll hinter dem Name der Prozedur angezeigt werden.
-
Die Buttons in der QF-Test Werkzeugleiste können nun durch Ziehen mit der Maus umsortiert werden. Das
ursprüngliche Layout lässt sich über das Menü »Ansicht«-»Werkzeugleiste« wiederherstellen.
-
Die neue spezielle Variable
${qftest:language}
expandiert zur aktuell eingestellten Sprache
der Benutzeroberfläche von QF-Test.
-
Die neue spezielle Variable
${qftest:project.dir}
expandiert zum Verzeichnis des Projekts, zu
dem die aktuelle Testsuite gehört.
-
Baumknoten im SUT können nun über eine Kombination aus numerischen, textuellen und aus regulären
Ausdrücken bestehenden Indizes angesprochen werden.
-
Ein 'Datentreiber' Knoten unterhalb eines 'Testschritt' Knotens kann nun in einen verschachtelten
'Testschritt' eingepackt werden.
-
Über das »Einfügen« Menü oder das Tastenkürzel [Umschalt-Strg-7] kann ein 'Kommentar' Knoten nun auch oberhalb des aktuell
selektierten Knotens eingefügt werden.
-
Falls ein 'Warten auf Client' Knoten zum Warten auf eine bestimmte GUI-Engine dient, wird diese Engine
nun im Baum angezeigt.
- Mac
Das QF-Test Anwendungs-Icon für macOS wurde an moderne Standards angepasst.
- Web
Für den Mobile Emulation Mode wurden die Spezifikationen vieler neuer Geräte hinzugefügt.
Beseitigte Bugs:
-
In der Prozedur
qfs.utils.xml.compareXMLFiles
wurde eine Exception geworfen, wenn
eine der beiden Dateien leer war.
-
Jython Skripte, die sich auf die System Property
python.security.respectJavaAccessibility=false
verlassen, um auf private Methoden und
Attribute von Klassen zuzugreifen, funktionieren nun auch mit Java 9 und höher.
- Web
Bei Webtests im CDP-Driver oder WebDriver-Verbindungsmodus konnten der Check und der
Komponenten-Aufnahmemodus nicht gleichzeitig aktiviert werden.
- Web
Die Ausführung von Mobile-Emulation-Tests im CDP-Driver-Verbindungsmodus wurde für neuere Chrome-Versionen
aktualisiert.
- Web
In speziellen Fällen kann nun die Ausführungsgeschwindigkeit von Tests für Web-Anwendungen durch
Nutzung von
MainTextResolver
oder WholeTextResolver
Varianten ohne
Standard-Parameter spürbar beschleunigt werden.
- Web
Bei Verwendung von @::-Syntax im
genericClasses
Parameter der Prozedur qfs.web.ajax.installCustomWebResolver
konnte in speziellen Fällen ungewollt eine CSS-Klasse als
Klasse des Knotens definiert werden.
- Android
Die Texteingabe für Android-Geräte mit API-Version 33 und höher wurde verbessert.
Neue Features:
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 20 basieren.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.27 bzw. "2023-03" basieren.
-
Das mit QF-Test ausgelieferte JRE wurde zu Zulu OpenJDK Version 8_362 aktualisiert.
-
Groovy wurde auf Version 4.0.10 aktualisiert.
-
Die eingebettete JUnit Bibliothek wurde auf Version 5.9.2 aktualisiert.
- Web
QF-Test nutzt nun bei Chromium-basierten Browsern deren "neuen Headless-Modus".
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.29 und 7.30.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.32.2 aktualisiert.
- Web
QF-Test kann nun auch das Öffnen eines externen Browsers abfangen, wenn dies in der Anwendung über die
Methode
Desktop.open()
ausgelöst wurde.
Beseitigte Bugs:
-
Jython funktioniert nun auch mit Java 9 oder höher, wenn die System-Property
python.security.respectJavaAccessibility
auf false
gesetzt wird, um private
Methoden und Attribute von Klassen direkt ansprechen zu können.
-
Die SAX-Variante der Prozedur
qfs.utils.xml.compareXMLFiles
in der Standardbibliothek
qfs.qft
ignoriert nun Leerzeichen am Anfang und Ende des noCheck
Parameters.
- Web
Bei Tests mit dem WebDriver-Verbindungsmodus waren teilweise Dialoge nicht sichtbar, die aus IFRAMEs
heraus aufgerufen wurden.
- Web
Im CDP-Driver-Verbindungsmodus unter Windows fokussierte QF-Test vor dem Abspielen eines harten Events
nicht den korrekten Browser-Tab. Außerdem blieben nach Downloads leere Tabs manchmal offen.
- Electron
Es ist nun möglich, das Arbeitsverzeichnis für den Start einer Electron-Anwendung zu setzen.
-
Das Modul
qf
steht jetzt auch in JUnit Groovy Skripten zur Verfügung.
Neue Features:
-
Das mit QF-Test ausgelieferte JRE wurde zu Zulu OpenJDK Version 8_352 aktualisiert.
-
Für das SUT unterstützt QF-Test nun auch das Semeru OpenJDK von IBM.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.26 bzw. "2022-12" basieren.
-
Im Handbuch sind in Kapitel 31 nun Informationen zu den offiziellen QF-Test Docker
Images zu finden.
-
Mit den neuen Methoden
rc.pushOption
und rc.popOption
können Optionen nun
zeitweise überschrieben werden, ohne bestehende Werte zu beeinflussen. Die Prozeduren in der
Standardbibliothek qfs.qft
nutzen nun diese Methoden anstelle der weniger geeigneten
setOption
/unsetOption
.
-
Bei der Aufnahme von SmartIDs (vgl. Abschnitt 5.6) bestimmt nun die Option Für SmartID immer die Klasse aufnehmen, ob immer die Klasse vorangestellt wird. Diese ist standardmäßig aktiv, da
damit neben der Klarheit auch die Performanz bei der Wiedergabe deutlich verbessert werden kann.
-
Die eingebettete JUnit Bibliothek wurde auf Version 5.9.1 aktualisiert.
- Web
Die eingebettete cdp4j-Bibliothek wurde auf Version 6.2.0 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.28.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.32.0 aktualisiert.
- Web
Der CustomWebResolver für Angular Material wurde für die aktuelle Version des Frameworks aktualisiert.
- Web
In Web-Tests mit dem CDP-Driver-Verbindungsmodus kann nun auch der Druckdialog von QF-Test gesteuert werden.
- Web
Ein Auswahl-Event vom Typ "reload" kann nun gleichbedeutend zum Typ "refresh" verwendet werden, um die
angezeigte Webseite erneut zu laden.
- Electron
Die Prozeduren im Package
qfs.web.browser.external
in der Standardbibliothek
qfs.qft
, mit deren Hilfe Starts von externen Browsern aus dem SUT abgefangen und zu QF-Test
umgebogen werden können, unterstützen nun auch Electron-Anwendungen.
Beseitigte Bugs:
- Web
Das automatische Mapping für Tables und TreeTables im Web-Resolver für Primefaces wurde für Primefaces
Version 12.0 aktualisiert.
- Web
Chrome konnte im QF-Driver-Verbindungsmodus in speziellen Fällen abstürzen, wenn das Laden einer Webseite
fehlschlug.
- Android
In seltenen Fällen konnten spezielle Zeichen im Text von Android Komponenten die
Verbindung zum Android-Gerät beenden.
Neue Features:
-
Das mit QF-Test ausgelieferte JRE wurde zu Zulu OpenJDK Version 8_345 aktualisiert.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.25 bzw. "2022-09" basieren.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.27
-
Es wurden die Methoden
getFirstChild
, getNextSibling
, getPreviousSibling
,
getFirstElementChild
, getNextElementSibling
und getPreviousElementSibling
zur Pseudo DOM-API von QF-Test
hinzugefügt. Details hierzu finden Sie in Abschnitt 53.11.1.
Beseitigte Bugs:
- Web
Beim Hochladen einer Datei im CDP-Driver-Verbindungsmodus wird nun eine TestException geworfen, wenn die
angegebene Datei nicht vorhanden ist.
- Web
In seltenen Einzelfällen ging bei der Aufnahme von Mausklicks in Web-Anwendungen die Information über
Unterelemente verloren.
- Web
Vereinzelt wurde das Browserfenster fälschlicherweise aufgrund eines WebDriver Timeouts für einen
anderen Frame geschlossen.
- Web
Overlays in Web-Anwendungen, die mit dem Angular-Framework erstellt sind, wurden teilweise nicht korrekt
erkannt.
- SWT
Für SWT-Anwendungen unter Linux wurde bei der Wiedergabe einer Auswahl für ein ToolItem in einem
vertikalen ToolBar ggf. das falsche Item ausgelöst.
Neue Features:
-
Das saubere Beenden von laufenden QF-Test Instanzen - insbesondere im Batchmodus - wurde deutlich verbessert.
Mit den neuen Kommandozeilenargumenten
-allow-shutdown [<Shutdown-ID>]
und -shutdown <ID>
können nun einzelne
Prozesse dediziert über ihre Prozess-ID oder eine vorher vergebene Shutdown-ID angesprochen werden. Die
früheren Kommandozeilenargumente -allowkilling
und -kill-running-instances
funktionieren
noch, sind aber abgekündigt.
-
Das Kommandozeilenargument
-clearglobals
funktioniert nun auch im Calldaemon-Modus (siehe Abschnitt 24.2.2). Hierfür wurde die DaemonRunContext
API um zwei neue Methoden
erweitert, setGlobals
und clearGlobals
(siehe Abschnitt 54.2).
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.26.
-
Die schnellere Variante der Prozedur
qfs.utils.xml.compareXMLFiles
in der
Standardbibliothek qfs.qft
unterstützt nun ebenfalls das Sortieren.
-
Bei speziellen Merkmalen von Komponenten wie "Tab: some tab" oder "Label: some label" kann für SmartIDs
das vorangestellte "Tab:", "Label:" etc. nun weggelassen werden. Details zur Syntax von SmartIDs finden
Sie in Abschnitt 5.6.
Beseitigte Bugs:
-
Beim Protokollieren von Abbildern für einzelne Fenster nahm QF-Test fälschlicherweise auch Bilder für
eingebettete Fenster von anderen GUI-Engines auf.
-
Beim Bearbeiten von Optionen wird nun die doppelte Vergabe von Hot-Keys verhindert.
- Web
Die Pseudo-DOM Methode
DomNode.getElementsByTagName
gibt nun auch "Slotted Elements" zurück.
- Web
Text aus "Slotted Elements" wurde für das Merkmal von Web-Komponenten nicht berücksichtigt.
- Web
Im Direkt-Download-Modus werden die vorhandenen Dateien nicht mehr überschrieben, sondern bekommen
eindeutige Namen.
- SWT
Für SWT unter Windows ist die Wiedergabe von TAB Tastendrücken nun deutlich schneller.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.24 bzw. "2022-06" basieren.
-
Mit einer neuen Variablengruppe können Sonderzeichen in SmartIDs bequem geschützt werden.
${quotesmartid:...}
kümmert sich um die Zeichen '@', '&' und '%' für Unterelemente
ebenso, wie um die speziellen SmartID Zeichen ':', '=', '<' und '>'.
Beseitigte Bugs:
- Android
Die Texteingabe für Android-Anwendungen wurde verbessert.
- Web
In Web-Anwendungen wurde ein GenericClassNameResolver, der für "DOM_NODE" registriert war, nicht korrekt
aufgerufen.
- SWT
Bei der Eingabe von Text mittels einzelner Events für SWT-Anwendungen unter Ubuntu 22 konnte die
Reihenfolge der eingegebenen Zeichen durcheinander geraten. QF-Test spielt diese Events nun mit verbesserter
Synchronisation ab.
- Web
Die Unterstützung von Firefox im Verbindungsmodus QF-Driver, der auf Firefox bis Version 43 limitiert war,
ist nun abgekündigt und wird in einer der nächsten QF-Test Versionen entfernt. Bitte verwenden Sie
stattdessen aktuelle Firefox Versionen mit dem Verbindungsmodus WebDriver.
- Web
Die Unterstützung von Internet Explorer, der nun offiziell eingestellt wird, ist abgekündigt und wird in
einer der nächsten QF-Test Versionen entfernt.
- Web
Die Unterstützung von Opera im Verbindungsmodus WebDriver ist nun abgekündigt und wird in einer der
nächsten QF-Test Versionen entfernt. Bitte verwenden Sie stattdessen den Verbindungsmodus CDP-Driver.
- Web
Beim Test von Web-Anwendungen im CDP-Driver oder WebDriver-Verbindungsmodus werden Slottable Nodes nun
nicht mehr als direkte Kinder des Host Node aufgeführt, sondern als Kinder des zugewiesenen Slot Node. Es
ist unwahrscheinlich, dass diese Änderung bestehenden Tests schadet - falls doch, setzen Sie sich bitte
mit dem Support von QFS in Verbindung.
- Swing
Die interne Adressierung von Spalten in einer Swing JTable Komponente wurde von model-basiert auf
view-basiert umgestellt. Dies hat keine Auswirkung, wenn Spalten mit textuellem Index @... oder
%... angesprochen werden oder wenn die Sortierung der Spalten in Model und View übereinstimmt. Falls ein
auf numerischen Spaltenindizes &... basierender Test fehlschlägt, können Sie alternativ zur Anpassung
der Indizes das alte Verhalten mit folgendem SUT-Skript wiederherstellen:
rc.setOption(Options.OPT_SWING_TABLE_USE_VIEW_COLUMN, false)
.
- Windows-Tests
Die interne API der UI-Automation-Bibliothek wurde überarbeitet, um die dort verwendeten Klassennamen zu
vereinfachen (aus "AutomationWindow" wurde zum Beispiel einfach "Window"). Wenn Sie das
uiauto
Modul direkt in Ihren Skripten verwenden und dort Klassen direkt referenzieren, müssen
Sie ggf. die Klassennamen entsprechend der aktualisierten JavaDoc anpassen.
Neue Features:
-
Mit der neuen Android Engine können mit QF-Test nun Android-Anwendungen im Emulator oder auf echten Geräten
getestet werden. Nähere Informationen finden Sie in Kapitel 16.
-
Auch wenn QF-Test noch mit JRE Version 8 - aktuell auf Stand 8_332 - ausgeliefert wird, kann QF-Test bereits mit
Java 17 gestartet werden (siehe Kommandozeilenargument
-java <Programm>
(abgekündigt)). Damit erhalten Sie eine gestochen
scharfe Darstellung auf skalierten Monitoren sowie die Möglichkeit, Plugins zu nutzen, die eine neuere
Java-Version benötigen.
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 19 basieren.
-
Um die Wahrscheinlichkeit zu reduzieren, dass während eines Testlaufs versehentlich sensible Daten als
Screenshot aufgenommen werden, erstellt QF-Test nun nur noch Screenshots von relevanten Bildschirmen, auf
denen ein Fenster von QF-Test oder einem verbundenen SUT dargestellt werden. Diese Default-Einstellung ist
sinnvoll für die persönliche Arbeitsumgebung. Für reine Testsysteme kann es sinnvoll sein, diese über die
neue Option Abbilder auf relevante Bildschirme beschränken zu deaktivieren.
-
Der HTML-Report wurde gründlich überarbeitet. Neben einem ansprechenderen Design in vielen kleinen Details
zur besseren Lesbarkeit werden Bildschirmabbilder und Fehlermeldungen nun beim Anklicken als Overlay
dargestellt, inklusive Navigation zwischen mehreren Abbildern.
-
Die Erstellung von Reports kann nun auch über einen neuen Button in der Werkzeugleiste des
Protokoll-Fensters ausgelöst werden.
-
In Reports wird nun der Name einer Testsuite, der im Attribut 'Name' des Wurzelknotens angegebenen
werden kann, anstelle ihres Dateinamens verwendet. Dies kann im Dialog zur Generierung von Reports
eingestellt werden bzw. im Batchmodus über das neue Kommandozeilenargument
-report-include-suitename
.
-
Zum besseren Verständnis des Laufzeitverhaltens eines Tests kann nun im Protokoll die Anzeige der
relativen Dauer von Knoten über einen neuen Button in der Werkzeugleiste oder das »Ansicht« Menü aktiviert werden. Weitere Optionen finden Sie in Abschnitt 7.1.3 sowie bei den Optionen Relative Dauer anzeigen und
Anzeigeform für relative Dauer.
-
Nach Aktivieren der neuen Option Bei Warnungen Screenshots erstellen werden Bildschirmabbilder
auch für Warnungen im Protokoll erstellt, zusätzlich zu denen für Fehler und Exceptions.
-
Knoten einer Testsuite können nun über das @link Doctag mit externen Ressourcen oder Dateien verknüpft
werden. Per Rechts-Klick kann das Ziel dann im Browser oder mit dem Dateityp assoziierten Anwendung
geöffnet werden. Weitere Informationen finden Sie in Doctags für Reporting und Dokumentation.
-
Groovy wurde auf Version 4 aktualisiert.
-
Die neuen Parameter
warningDelay
und errorDelay
in der Prozedur qfs.utils.logMemory
in der Standardbibliothek qfs.qft
steuern eine kurze
Verzögerung bei Überschreitung von warningLimit
oder errorLimit
, gefolgt von
einer weiteren Garbage-Collection und einer erneuten Prüfung.
-
Die Performanz und das Speicherverhalten der Prozedur
qfs.utils.xml.compareXMLFiles
wurden verbessert.
- Web
Die Darstellung und "Schwuppdizität" der Hervorhebungen im Check-Modus wurde im CDP-Driver und WebDriver
Verbindungsmodus verbessert.
- Web
Die Verarbeitung von WebComponenten mit ShadowDOMs und Slots wurde für den Test von Web-Anwendungen im
CDP-Driver und WebDriver-Verbindungsmodus verbessert (Im QF-Driver Modus noch in Entwicklung):
Shadow Root Nodes werden jetzt als einziges Kind des entsprechenden Host Node aufgeführt und Slotted
Nodes werden als Kinder des zugewiesenen Slot Node repräsentiert.
- Web
Das Abrufen von Text im CDP-Driver-Verbindungsmodus ist nun signifikant schneller und die DOM Hierarchie
ist konsistent mit den anderen Verbindungsmodi.
- Web
Abbild-Checks in "headless" Browsern sind nun performanter.
- Web
QF-Test unterstützt nun mehrere parallele Downloads in Webtests mit dem CDP-Driver-Verbindungsmodus.
- Web
Die neue Prozedur
qfs.web.browser.settings.setDirectDownload
in der
Standardbibliothek qfs.qft
erlaubt, Dateien direkt ohne Download-Dialog in das angegebene
Verzeichnis zu speichern. Aktuell ist diese Funktion nur für den CDP-Driver-Verbindungsmodus verfügbar.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 100 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.23 und 7.24.
- Web
Die eingebettete cdp4j-Bibliothek wurde auf Version 5.5.0 aktualisiert.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.31.0 aktualisiert.
- Web
Die Methode
FrameNode.getFrameElement()
wurde der QF-Test Pseudo-DOM API hinzugefügt.
- Web
Über den Parameter
consoleOutputValue
der Prozeduren qfs.web.browser.settings.doStartupSettings
und qfs.web.browser.settings.setTerminalLogs
in der Standardbibliothek qfs.qft
kann nun
auch der Typ der Terminalausgaben definiert werden.
- Windows-Tests
Die eingebettete UI-Automation-Bibliothek wurde auf Version 0.7.0 aktualisiert.
- Mac
Die unter macOS beim Test mit Safari eventuell auftretenden Hinweis-Dialoge bezüglich der
Browser-Automatisierung werden nun von QF-Test automatisch behandelt, so dass sie die Testausführung nicht
mehr blockieren.
Preview Features:
Die folgenden Features sind noch nicht vollständig umgesetzt, aber bereits so weit ausgereift, dass sie
großen Mehrwert bringen und die freigegebenen Funktionen ohne Sorge um Rückwärtskompatibilität genutzt
werden können.
-
SmartIDs ermöglichen eine flexible, einfache Wiedererkennung von Komponenten direkt aus der 'QF-Test ID der Komponente',
ohne vorher Information über Komponenten aufzuzeichnen. Detaillierte Informationen hierzu finden Sie in
Abschnitt 5.6 und 'Komponente'-Knoten versus SmartID.
-
Dank der neuen Integration mit Robot Framework können QF-Test Prozeduren als
Robot Framework Keywords verwendet werden.
Beseitigte Bugs:
- Windows-Tests
Die Mini-Installer Dateien für Windows -
minisetup.exe
und minisetup_admin.exe
-
können nun wie die gesamte Installation im silent und very-silent Modus ausgeführt werden.
- Mac
QF-Test konnte beim Abspielen harter Tastaturevents unter macOS abstürzen.
-
Bei Verwendung von geteilten Protokollen wurde die Maximalzahl von Bildschirmabbildern bei ausgeschalteter
Option Bildschirmabbilder für geteilte Protokolle separat zählen nicht immer eingehalten.
-
Die Prozedur
qfs.autowin.acrobat.saveAsText
in der Standardbibliothek
qfs.qft
funktioniert nun auch für Acrobat Reader Versionen 22.1 und höher.
-
Die Ausführung von
rc.clearTestRunListeners
in einem Server-Skript unterbrach bei einem
Aufruf im Batchmodus mit dem -verbose [<level>]
Kommandozeilenargument die Ausgaben.
- Web
Die Erkennung des Chrome-Fensters für semiharte Klicks wurde verbessert.
- Web
Für aktuelle Opera Versionen wird im WebDriver-Verbindungsmodus nun der automatische
Download der benötigten ChromeDriver Version unterstützt.
- Electron
Beim Test einer Electron-Anwendung im CDP-Driver-Verbindungsmodus wurde die Fenstergröße versehentlich
beim Start automatisch angepasst.
- Electron
Popups wurden nicht erkannt, wenn eine Electron-Anwendung im CDP-Driver-Verbindungsmodus getestet wurde.
Neue Features:
-
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.23 bzw. "2022-03" basieren.
-
QF-Test unterstützt nun auch Tests mit JxBrowser 7.22.
Beseitigte Bugs:
-
In sehr speziellen Fällen konnte die Wiederausführung eines Knotens, ausgelöst durch das @rerun Doctag, zu
falschen Werten auf dem Variablen-Stapel führen.
Neue Features:
- Web
QF-Test unterstützt nun Tests mit Opera 84.
- Web
Der Kendo UI und Smart GWT CustomWebResolver wurden für die aktuelle Version des jeweiligen Frameworks
aktualisiert.
- Web
Die eingebettete cdp4j Bibliothek wurde auf Version 5.5.0 aktualisiert.
- Web
Die QF-Test Pseudo-DOM-API wurde um die Methode
FrameNode.getFrameElement()
ergänzt.
- Web
Bei der Prozedur
qfs.web.browser.settings.setTerminalLogs
in der Standardbibliothek
qfs.qft
kann nun über den Parameter consoleOutputValue
auch der Typ der
Terminal-Logs definiert werden.
Beseitigte Bugs:
- Web
Unter Windows wurden für Chrome und Edge ab Version 98 die Cookies beim Browserstart nicht korrekt
gelöscht.
- Web
Beim Umsortieren der Elemente einer Webseite wurde die Sortierung in QF-Test vereinzelt inkorrekt
synchronisiert.
-
Die Prozedur
qfs.daemon.startRemoteSUT
in der Standardbibliothek qfs.qft
funktionierte nicht korrekt, wenn der QF-Test Daemon mit einem Keystore zur Absicherung der Kommunikation
via TLS gestartet wurde.
- Swing
Bei der Ermittlung des Merkmals einer Swing Komponente hatte durch einen Fehler in den QF-Test Versionen
5.3.4 bis 5.4.1 ein Tooltip eine höhere Gewichtung als ein explizit zugewiesenes Label.
Neue Features:
- Web
QF-Test unterstützt nun Tests mit Opera 83.
- Web
Die eingebettete cdp4j Bibliothek wurde auf Version 5.4.1 aktualisiert.
Beseitigte Bugs:
- Web
Im CDP-Driver-Verbindungsmodus konnte QF-Test 5.4.0 vereinzelt Elemente auf einer Webseite nicht finden,
die nach dem Laden der Seite hinzugefügt wurden.
- Web
Es ist nun möglich, auch dann Console-Log-Ausgaben eines Browsers, der mit dem CDP-Driver-Verbindungsmodus
gestartet wurde, im QF-Test Terminal auszugeben, wenn diese nicht vom Typ String sind.
- Web
Die Chrome-DevTools können nun abgekoppelt werden, wenn ein Web-Test im CDP-Driver-Verbindungsmodus
entwickelt wird.
- Electron
In einigen Fällen wurden Dialoge in Electron-Anwendungen im WebDriver-Verbindungsmodus nicht korrekt
geschlossen.
- Electron
Die Verbindung zu einer Electron-Anwendung konnte im CDP-Driver-Verbindungsmodus unter Windows nicht
hergestellt werden, falls die Anwendung langsam startete.
- Mac
Der Befehl
automac.sendText
führte auf neueren macOS-Systemen zu einem Absturz von QF-Test.
- Mac
${qftest:os.version}
liefert jetzt für Windows 11 sowie macOS 11 und neuer korrekte Werte.
-
Es wurde ein Fehler im
qftest
Startskript für Linux beseitigt. Durch diesen wurden beim
Verarbeiten von Kommandozeilenargumenten mit einem geschützten $-Ausdruck im Wert eines -variable oder
-option Arguments der $-Ausdruck versehentlich expandiert.
- Swing
Für Komponenten in einer Swing
JScrollPane
, insbesondere JTree
und
JTable
, war die Zuordnung des weiteren Merkmals qfs:label inkonsistent.
- Web
Tests mit dem Browser Microsoft Edge (Legacy) werden nicht mehr unterstützt, da diese Version des Edge
Browsers endgültig eingestellt wurde. Dies beeinflusst in keiner Weise die Unterstützung des aktuellen
Microsoft Edge Browsers.
- Web
Bei der Ausführung des Knotens 'Warten auf Laden des Dokuments' wird nun besser geprüft, ob ein Dokument
tatsächlich neu geladen wurde. Wenn ein bestehender Test bisher die schwache Prüfung voraussetzte,
können dort nun Fehler bei der Testausführung auftreten. In solchen Fällen ist es ratsam, die betroffenen
'Warten auf Laden des Dokuments' Knoten zu überprüfen und ggf. zu deaktivieren bzw. zu löschen oder durch
'Warten auf Komponente' Knoten zu ersetzen. Alternativ kann das alte Verhalten durch Aktivieren der Option
Internen Ladestatus von Web-Dokumenten beim Rescan zurücksetzen (vor 5.4) wiederhergestellt werden.
- Web
Bei Web-Anwendungen werden nun automatisch die Attribute "aria-checked" und "aria-selected" für
'Check Boolean' Knoten vom Typ selected bzw. checked berücksichtigt.
Neue Features:
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 18 basieren.
- Electron
Electron-Anwendungen können nun über den CDP-Driver-Verbindungsmodus getestet werden, was wesentlich
effektiver ist und keine Einbindung des problematischen Moduls @electron/remote in die zu testende
Electron-Anwendung erfordert.
-
Im Dialog für die Einstellungen von QF-Test wird nun eine Suchfunktion angeboten.
-
Man kann nun Abbilder von und nach QF-Test kopieren, insbesondere bei 'Check Abbild' Knoten und
Bildschirmabbildern im Protokoll.
- 'Mausevent' Knoten mit einem Wert von 4 im Attribut 'Modifiers',
entsprechend einem Klick mit der rechten Maustaste, werden im Baum nun als "Rechtsklick" dargestellt.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 95 aktualisiert.
-
Groovy wurde auf Version 3.0.9 aktualisiert.
-
Die JUnit Bibliothek wurde auf Version 5.8.1 aktualisiert.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.22 bzw. "2021-12" basieren.
- Web
QF-Test unterstützt nun Tests mit Opera 80, 81 und 82.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.20 und 7.21.
- Web
Für eine Web-Anwendung kann das Attribut 'Name des Check-Typs' eines 'Check Boolean'
Knotens nun auch den Wert "attribute:<name>" haben, um den Wahrheitswert des Attributs <name>
im Zielknoten zu prüfen.
-
Das neue Doctag @outputFilter kann in Knoten zum Start eines Clients verwendet werden, um unerwünschte
Ausgaben aus dem QF-Test Terminal zu filtern. Weitere Informationen hierzu finden Sie in Abschnitt 61.3.
-
Wenn das Attribut 'Defaultwert' in einem 'Variable setzen' Knoten die QF-Test ID einer
Komponente in der Form ${id:...} enthält, kann nun über einen Rechts-Klick und entsprechende Auswahl im
Kontextmenü zur Zielkomponente gesprungen oder diese im SUT hervorgehoben werden.
Beseitigte Bugs:
-
Die Suche nach ungenutzten aufrufbaren Knoten berücksichtigte nicht alle Referenzen und konnte somit
Knoten melden, die eigentlich noch benötigt wurden.
-
QF-Test versucht nun zu vermeiden, dass Nicht-Daemon-Threads im SUT erzeugt werden - einschließlich der vom
RMI Modul generierten Threads. Solche Threads konnten verhindern, dass ein Prozess nach Schließen des
letzten Fensters im SUT sauber terminiert.
-
Performanz und Speicherverbrauch wurden an diversen Stellen verbessert.
- Swing
Der Titel eines Swing
JPanel
mit einer TitledBorder
wird nun korrekt als Merkmal
ermittelt.
- Swing
Die Reihenfolge der Komponenten in einer Swing
JSplitPane
konnte von der Reihenfolge der
Erzeugung oder des Austauschens dieser Komponenten abhängen. QF-Test nimmt nun unabhängig davon immer die
Reihenfolge links->rechts bzw. oben->unten.
- Web
QF-Test unterstützt nun auch den automatischen Download von ChromeDriver für die Google Chrome Varianten
"Dev" und "Canary".
- Web
Nach einer Frame-Navigation im CDP-Driver Modus zeichnete QF-Test Events vereinzelt nicht korrekt auf.
- Web
Es wurde eine Exception behoben, die zu Problemen bei der Initialisierung eines Dokuments im CDP-Driver
Modus führen konnte.
- Web
Das "label"-Attribute eines OPTION Elements wird nun bei der Ermittlung von dessen Namen berücksichtigt.
- Web
Wenn ein Browser-Fenster im CDP-Verbindungsmodus abstürzt wird nun automatisch ein Fehler geloggt und das
Fenster geschlossen.
- Web
Die Behandlung von Unload-Dialogen bei Web-Tests im CDP-Driver-Verbindungsmodus wurde verbessert.
- Web
Bei der Ausführung von Web-Tests mit einem headless Browser im CDP-Driver-Verbindungsmodus versucht QF-Test
nun nicht mehr, für Datei Up- oder Download temporär einen Swing Dialog anzuzeigen. Damit sollten reine
headless Web-Tests mit CDP-Driver im Batchmodus nun auch in einem Container komplett ohne X-Server
lauffähig sein.
- Web
Im CDP-Driver-Verbindungsmodus wurde die automatische Synchronisierung mit Animationen in Web-Anwendungen
wurde verbessert.
- Web
Konsolenausgaben von Firefox im Webdriver-Verbindungsmodus wurden in früheren QF-Test Versionen auf die
Standardausgabe des Prozesses umgeleitet, um diese auf JavaScript Fehler prüfen zu können. Aufgrund der
potenziell hohen CPU und Speicherbelastung wurde dieses Verhalten deaktiviert. Über den Parameter
consoleOutputValue
mit Wert 1 im Aufruf der Prozedur qfs.web.browser.settings.doStartupSettings
in der Standardbibliothek qfs.qft
kann es
wiederhergestellt werden.
Neue Features:
-
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.30.0 aktualisiert.
Beseitigte Bugs:
-
Es wurde ein Speicherleck in QF-Test beseitigt, welches mit Version 5.3.3 hereingekommen war.
-
Die Prozedur
qfs.autowin.acrobat.saveAsText
in der Standardbibliothek
qfs.qft
funktioniert nun auch für Acrobat Reader Versionen 21.6 und höher.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.21 bzw. "2021-09" basieren.
- Web
QF-Test unterstützt nun Tests mit Opera 78 und 79.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.17, 7.18 und 7.19.
- Web
Die integrierte cdp4j Bibliothek wurde auf Version 5.4.0 aktualisiert.
Beseitigte Bugs:
-
Der Dialog zum Bearbeiten der Details eines Knoten wird nun immer korrekt im Bereich der sichtbaren
Bildschirme angezeigt, auch wenn z.B. ein vorher angeschlossener Monitor entfernt oder auf eine
RDP-Session gewechselt wurde.
Beseitigte Bugs:
- Web
Einige Webseiten, die spezielle benutzerdefinierte HTML-Elemente enthalten, konnten nicht im CDP-Driver
Verbindungsmodus getestet werden.
- Web
Im CDP-Driver-Verbindungsmodus wurden in seltenen Fällen Leerzeichen im Text nicht korrekt eingelesen.
- Web
Im CDP-Driver-Verbindungsmodus wird das keyCode Feld von KeyEvents, die für Texteingaben generiert werden,
nun korrekt gesetzt.
- Web
Im CDP-Driver-Verbindungsmodus wurde die Position von Elementen in verschachtelten IFRAMEs fehlerhaft
berechnet.
- Web
Das Attribut 'Name des Browser-Fensters' im Knoten 'Warten auf Laden des Dokuments' wurde ignoriert.
Neue Features:
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 17 basieren.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.20 bzw. "2021-06" basieren.
-
Die Performanz im CDP-Verbindungsmodus bei dynamischen Änderungen des Webseiten-Inhaltes wurde verbessert.
-
QF-Test unterstützt nun auch Tests mit JxBrowser 7.16.
- Electron
QF-Test unterstützt nun auch Electron-Anwendungen mit Electron Version 14 oder neuer, wenn in die App das
@electron/remote
Modul eingebunden wurde.
-
QF-Test unterstützt nun auch Tests mit Opera 77.
Beseitigte Bugs:
- Web
Bei Web-Anwendungen wurde die Gültigkeit von Texteingaben via einzelner Events durch zusätzliche explizit
definierte Keycodes verbessert.
Jython Probleme mit Zeichenkodierungen wurden reduziert: Es ist nun möglich, Jython Literale (wörtliche
Zeichenketten wie "abc"
) als 16-Bit Unicode-Strings zu behandeln, entsprechend der
Darstellung in Java und damit QF-Test. Aus Kompatibilitätsgründen bleibt die neue Option Literale (wörtliche Zeichenketten) in Jython sind Unicode (16-Bit wie in Java) standardmäßig deaktiviert, falls QF-Test eine bereits bestehende ältere
Systemkonfiguration vorfindet.
In Abschnitt 11.3.4 finden Sie detaillierte Informationen darüber, warum Sie diese
Option aktivieren sollten und wie Sie mit eventuell daraus resultierenden Problemen umgehen. Die Chancen
stehen gut, dass Ihre Jython Skripte einfach funktionieren und der Umgang mit Zeichenketten deutlich
sauberer wird. Falls nicht, können Sie die Option wieder zurücksetzen oder die nicht kompatiblen Stellen
beheben. Wir mussten dies in unseren über 1600 Testsuiten, von denen manche über 20 Jahre alt sind, nur
in einer handvoll Fälle tun. Der Abschnitt Behandlung von Problemen mit Jython und Zeichenkodierungen
beschreibt die gängigen Problemfälle und natürlich ist unser Support immer für Sie da.
-
Das Standardverzeichnis für das Profil von Firefox heißt bei der Ausführung im WebDriver-Verbindungsmodus
nun nicht mehr
mozProfile
sondern firefoxProfile
und es wird nun direkt
verwendet statt als temporäre Kopie. Dieses Verhalten ist konsistent zur Testausführung mit QF-Driver, hat
aber den Nebeneffekt, dass Einstellungen nun von einem Test zum nächsten erhalten bleiben und bei Bedarf
beim nächsten Browser-Start passend überschrieben werden müssen. Um das ursprüngliche Verhalten wieder
herzustellen, muss die Option OPT_WEBDRIVER_COPY_MOZPROFILE
vor dem Start des Browsers auf
true
gesetzt werden.
-
Die Prozeduren im Package
qfs.utils.ssh
der Standardbibliothek qfs.qft
und das zu Grunde liegende Jython Modul ssh
wurden aktualisiert. Sie verwenden nun
standardmäßig RSA Public Key Authentication mit der privaten Schlüsseldatei /.ssh/id_rsa
statt des veralteten DSA, das von den meisten aktuellen ssh Servern nicht mehr unterstützt wird.
-
Die Option Kompakte Protokolle erstellen ist im interaktiven Modus nun standardmäßig deaktiviert.
Bestehende Systemkonfigurationen sind davon nicht betroffen und im Batchmodus hat die Option keine
Wirkung. Dort wird Kompaktifizierung über das Kommandozeilenargument
-compact
gesteuert.
Neue Features:
- Web
Der neue Browser-Verbindungsmodus CDP-Driver ergänzt QF-Driver und WebDriver zur Ansteuerung von Chromium
basierten Browsern über das Chrome DevTools Protokoll. Durch das direkte Ansprechen des Browsers ohne
Umweg über das WebDriver Protokoll sind Geschwindigkeit, Stabilität und Funktionsumfang vergleichbar mit
QF-Driver (und das nach dessen Performance-Optimierung, s.u.). Im Gegensatz zu QF-Driver, der auf Chrome
unter Windows beschränkt ist, funktioniert der CDP-Driver mit Google Chrome, Microsoft Edge und Opera
unter Window, Linux und macOS, was die Web-Testautomatisierung mit QF-Test auf eine neue Ebene hebt.
- Web
Die Performance von Web-Tests mit QF-Driver für Chrome wurde signifikant verbessert. Die beobachtete
Erhöhung der Geschwindigkeit liegt zwischen 10% und über 500%.
-
Die Oberfläche von QF-Test ist nun moderner, klarer und aufgeräumter, mit einem einheitlich flachen Look,
weniger Linien und wunderschönen neuen Icons, welche die bekannte Bildsprache beibehalten und damit sofort
wiedererkennbar bleiben. Auch die HTML-Versionen des Handbuchs und des Tutorials sowie der Reports und
Test-Dokumentation haben eine Auffrischung erhalten.
-
Die Verwendung internationaler Zeichensätze in Jython Skripten ist nun viel einfacher.
Wenn die neue Option Literale (wörtliche Zeichenketten) in Jython sind Unicode (16-Bit wie in Java) aktiviert ist, werden Literale
(wörtlich definierte String-Konstanten wie
"abc"
) in Jython Skripten als 16-Bit
Unicode-Strings interpretiert und sind damit äquivalent zu Strings in Java und den anderen Skriptsprachen
von QF-Test. Detaillierte Informationen hierzu finden Sie in Abschnitt 11.3.4.
- Web
Fehler in der Browser-Konsole werden nun besser erkannt und, je nach Einstellung der Option Behandlung von Fehlern in einer Web-Anwendung, in das QF-Test Protokoll übernommen. Zudem kann über die neue Prozedur
qfs.web.browser.settings.setTerminalLogs
in der Standardbibliothek
qfs.qft
eingestellt werden, ob und wie Meldungen der Browser-Konsole im QF-Test Terminal
angezeigt werden sollen.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 89 aktualisiert.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.29.1 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.14 und 7.15.
- Web
QF-Test unterstützt nun Tests mit Opera 76.
-
Das mit QF-Test ausgelieferte JRE wurde zu Zulu OpenJDK Version 8_292 aktualisiert.
-
Der Schnellstart-Assistent hat nun seinen eigenen Toolbar-Button. Dieser kann nun - wie jeder andere nicht
benötigte Toolbar-Button - per Rechts-Klick aus der Werkzeugleiste ausgeblendet werden.
-
Der 'Warten auf Verschwinden'-Knoten hat nun einen eigenen Eintrag im »Einfügen«
Menü und seine Anwendung auf Unterelemente wurde vereinfacht: Die Ausführung ist erfolgreich, sobald
entweder die Parent-Komponente des Unterelements nicht (mehr) vorhanden ist, oder das Unterelement selbst.
-
Bei einem Testlauf mit dem Kommandozeilenargument
-verbose [<level>]
werden QF-Test Variablen in den Namen von
Knoten nun auch für die Ausgabe in der Konsole expandiert.
-
Die Voreinstellung für den verfügbaren Arbeitsspeicher für QF-Test wurde auf 1024 MB hochgesetzt. Die
Konfiguration bestehender QF-Test Installationen ist davon nicht betroffen.
- Swing
Unterelemente von Swing
JComboBox
Komponenten können nun relativ zur JComboBox
adressiert werden, ohne dass die Popup-Liste dafür benötigt wird.
- Linux
Die Fähigkeit, Fenster des SUT bei Bedarf in den Vordergrund zu bringen und den Eingabefokus zu setzen
ist für eine stabile Testautomatisierung sehr wichtig. Unter Linux verwendet QF-Test nun eine aktualisierte,
zuverlässigere Methode, Fenster unabhängig von den Desktop-Einstellungen nach vorne zu bringen, sofern die
Option Beim Nach-vorne-Bringen Fenster in den Vordergrund zwingen nicht deaktiviert ist.
-
Meldungen für Exceptions im Protokoll oder in Fehlerdialogen werden nun an Wortgrenzen umgebrochen. Diese
Darstellung kann über die Option Zeilen in Meldungen für Exceptions umbrechen deaktiviert werden.
Beseitigte Bugs:
-
Das Einhängen eines Resolvers mit der generischen Methode
resovlers.addResolver()
funktionierte nicht in SUT-Skripten mit der Sprache JavaScript.
- Web
Die Zoomstufe des Browsers wird nun beim Löschen des Browser-Cache auf 100% zurückgesetzt.
-
Die Prozedur
qfs.swing.startup.startWebstartSUT
sorgt nun dafür, dass der
jnlp
Parameter für die Verwendung auf der Kommandozeile von Linux Systemen korrekt geschützt
wird, um Effekten durch eventuell enthaltene Sonderzeichen vorzubeugen.
- Windows-Tests
Das weitere Merkmal qfs:label wurde für Elemente in einem TabPanel einer nativen WPF-Anwendung mit
nicht korrekt ermittelt.
- Web
Seit QF-Test Version 5.2.2 wurden in vereinzelten Fällen Elemente einer Webseite fälschlicherweise als
unsichtbar eingestuft.
- Mac
QF-Test funktioniert nun auch wieder unter macOS Versionen älter als 10.14.
-
Die Suche nach dem weiteren Merkmal qfs:label ist bei einem Label oberhalb der Zielkomponente nun etwas
toleranter bezüglich der horizontalen Ausrichtung.
- Swing
Die schnelle Wiedergabe von mehreren Mausklicks auf dieselbe Stelle einer Webswing-Anwendung
konnte bei Umleitung über den Browser zu ungewollten Doppelklicks führen.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.19 bzw. "2021-03" basieren.
Beseitigte Bugs:
-
In einzelnen Fällen konnten unglücklich platzierte Kommentar Knoten unerwünschte Seiteneffekte bei der
Testausführung haben, z.B. die Ausführung eines 'Vorbereitung'- oder 'Aufräumen'-Knotens nur für den
Kommentar.
-
Das Timing beim Stoppen von Prozessen am Ende der Batchausführung wurde verbessert.
- Web
Im WebDriver-Verbindungsmodus wurden Veränderungen auf der Website eventuell übersehen, wenn die
Seite zu viele Elemente enthielt.
Neue Features:
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 16 basieren.
- Web
QF-Test unterstützt nun Tests mit Opera 74.
- Web
Der in QF-Test integrierte GeckoDriver wurde auf Version 0.29.0 aktualisiert.
-
Über die Tastenkürzel [Strg-/] bzw. [Strg-7] kann ein neuer Kommentarknoten im Baum der Testsuite eingefügt werden.
Beseitigte Bugs:
- Web
Die Geschwindigkeit der Ausführung von Web-Tests wurde an einigen Stellen verbessert, insbesondere für
Firefox unter Linux mit WebDriver.
- Web
In sehr seltenen Fällen wurde Chrome geschlossen, wenn während einer JavaScript-Ausführung ein Frame
neu geladen wurde.
- Web
Das verzögerte Anhängen von Shadow DOM-Elementen wird nun korrekt erkannt.
- Swing
In einzelnen Sonderfällen konnten bei der verbesserten Event-Synchronisation für Swing Events übersehen
werden, was zu langsamerer Testausführung führte.
-
Wenn ein 'Testfall' mit gesetztem Attribut 'Fehlschlagen erwartet wenn...' nicht fehlschlägt, sollte
das als Fehler behandelt werden. Dieser Fehler wurde fälschlicherweise seinerseits als erwarteter Fehler
angezeigt.
-
Die Reihenfolge von Parametern wird nun auch automatisch angepasst, wenn die Zielprozedur eines
'Prozeduraufruf' Knotens über den Auswahldialog geändert wird.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.18 bzw. "2020-12" basieren.
-
QF-Test unterstützt nun auch Tests mit JxBrowser 7.12.
Beseitigte Bugs:
-
Aufgrund von falschen Zugriffsrechten funktionierte Jython unter Linux nicht, wenn QF-Test von
verschiedenen Anwendern installiert und gestartet wurde.
-
Das mit QF-Test ausgelieferte JRE wurde zurück zu Zulu OpenJDK gewechselt. Die Version bleibt bei 8_275.
-
Manchmal führte die Anzeige eines JavaScript-Dialogs zu einem Deadlock.
-
Mehrere Details der Webswing Integration wurden verbessert, darunter das korrekte Filtern von KeyEvents,
Fokuswechsel für eingebettete JavaFX Komponenten und eine bessere Trennung der Client-Prozess in den
Demo-Testsuiten.
-
Die Daemon-Verbindung wurde teilweise nicht aufgebaut, wenn auf Client- und Serverseite unterschiedliche
Java-Versionen verwendet wurden.
-
Das Testen von Anwendungen, die mit Java 7 ausgeführt werden, wird nicht weiter unterstützt.
- Windows-Tests
Viele Prozeduren im Package qfs.qft.autowin in der Standardbibliothek wurden mit Hinblick auf die
wesentlich besser geeignete Windows-Engine abgekündigt.
-
Durch das Update des JRE von QF-Test werden Kurven und graphische Element im PDF-Client mit minimal anderem
Anti-Aliasing dargestellt. Dis kann zu Fehlern bei 'Check Abbild' Knoten führen. Nachdem solche
Probleme auch bei zukünftigen Updates des internen JRE nicht auszuschließen sind, setzen Sie für solche
Checks am besten das Attribut 'Algorithmus zum Bildvergleich' auf "algorithm=similarity;expected=0.98".
Neue Features:
-
QF-Test unterstützt nun das integrierte Testen von Swing und JavaFX-Anwendungen, die mit Hilfe der
Technologien Webswing oder JPro im Browser dargestellt werden. Erklärungen zum Konzept finden Sie in
Kapitel 19 und eine Webswing Demo-Testsuite über den Menüeintrag »Hilfe«-»Beispiel-Testsuiten erkunden...«, Eintrag "Webswing
SwingSet Suite".
- Mac
QF-Test wird nun durch Apple beglaubigt und startet somit auf modernen macOS Systemen ohne Warnmeldung.
- Web
QF-Test unterstützt nun auch Tests mit dem Microsoft Edge Browser unter Linux.
-
Das mit QF-Test ausgelieferte JRE wurde zu Liberica OpenJDK Version 8_275 aktualisiert.
- Web
Der eingebettete Chrome Browser für QF-Driver wurde auf CEF Version 85 aktualisiert.
-
Groovy wurde auf Version 3.0.6 aktualisiert.
-
Jython wurde auf Version 2.7.2 aktualisiert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.11
- Web
Der eingebettete Geckodriver wurde auf Version 0.28.0 aktualisiert.
- Web
QF-Test unterstützt nun Tests mit Opera 72.
- Web
Für den Mobile Emulation Mode wurden die Spezifikationen vieler neuer Geräte hinzugefügt.
-
Die JUnit Bibliothek wurde auf Version 5.7.0 aktualisiert.
- Web
Auf Windows Systemen mit skalierter Darstellung startet QF-Test einen Browser im QF-Driver Modus nun mit
aktiviertem Kompatibilitätsmodus, so dass die skalierte Darstellung transparent durch Windows erfolgt und
Tests mit Ausnahme von Abbild Checks analog zum unskalierten Modus funktionieren.
-
Beim Start von QF-Test können nun Optionen über das Kommandozeilenargument
-option <Name>=<Wert>
gesetzt
werden.
-
Kommandozeilenargumente für QF-Test können nun an beliebiger Stelle "." und "-" Zeichen enthalten. Zudem
können Groß- oder Kleinbuchstaben nach Belieben verwendet werden.
-
Beim Testen von Java-Anwendungen kann QF-Test nun Aufrufe abfangen, die ein natives Browserfenster öffnen, um
stattdessen einen von QF-Test gesteuerten Browser mit der entsprechenden URL zu starten. Beispiele finden Sie
in den Demo-Testsuiten "CarConfig Swing Testprojekt" und "CarConfig JavaFX Testprojekt", zu erreichen über das
Menü »Hilfe«-»Beispiel-Testsuiten erkunden...«.
-
Die neue Prozedur
qfs.utils.waitForClientOutput
in der Standardbibliothek
qfs.qft
unterstützt bei der Synchronisation mit Terminal-Ausgaben im SUT.
-
Viele neue Knotenkonvertierungen sind jetzt möglich.
-
Der 'Server-HTTP-Request' Knoten unterstützt nun auch die
PATCH
Methode.
-
Mit Hilfe der beiden neuen Prozeduren
qfs.utils.sendKey
und qfs.utils.sendText
in der Standardbibliothek qfs.qft
kann Text im aktuell
fokussierten Element des aktiven Fensters eingegeben werden.
-
Mit Hilfe der neuen Option Hinweis anzeigen, wenn keine Events aufgenommen wurden kann der "Es wurden keine Events
aufgenommen" Dialog unterdrückt werden.
-
Beim Zusammenführen von Protokollen im Batchmodus kann nun das Kommandozeilenargument
-mergelogs-masterlog [<Datei>]
mit dem Wert "append" für das Argument -mergelogs-mode [<Modus>]
kombiniert
werden. Die angehängten Protokolle werden dabei als externe Protokolle gespeichert, was den Bedarf an
Arbeitsspeicher sowohl für das Zusammenführen als auch das anschließende Öffnen des Protokolls minimiert.
-
Analog zu Jython können in Skript-Knoten mit Groovy und JavaScript nun wichtige Exceptions auch ohne
expliziten Import verwendet werden.
-
Beim Anpassen der Parameter von aufrufenden Knoten über das Menü »Operationen«-»Parameter von Referenzen anpassen« kann nun
explizit festgelegt werden, ob fehlende Parameter ergänzt, überzählige Parameter entfernt und/oder die
Reihenfolge der Parameter angepasst werden soll.
Beseitigte Bugs:
-
Wenn während eines automatischen Reruns das Protokoll geöffnet wurde, konnte es zu einer Exception kommen.
-
Verschlüsselte Verbindungen zum QF-Test Daemon können nun auch über die externe Daemon-API hergestellt
werden.
-
Beim Erstellen von Reports wurden Miniaturbilder selbst dann erzeugt, wenn -report-thumbnails nicht
angegeben war.
-
Der 'Unit-Test' Knoten unterstützt nun in Jython-Skripten den Befehl
self.assertEqual
korrekt.
-
Texteingaben in Swing und JavaFX Komponenten wurden bei Erkennung eines in Java eingebetteten Browsers
verlangsamt.
- Swing
Die Synchronisation von Events unter starker Last bei Swing basierten Anwendungen wurde verbessert.
- Swing
Zeilenumbrüche werden bei der Texteingabe mit Einzelevents für eine Swing JTextArea jetzt korrekt
wiedergegeben.
- Windows-Tests
Bei Windows-Anwendungen wurden Komponenten unter Umständen nicht sichtbar gescrollt, um einen harten
Mausklick oder einen Abbildcheck durchzuführen.
- Web
Bei einem Browser im WebDriver Modus konnte es nach einem fehlgeschlagenen Frame-Fokuswechsel zu einer
StackOverflowException kommen.
- Web
In einigen Fällen wurde der MSEdgeDriver nicht korrekt heruntergeladen.
- Web
Checks auf Elementen innerhalb eines Shadow DOMs konnten nicht aufgezeichnet werden.
- Web
Bedingte (unsichtbare) Trennstriche werden nun implizit ignoriert.
- Electron
In einigen Fällen wurden Dialoge in Electron-Anwendungen leer dargestellt.
- JavaFX
Die Sichtbarkeit von JavaFX Komponenten wurde gegebenenfalls nicht korrekt bestimmt, wenn diese in eine
Swing Komponente eingebettet waren.
- SWT
Bei SWT-Version 4.17 unter Windows wurden Highlight-Rechtecke für Menüs nicht richtig zurückgesetzt.
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.17 bzw. "2020-09" basieren.
Beseitigte Bugs:
-
In seltenen Fällen konnte QF-Test bei knappem Arbeitsspeicher während der Bildkomprimierung abstürzen.
Neue Features:
- Web
QF-Test unterstützt nun auch Tests mit Opera 70.
- Web
Der eingebettete GeckoDriver wurde auf Version 0.27.0 aktualisiert.
- Web
Für WebDriver-basierte Tests mit Chrome/Chromium wird die Seitenisolierung nun automatisch deaktiviert.
- Web
QF-Test unterstützt nun auch Tests mit JxBrowser 7.10.
-
Ein Link zur JavaScript Dokumentation wurde im Hilfe-Menü eingefügt.
Beseitigte Bugs:
-
Der 'Unit-Test' Knoten sucht auf dem Classpath nun auch nach JUnit 5 (Jupiter) Tests.
- Electron
In einigen Fällen wurden Klicks auf native Menüs in Electron-Anwendungen nicht korrekt aufgenommen.
- Web
Der Cache von Chromium-basierten Browsern wurde teilweise nicht korrekt gelöscht.
-
Die Option Attribut 'Lokale Variable' standardmäßig aktivieren wird nun auch beim Einfügen von kopierten
'Prozedur' Knoten als 'Prozeduraufruf', generell bei Knotenkonvertierungen sowie bei der
Aufnahme von Checks beachtet.
- Web
Wenn Embedded-Browser-Container (z.B. JxBrowser) gleichzeitig erstellt und gelöscht wurden, konnte es zu
einem Deadlock kommen.
- 'Kommentar' Knoten in der Procbuilder-Konfigurationsdatei konnten die Aufnahme von Prozeduren
behindern.
- Mac
Unter macOS werden JVM-Optionen (die mit "-J-" beginnen) nun korrekt ausgewertet.
- Windows-Tests
Die Texteingabe hat bei Windows-Anwendungen unter Umständen nicht richtig funktioniert, wenn die
AltGr-Taste beteiligt war.
- Web
Beim Test in einem fensterlosen Browser wurden die unsichtbaren Dialogfenster teilweise nicht
ordnungsgemäß geschlossen.
- Web
Bei Tests mit dem SWTBrowser konnte eine ClassNotFoundException auftreten.
-
Bei der Erstellung von Prozeduren mittels Procbuilder unter Verwendung von FORCECREATION wurden die
Trennpunkte der Packagestruktur in Unterstriche umgewandelt.
-
Bei der Generierung von Prozeduren mittels Procbuilder ist es nun auch möglich, Werte aus den
'Weiteren Merkmalen' von übergeordneten Knoten als Fallback zu verwenden.
Durch das Update des JRE von QF-Test werden Kurven und graphische Element im PDF-Client mit minimal anderem
Anti-Aliasing dargestellt. Dis kann zu Fehlern bei 'Check Abbild' Knoten führen. Nachdem solche
Probleme auch bei zukünftigen Updates des internen JRE nicht auszuschließen sind, setzen Sie für solche
Checks am besten das Attribut 'Algorithmus zum Bildvergleich' auf "algorithm=similarity;expected=0.98".
Das JRE Update kann außerdem zu Problemen bei der Kommunikation zwischen QF-Test und dem QF-Test Lizenzserver
führen, falls der Lizenzserver mit einer sehr alten Java-Version betrieben wird, die mit den
geforderten Schlüssellängen für SSL in aktuellen Java-Versionen nicht zurecht kommt. Am besten
aktualisieren Sie in diesem Fall den QF-Test Lizenzserver auf die aktuelle QF-Test Version und nutzen das
mitgelieferte JRE.
Die Bibliothek jniwrapper
wird standardmäßig nicht mehr geladen, da unsere alte
jniwrapper
Version QF-Test unter neueren JDKs zum Absturz bringt. Module mit nativen
Abhängigkeiten wie autowin
wurden umgeschrieben, so dass Sie nicht länger darauf aufbauen.
Zudem wurden alle Verweise auf jniwrapper
aus der Standardbibliothek qfs.qft
entfernt.
Falls Sie noch Skripte in Ihren Testsuiten haben, die jniwrapper nutzen, sollten Sie versuchen, diese
so umzuschreiben, dass die Abhängigkeit nicht mehr besteht. Bitte wenden Sie sich an unseren Support,
falls Sie dafür Hilfe benötigen.
Als Übergangslösung können Sie solche Skripte (mit alten JDKs bei denen jniwrapper nicht abstürzt) wie
folgt wiederbeleben:
-
Kopieren Sie die Dateien aus
misc/jniwrapper
im QF-Test Installationsverzeichnis nach
qftest
im QF-Test Plugin-Verzeichnis. Sie finden diese Verzeichnisse über den
»Hilfe«-»Info« Dialog im Reiter
'Systeminfo' als dir.version
und dir.plugin
.
-
Fügen Sie entweder ein Jython Server-Skript in Ihre Startsequenz ein mit
from com.jniwrapper import DefaultLibraryLoader
from java.io import File
DefaultLibraryLoader.getInstance().addPath \
(File(rc.lookup("qftest", "dir.plugin") + "/qftest"))
oder die folgende Groovy Variante
import com.jniwrapper.DefaultLibraryLoader
DefaultLibraryLoader.getInstance().addPath
(new File(rc.lookup("qftest", "dir.plugin") +
"/qftest"))
-
Der ChromeDriver für alte Chrome Versionen (älter als 72) wird nicht mehr mit QF-Test ausgeliefert.
-
Das Testen von Anwendungen mit Java 7 wird mit dieser QF-Test Version noch unterstützt. Allerdings ist die
weitere Unterstützung für Java 7 hiermit abgekündigt und wird mit QF-Test Version 5.2 eingestellt.
Video:
QF-Test 5.1.0.
Neue Features:
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 15 basieren.
-
Das mit QF-Test ausgelieferte JRE wurde zu Zulu OpenJDK Version 8_252 aktualisiert.
- Web
Die Aufnahme und Wiedergabe von Tests für eingebettete Browser wurde substantiell verbessert.
-
Es wird nun JxBrowser Version 7, eingebettet in Swing, JavaFX oder Eclipse/SWT-Anwendungen unterstützt.
- Electron
Bei Electron-Anwendungen werden nun auch native Dialoge unterstützt.
- Web
QF-Test unterstützt nun Tests mit Opera 69.
- Web
Die Unterstützung für das Webframework Qooxdoo wurde für Qooxdoo Version 6 aktualisiert.
-
HTML-Reports können nun mit Hilfe einer JavaScript-Datei namens
user.js
angepasst werden.
Weitere Informationen hierzu finden Sie in Abschnitt 23.1.4.
-
Das
automac
Modul wurde um Methoden zum Abspielen von Tastatur- und Mausevents erweitert.
Weitere Informationen finden Sie in Kapitel 52.
-
Dem Wurzelknoten einer Testsuite kann über das Attribut 'Name' nun ebenfalls ein Name
zugewiesen werden, der in der Baumansicht dargestellt wird.
-
Die neue Option Attribut 'Lokale Variable' standardmäßig aktivieren legt fest, ob das Attibut 'Lokale Variable' in
neu erstellten Knoten aktiv vorbelegt wird.
-
Die Prozedur
qfs.utils.dragAndDrop
in der Standardbibliothek qfs.qft
hat
einen neuen optionalen Parameter eventDelay
zur Steuerung der Wiedergabegeschwindigkeit.
-
Es ist nun möglich einen 'CSV-Datei' Knoten in einen 'Excel-Datei' Knoten zu
konvertieren und umgekehrt.
-
Testsuite-Reiter können nun über die Tastenkombinationen [Umschalt-Strg-Bild hoch] und [Umschalt-Strg-Bild runter] nach links oder rechts
bewegt werden.
Beseitigte Bugs:
Neue Features:
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.16 bzw. "2020-06" basieren.
-
Die mitgelieferte Bibliothek
jsch.jar
, die vom Package qfs.utils.ssh
in
der Standardbibliothek qfs.qft
benötigt wird, wurde zu Version 0.1.55 aktualisiert, um
moderne Linux Systeme wie Ubuntu 20 zu unterstützen.
Beseitigte Bugs:
-
Die eingebettete WebP Grafik-Komprimierungsbibliothek wurde auf Version 1.0.0 zurückgestellt um
Inkompatibilitäten zu vermeiden.
- Web
Die Komponentenerkennung ist fehlgeschlagen wenn Komponenten nicht ganzzahlige Größen hatten.
-
Ein Aufruf von
rc.callProcedure
in den Parametern eines 'Prozeduraufruf' Knotens konnte
in seltenen Fällen dazu führen, dass die globalen Variablen vom Variablen-Stapel verschwinden.
-
Die spezielle Syntax ${qftest:engine.<componentid>} zur Bestimmung der GUI-Engine einer Komponente
funktioniert jetzt auch falls <componentid> ein '@', '%' oder '&'-Zeichen enthält.
-
Durch Selektieren eines Wertes in der Fehlerliste eines Protokolls und anschließende doppelte
Ausführung von "Als Filter setzen" konnte zu einer ArrayIndexOutOfBoundsException führen.
Neue Features:
-
Die WebP Grafik-Komprimierungsbibliothek wurde auf Version 1.1.0 aktualisiert.
-
Die Wiedergabe von Tastaturevents im JXBrowser ist nun stabiler.
-
Der Kontrast von Icons in der Werkzeugleiste wurde verbessert, insbesondere für deaktivierte Buttons.
-
QF-Test unterstützt nun Tests mit Opera 68.
Beseitigte Bugs:
-
Angular 9 wird nun korrekt automatisch erkannt.
-
Der 'CSV-Datei' Knoten liest eine UTF-8 kodierte CSV-Datei mit BOM nun auch dann richtig ein,
wenn diese mit einem geschützten komplexen Ausdruck beginnt.
- Windows-Tests
Der 'Windows-Anwendung starten' Knoten kann nun wieder über eine im Attribut 'Fenstertitel' angegebene
Klasse (-class) die Verbindung mit einem Client herstellen.
-
Die Fehlerbehandlung und Wiederholung im Fall eines fehlerhaften automatischen Downloads von WebDriver
Bibliotheken wurde verbessert.
- Windows-Tests
Komponentenaufnahme mit flacher Hierarchie hat nicht funktioniert.
-
Der PDF-Client kann jetzt Text Komponenten prüfen, die ausschließlich aus null-Zeichen "\u0000"
bestehen und behandelt diese als Leerstring.
Neue Features:
- Windows-Tests
Es wurde eine neue Demo-Testsuite für die "Windows 10"-Anwendung "Rechner" hinzugefügt.
-
QF-Test unterstützt nun Opera 67 mit dem Operadriver 80.0.3987.100.
- SWT
QF-Test unterstützt nun auch Tests für Anwendungen, die auf Eclipse/SWT 4.15 bzw. "2030-03" basieren.
Beseitigte Bugs:
- Windows-Tests
Bei der Komponentenaufnahme (Ganzes Fenster) wurden Elemente innerhalb eines WPF TabPanels weggelassen.
-
Die Prozedur
qfs.database.executeSelectStatement
funktioniert nun wieder mit
Datenbanken, die einen expliziten db.commit()
Befehl benötigen.
-
Bei Ausführung eines 'Server-HTTP-Request' Knotens wurde fälschlicherweise bei einem Server-Fehler der
Rückgabewert nicht in eine Variable geschrieben.
- JavaFX
Bei der Berechnung eines Hashwerts für eine JavaFX Grafik konnte eine NullPointerException im Terminal
erscheinen.
- Windows-Tests
Ein Windows TextField wurde eventuell vor der Texteingabe nicht geleert.
- Windows-Tests
In WPF Windows-Anwendungen konnte gelegentlich fälschlicherweise eine ModalDialogException geworfen
werden.
Hinweis
Eine detaillierte Aufstellung der Neuigkeiten finden Sie in den Release Notes für QF-Test Version 5.0.0 weiter
unten.
Die folgenden neuen Features wurden für Version 5 von QF-Test implementiert:
Änderungen mit möglichen Auswirkungen auf die Testausführung:
Nicht mehr unterstützte Software:
Hinweis
Eine detaillierte Aufstellung der Systemvoraussetzungen und der unterstützten
Technologieversionen finden Sie in Abschnitt 1.1.
-
Das Testen von Anwendungen mit Java 6 wird nicht mehr unterstützt.
Neue Features:
-
Mit der neuen Windows Engine kann QF-Test nun native Windows-Anwendungen testen.
-
Es werden nun Tests für Anwendungen unterstützt, die auf Java 14 basieren.
-
Mit dem neuen 'Kommentar' Knoten kann die Struktur und Lesbarkeit von Testsuiten und Protokollen
verbessert werden.
-
Mit Hilfe des neuen Attributs 'Antwort in Datei speichern' im 'Server-HTTP-Request' Knoten ist es nun
möglich, Dateien herunterzuladen.
- Windows-Tests
Es wurde ein Package speziell für Windows-Anwendungen in der Standardbibliothek
qfs.qft
hinzugefügt.
-
Unter Windows 10 wird QF-Test jetzt auf skalierten hochaufgelösten Monitoren korrekt dargestellt.
- Web
Im Handbuch wurde das Kapitel Testen von Webseiten überarbeitet und ein Abschnitt (Abschnitt 50.1.2) mit der Beschreibung der Prozedur
qfs.web.ajax.installCustomWebResolver
in der Standardbibliothek hinzugefügt.
-
Die Option Benachrichtigen nach hat nun eine Auswahlmöglichkeit, um auch nach einem
fehlerfreien Test einen Infodialog anzuzeigen.
-
Beim Öffnen der Ergebnisliste nach einer Suche wird der Suchdialog nun automatisch geschlossen.
-
Mit Hilfe der neuen Prozedur
qfs.util.click
in der Standardbibliothek
qfs.qft
ist es möglich, einen Klick auf eine beliebige Bildschirmkoordinate abzuspielen.
-
Es ist jetzt möglich im Schnellstart-Assistenten für Electron auszuwählen, dass der benötigte ChromeDriver
automatisch erkannt werden soll.
-
Beim Kopieren eines 'Prozeduraufruf', 'Testaufruf' oder 'Bezug auf Abhängigkeit' Knotens
wird nun zusätzlich der Name des Zielknotens als Text in die Zwischenablage übernommen.
- Web
Der mitgelieferte GeckoDriver wurde auf Version 0.26.0 aktualisiert.
- Web
Unter Windows können Webseiten mit Microsoft Edge ab Version 78 nun auch im Headless-Modus
getestetet werden.
- Web
QF-Test unterstützt nun auch Opera 66 mit dem Operadriver 79.0.3945.79.
-
Über die neue Variable
engine.$(componentId)
in der speziellen qftest
Gruppe ist
es möglich, herauszufinden, zu welcher GUI-Engine eine bestimmte Komponente gehört.
-
Der Projektbaum in QF-Test wird jetzt mit Hilfe der natürlichen Sortierreihenfolge angeordnet.
-
Im Schnellstart-Assistenten für Mobile Emulation wurden Daten für mehrere neue mobile Geräte ergänzt.
Beseitigte Bugs:
-
Bei knappem Speicher wurden eventuell Abbilder nicht im Protokoll gespeichert.
-
Eine sporadisch beim Erstellen einer Testsuite aus einem Protokoll auftretende Exception wurde beseitigt.
- 'Finally' Knoten in einem 'Try' werden jetzt auch dann ausgeführt, wenn
innerhalb des 'Try' Knotens ein sofortiger Rerun ausgelöst wird.
-
Die
ImageWrapper
Methoden loggen nun eine Warnung wann immer diese Methoden fehlschlagen.
-
In sehr seltenen Fällen konnte es nach der Testausführung dazu kommen, dass die [Strg] Taste nach Beendigung der Wiedergabe im "gedrückt" Status blieb.