Release Notes

QF-Test Version 8.0

Version 8.0.1 - 11. September 2024

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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.

Version 8.0.0 - 8. August 2024

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.

QF-Test Version 7.1

Version 7.1.5 - 16. Juli 2024

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.

Version 7.1.4 - 12. Juni 2024

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.

Version 7.1.3 - 24. April 2024

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.

Version 7.1.2 - 14. März 2024

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.

Version 7.1.1 - 27. Februar, 2024

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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".

Version 7.1.0 - 20. Februar 2024

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.

QF-Test Version 7.0

Version 7.0.8 - 5. Dezember 2023

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.

Version 7.0.7 - 11. Oktober 2023

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.

Version 7.0.6 - 29. September 2023

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.

Version 7.0.5 - 20. September 2023

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.

Version 7.0.4 - 30. August 2023

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.

Version 7.0.3 - 13. Juli 2023

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.

Version 7.0.2 - 22. Juni 2023

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.

Version 7.0.1 - 31. Mai 2023

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

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.

Version 7.0.0 - 27. April 2023

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.

QF-Test Version 6.0

Version 6.0.5 - 15. März 2023

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.

Version 6.0.4 - 29. November 2022

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.

Version 6.0.3 - 6. September 2022

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.

Version 6.0.2 - 20. Juli 2022

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.

Version 6.0.1 - 9. Juni 2022

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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.

Version 6.0.0 - 17. Mai 2022

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.

QF-Test Version 5.4

Version 5.4.3 - 11. März 2022

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.

Version 5.4.2 - 18. Februar 2022

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.

Version 5.4.1 - 20. Januar 2022

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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.

Version 5.4.0 - 15. Dezember 2021

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.

QF-Test Version 5.3

Version 5.3.4 - 30. September 2021

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.

Version 5.3.3 - 14. September 2021

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.

Version 5.3.2 - 21. Juli 2021

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.

Version 5.3.1 - 15. Juni 2021

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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.

Version 5.3.0 - 20. Mai 2021

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.

QF-Test Version 5.2

Version 5.2.3 - 9. März 2021

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.

Version 5.2.2 - 12. Februar 2021

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.

Version 5.2.1 - 3. Dezember 2020

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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".

Version 5.2.0 - 10. November 2020

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.

QF-Test Version 5.1

Version 5.1.2 - 15. September 2020

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.

Version 5.1.1 - 26. August 2020

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.

Änderungen mit möglichen Auswirkungen auf die Testausführung

  • 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.

Version 5.1.0 - 8. Juli 2020

Video 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:

QF-Test Version 5.0

Version 5.0.3 - 17. Juni 2020

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.

Version 5.0.2 - 5. Mai 2020

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.

Version 5.0.1 - 2. März 2020

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.

Wesentliche neue Features in Version 5

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:

BeschreibungWeiterführende Informationen
Neue GUI-Engine: Windows Testen nativer Windows-Anwendungen
Modernisierte Benutzeroberfläche für QF-Test QF-Test sieht nun moderner aus
Tests mit Java 14 Anwendungen mit Java 14 können nun getestet werden
Testsuiten mit Kommentaren 'Kommentar' Knoten direkt im Baum der Testsuite
Edge auf Chromium Basis Tests mit dem finalen Edge auf Chromium Basis sind nun möglich
Datei-Download mit Hilfe des 'Server-HTTP-Request' Knotens Attribut 'Antwort in Datei speichern'
Tabelle B.1:  

Ä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.

Version 5.0.0 - 6. Februar 2020

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.