Handbuch | Tutorial | Standardbibliothek | Release Notes

Release Notes

B
Release Notes
B.1
QF-Test Version 4.5

VideoVideo zu den neuen Features in Version 4.5: https://www.qfs.de/de/yt/neue-features-45.html.

B.1.1
Version 4.5.2 - 20. März 2019

Neue Features:

  • Es wird nun Eclipse/SWT 4.11 bzw. "2019-03" unterstützt.
  • QF-Test kann nun automatisch ChromeDriver Bibliotheken herunterladen, wenn die mitgelieferte Version nicht zum gewählten Browser passt.

Beseitigte Bugs:

  • Beim Aufnehmen von Prozeduren wurden die zusammenfassenden Prozeduren für Panel Komponenten nicht generiert, wenn die Aufnahme nur für ein Panel gemacht wurde statt für das ganze Fenster.
  • Abbild-Checks funktionieren nun auch dann, wenn der Check mit aktivierter Bildkompression aufgenommen wurde und ein SecurityManager im SUT aktiv ist.
  • Wenn eine XML oder XSLT Bibliothek im Plugin-Verzeichnis von QF-Test installiert wurde, funktionierte die Erstellung von Reports nicht mehr.
  • Wurde eine nicht existierende Datei auf der Kommandozeile angegeben, öffnete QF-Test das Hauptfenster nicht, so dass der Prozess zu hängen schien.
B.1.2
Version 4.5.1 - 27. Februar 2019

Beseitigte Bugs:

  • In QF-Test 4.5.0 startete das SUT nicht mehr, wenn der QF-Test Agent über die Option Über QF-Test Agent verbinden deaktiviert wurde.
  • Der von ${qftest:java} gelieferte Pfad war nicht korrekt, wenn QF-Test mit dem Kommandozeilenargument -java <Programm> gestartet und der Parameter <Programm> dabei nicht als absoluter Pfad angegeben wurde.
  • Die Prozedur qfs.autowin.acrobat.saveAsText in der Standardbibliothek qfs.qft funktioniert nun auch für Adobe Acrobat Reader Versionen 19.010.20091 und höher.
  • Ein unvollständiger TreeTableResolver basierend auf der Standardimplementierung von getTreeColumn konnte zur Ausgabe eines Stacktrace in der Client-Konsole führen.
  • Web Im Headless Chrome wurden harte bzw. semiharte Doppelklicks nicht korrekt abgespielt.
  • Web In QF-Test 4.5.0 konnten SUT Skripte für Webtests nicht mehr auf Plugin-Jars im Plugin-Verzeichnis von QF-Test zugreifen.
  • SUT Skripte konnten nicht mehr auf die jniwrapper Bibliothek und das autowin Modul zugreifen.
  • Unter Windows 7 konnten beim Start von Webtests im WebDriver-Modus Exceptions auftreten.
B.1.3
Highlights in Version 4.5

Die folgenden wichtigen neuen Features wurden für Version 4.5 von QF-Test implementiert:

Beschreibung Weitere Info
Unterstützung für Electron Anwendungen Siehe Kapitel 16, unterstützte Electron Versionen in Abschnitt 1.1.2
Mobile Emulation im Schnellstart-Assistenten mit Unterstützung für neue Geräte Siehe Abschnitt 14.4
SWT ohne Instrumentierung Siehe Option Ohne SWT Instrumentierung verbinden
Unterstützung für Java 12 Nur SUT
Tabelle B.1:  Highlights in QF-Test Version 4.5
B.1.4
Änderungen mit möglichen Auswirkungen auf die Testausführung
  • Web Mit dem Schnellstart-Assistenten erzeugte Startsequenzen für Webanwendungen enthalten einen Aufruf der Prozedur qfs.web.ajax.installCustomWebResolver. Diese versucht, das genutzte AJAX Framework zu erkennen und einen passenden Resolver einzuhängen. Falls es keinen solchen Resolver gibt, wird ein minimaler generischer Resolver eingehängt. Für diesen Prozeduraufruf wurden in QF-Test 4.5 die Standardwerte geändert, so dass DIV und SPAN Knoten nun ignoriert und aus der Hierarchie der Komponenten entfernt werden. Diese Änderung hat keinen Einfluss auf bereits bestehende Startsequenzen, sollte aber im Hinterkopf behalten werden, falls Sie mit dem Schnellstart-Assistenten eine neue Startsequenz für eine Webanwendung mit bestehenden Tests erstellen. In diesem Fall sollten Sie den Parameter ignoreTags im generierten Aufruf von installCustomWebResolver zurück auf den leeren Wert setzen.
  • SWT

    Unter Linux können Eclipse/SWT Anwendungen der SWT Versionen 4.3 bis 4.9 wahlweise mit GTK2 oder GTK3 ausgeführt werden. In QF-Test Version 4.3 wurde Unterstützung für GTK3 mit SWT Versionen 4.6 und höher eingebaut. Bisher setzten allerdings mit dem Schnellstart-Assistenten generierte Startsequenzen die Environment-Variable SWT_GTK3 auf 0, wodurch alle SWT Versionen, die noch GTK2 unterstützen, dies verwenden.

    Beginnend mit QF-Test 4.5 wird diese Environment-Variable ignoriert. Sie wurde durch die Option Bevorzugte GTK Version für SWT (nur Linux) ersetzt, welche auf "2" oder "3" gesetzt oder leer gelassen werden kann, um den zur jeweiligen SWT Version passenden Standard zu verwenden.

    Unglücklicherweise werden SWT Anwendungen mit GTK2 auf neueren Linux Systemen zunehmend instabil und können unter starker Last, welche bei Ausführung mit QF-Test in maximaler Geschwindigkeit nicht ungewöhnlich ist, abstürzen. Solche Fehler können durch Aktivierung von XSync behoben werden, einer X11 spezifischen Option mit der X11 Events synchron verarbeitet werden. Diese kann allerdings die Geschwindigkeit beeinträchtigen. Wenn Sie Ihre SWT Anwendung mit GTK2 betreiben müssen und diese bisher stabil lief, können Sie die Option XSync für SWT mit GTK2 aktivieren (nur Linux) deaktivieren.

  • Die Verbindung zwischen QF-Test und dem SUT wird nun standardmäßig über das Loopback Interface (localhost) hergestellt. Für den seltenen Fall, dass QF-Test ein SUT auf einem anderen Rechner ansteuern muss, kann QF-Test mit dem Kommandozeilenargument -serverhost <Host> gestartet werden.
  • Bisher wurden Web-Tests fälschlicherweise immer unter Anwendung des QF-Test Classpaths gestartet. Dadurch waren evtl. in SUT-Skripten falsche Bibliotheken wie zum Beispiel "POI" geladen. Wenn Sie diese in Ihren SUT-Skripten vewenden möchten, so kopieren Sie die entsprechenden JAR-Dateien bitte explizit in das plugins/sut-Verzeichnis.
B.1.5
Nicht mehr unterstützte Software

Hinweis Eine detaillierte Aufstellung der Systemvoraussetzungen und der unterstützten Technologieversionen finden Sie in Abschnitt 1.1.

QFS bemüht sich um Rückwärtskompatibilität auch mit sehr alter Software. QF-Test läuft nach wie vor z.B. unter Windows XP und mit einem auf Java 6 basierenden SUT, aber wir können für Systeme, die von deren Herstellern nicht mehr unterstützt werden, keinen umfassenden Support bieten.

Unterstützung für die Safari Selenium Erweiterungen wurde entfernt, da Safari generell keine Erweiterungen mehr zulässt.

Bibliotheken für die Firefox Versionen 44-59 und die Eclipse/SWT Versionen 3.6 und älter sind nicht Teil der Standard-Installation von QF-Test. Sie werden noch gepflegt, aber nur eingeschränkt getestet. Für Eclipse/SWT 3.5 - 3.6 können Sie https://archive.qfs.de/pub/qftest/swt_legacy.zip herunterladen und in das swt Verzeichnis Ihrer QF-Test Installation entpacken. Für die Unterstützung älterer Browser wenden Sie sich bitte via support@qfs.de an QFS.

B.1.6
Version 4.5.0 - 14. Februar 2019

Neue Features:

  • Web Über seine Web-Engine unterstützt QF-Test nun auch das Testen von Electron Anwendungen. Informationen zu den unterstützten Versionen von Electron finden Sie in Abschnitt 1.1.2, Erstellung und Durchführung von Electron Tests sind in Kapitel 16 näher beschrieben.
  • Web Mit dem Schnellstart-Assistenten können nun auch Startsequenzen zur Emulation von mobilen Browsern erstellt werden. Zudem wurde die Auswahl an unterstützten Mobilgeräten aktualisiert und erweitert.
  • SWT Eclipse/SWT Anwendungen erfordern keine Instrumentierung des SWT Plugins mehr (mit Ausnahme älterer SWT Versionen unter Linux). Hiermit wird auch das Testen von WebStart basierten oder anderen speziellen SWT Anwendungen erleichtert. Weiter Informationen finden Sie bei der Option Ohne SWT Instrumentierung verbinden und in Abschnitt 43.3.
  • Es wird nun auch das Testen von SUTs mit Java 12 unterstützt.
  • Die Geschwindigkeit wurde an vielen Stellen verbessert, unter anderem beim Start von QF-Test selbst und von Browsern, bei der Initialisierung von Jython, von Skript-basierten Resolvern sowie bei der Event-Wiedergabe und Synchronisation - letzteres vor allem bei Webanwendungen. Die Effekte variieren abhängig von vorhandenen CPUs und Details des SUT zwischen kaum merklich und nahezu doppelt so schnell.
  • Abbildungen und Screenshots in Testsuiten und Protokollen werden nun in das WebP Format und damit deutlich effektiver komprimiert. Um den Übergang zu erleichtern unterstützt QF-Test schon seit Version 4.4 das Lesen solcher Dateien. In dieser Version wird WebP zum Standard, einstellbar über die Option Abbilder in Protokollen und Testsuiten komprimieren. Durch einfaches Laden und Speichern von Testsuiten wird das Format der enthaltenen Bilder nicht geändert um kein unnötiges Rauschen in der Versionsverwaltung zu erzeugen. Testsuiten können aber durch einen QF-Test Batchaufruf mit dem Kommandozeilenargument -compress transformiert werden.
  • Windows Die Fähigkeit, Fenster des SUT nach Bedarf in den Vordergrund zu bringen und den Eingabefokus zu setzen ist für eine stabile Testautomatisierung sehr wichtig. Unter Windows verwendet QF-Test nun eine neue, sehr zuverlässige Methode, Fenster nach vorn zu bringen, sofern die Option Beim Nach-vorne-bringen Fenster in den Vordergrund zwingen nicht deaktiviert ist.
  • Das Kontextmenü für Testsuite-Tabs in der Workbench-Ansicht von QF-Test enthält die neuen Einträge »Datei-Pfad in Zwischenablage kopieren« und »Im Explorer/Finder/Dateimanager anzeigen«.
  • Für aus QF-Test gestartete Prozesse stehen Standardausgabe (stdout) und Fehlerausgabe (stderr) nun getrennt über ${client.stdout.<name>} und ${client.stderr.<name>} zur Verfügung. Die kombinierte Ausgabe erhalten Sie nach wie vor über ${client.output.<name>}.
  • Über ihr Kontextmenü können nun auch 'Programm starten' und 'Shellkommando ausführen' Knoten ineinander konvertiert werden. Dies ist insbesondere hilfreich zur Umformung von Kommandozeilenargumenten in der Tabelle in eine einzelne Kommandozeile und umgekehrt.
  • Die neue Prozedur qfs.shellutils.exec in der Standardbibliothek qfs.qft ist ein praktisches Hilfsmittel, um in einem Schritt einen System-Befehl auszuführen, sein Ende abzuwarten und die Ausgabe als Rückgabewert zu erhalten.
  • Das eingebettete Selenium WebDriver Framework wurde auf Version 3.141.59 aktualisiert, ChromeDriver auf Version 2.46 (unterstützt Chrome bis Version 73) und GeckoDriver auf Version 0.24.0 (für Firefox 60esr und höher, aktuell bis Version 65).
  • Die Prozedur qfs.utils.email.sendEmail in der Standardbibliothek qfs.qft unterstützt nun SMTP über SSL.
  • Es kann nun der gesamte Text einer PDF Seite mit einem 'Text auslesen' Knoten ermittelt werden.

Beseitigte Bugs:

  • Der Menüeintrag zur Kontext-Hilfe »Was ist das?« funktioniert nun auch wieder für den 'Web-Engine starten' Knoten und dessen Attribute.
  • Web In Firefox konnte ein unerwarteter Dialog zu einer NoAlertPresentException führen. Dieses Problem wurde für Firefox 63 und höher beseitigt, ältere Versionen ignorieren die entsprechende Einstellung im WebDriver.
  • SWT In QF-Test Version 4.4.2 unter Linux funktionierte das Setzen des Eingabefokus für Eclipse/SWT Anwendungen mit GTK2 nicht mehr.
  • Die Methode rc.checkEqual funktioniert nun wieder korrekt beim Vergleich von Zahlen unterschiedlichen Typs wie Integer, Double und BigDecimal.
  • Die Prozedur qfs.utils.xml.compareXMLFiles in der Standardbibliothek qfs.qft konnte Unterschiede in Attributen übersehen.
  • JavaFX Der 'enabled' Check für ein JavaFX MenuItem erkennt nun den 'disabled' Status korrekt.
  • Web Beim Wechseln vom Browser zu einer anderen Anwendung wurde die Hervorhebung für den Checkmodus nicht zuverlässig entfernt.
  • QF-Test setzt nun nicht mehr implizit die Environment-Variable MOZ_NO_REMOTE=1. Dadurch startete Firefox beim Aufruf immer einen neuen Prozess, statt einen neuen Tab in einem existierenden Fenster zu öffnen. Diese Einstellung war ursprünglich für das Testen von Applets eingeführt worden.
B.2
QF-Test Version 4.4
B.2.1
Version 4.4.2 - 11. Dezember 2018

Neue Features:

  • Es wird nun Eclipse/SWT 4.10 bzw. "2018-12" unterstützt.
  • ChromeDriver wurde auf Version 2.44 aktualisiert (weiterhin für Chrome bis Version 71).

Beseitigte Bugs:

  • Bei der Lizenzprüfung in QF-Test Version 4.4.0 und 4.4.1 konnte eine Lizenz für QF-Test 4.3 trotz gültigem Pflegezeitraum abgewiesen werden.
  • Ein SUT mit Java 9 oder höher, das innere Klassen referenziert, die nicht Teil des ausgelieferten SUT sind (z.B. innere Klassen für Unittests) kann nun problemlos angesteuert werden.
  • Im Fall einer langsamen Server-Antwort konnten bei Ausführung eines 'Browser HTTP Request' Knoten Fehler im QF-Test Terminal protokolliert werden selbst wenn der Request erfolgreich ausgeführt wurde.
  • Beim Öffnen des Handbuchs über den Eintrag 'Was ist das?' in Popup-Menüs springt der Browser nun auch unter macOS an die korrekte Position innerhalb der Zielseite.
B.2.2
Version 4.4.1 - 26. Oktober 2018

Neue Features:

  • ChromeDriver wurde auf Version 2.43 aktualisiert (für Chrome bis Version 71).

Beseitigte Bugs:

  • In QF-Test Version 4.4.0 benötigten PDF Tests versehentlich eine Swing Lizenz. Diese funktionieren nun wieder unabhängig von den lizenzierten Engines.
  • Batch-Tests mit mehreren Threads über das Kommandozeilenargument -threads <Anzahl> funktionieren nun auch für PDF und Unittests.
  • Der QF-Test Daemon funktionierte nicht mehr mit aktivem Keystore, wenn die Kommunikation mit dem Daemon und mit dem SUT über denselben Port abgewickelt wurde.
  • Web Bei Chrome 70 unter Windows wurden die Bildschirmkoordinaten von Elementen nach einer Navigation nicht korrekt ermittelt, wodurch harte Events an der falschen Stelle abgespielt werden konnten.
  • Web Für Safari Version 12 und höher kann die Verbindung nicht mehr über die Safari-Extension hergestellt werden, da diese von Apple nicht mehr unterstützt wird. Stattdessen wird nun SafariDriver verwendet, womit nur noch Wiedergabe möglich ist aber keine Aufnahme.
  • Web Der Druckdialog für Chrome auf macOS wird nun korrekt behandelt.
  • SWT Die Aufnahme von Events funktioniert nun auch wieder für Eclipse/SWT Legacy Versionen 3.6 und älter.
  • Im PDF Client werden WINDOW_MOVED Events für den Dateiauswahldialog bei der Aufnahme nun zuverlässig herausgefiltert.
  • Der Parameter returnOnly der Prozedur qfs.check.compareDates wurde in manchen Fällen ignoriert.
B.2.3
Version 4.4.0 - 11. Oktober 2018

Neue Features:

  • Mit Hilfe des neuen automac Moduls können native macOS Anwendungen auf Skriptebene angesteuert werden. Es wird durch Prozeduren im Package qfs.automac der Standardbibliothek qfs.qft ergänzt. Weitere Informationen finden Sie in Kapitel 29.
  • SWT Es wird nun Eclipse/SWT 4.9 bzw. "2018-09" unterstützt.
  • Der 'Unit Test' Knoten kann nun auch Unit Tests mit der Engine von JUnit 5 "Jupiter" ausführen.
  • Neue Text-Checks für PDF Dokumente ermöglichen es, den Text einer kompletten Seite in einem einzelnen 'Check Text' oder 'Check Elemente' Knoten zu prüfen.
  • Web GeckoDriver wurde auf Version 0.23.0 aktualisiert (für Firefox bis Version 62) und ChromeDriver auf Version 2.42 (für Chrome bis Version 69).
  • Die Argumente von TestRunListener Methoden können nun einfach in Json Objekte konvertiert werden und für einen TestRunEvent liefert ein Aufruf von getNode().getComponentId() nun die QF-Test ID der Komponente für den aktuellen Knoten (siehe Abschnitt 47.7).

Beseitigte Bugs:

  • Beim automatischen Ausfüllen der Bemerkung einer Prozedur konnte die @author Information und andere Doctags verloren gehen.
  • In einzlenen Fällen konnten ein Aufruf von rc.toServer in einem Jython 'SUT Skript' Knoten zu einer NullPointerException führen.
  • Web Das Ergebnis eines 'Index auslesen' Knotens für die Kind-Knoten der ersten Ebene einer Tree oder TreeTable Komponente einer Webanwendung war nicht immer korrekt.
  • Web Beim Internet Explorer konnte ein Download, der in einem Popup-Fenster ausgelöst wurde, unvollständig bleiben.
  • JavaFX Die Ermittlung des Namens eines eingebetteten Swing Frames auf Basis der umgebenden JavaFX SwingNode funktioniert nun auch mit JavaFX 11.
B.3
QF-Test Version 4.3
B.3.1
Version 4.3.2 - 11. September 2018

Beseitigte Bugs:

  • Fenster werden auf Linux Systemen nun zuverlässiger in den Vordergrund geholt.
  • Wenn in einem 'Server HTTP Request' Knoten für einen POST Request Parameter direkt in der URL kodiert sind, belässt QF-Test die URL nun unverändert, anstatt diese Parameter in den Body des Requests zu verschieben.
  • Web Das Löschen von Cookies nach dem Öffnen des Browserfensters funktioniert nun auch im WebDriver Modus.
  • Web Im Internet Explorer funktionierte die Wiedergabe eines 'Texteingabe' Knotens mit sehr langem Text nicht zuverlässig.
B.3.2
Version 4.3.1 - 28. August 2018

Neue Features:

  • Web Das eingebettete Selenium WebDriver Framework wurde auf Version 3.14.0 aktualisiert und ChromeDriver auf Version 2.41 (unterstützt Chrome bis Version 69).
  • Der PDF Client erkennt jetzt Bilder mit Scherungen (Shear Mapping).

Beseitigte Bugs:

  • Die Berechnung des weiteren Merkmals qfs:imagehash war fehlerhaft für Abbilder mit Alpha-Kanal.
  • SWT Mit QF-Test Version 4.3.0 funktionierten Tests für die 32 Bit Eclipse/SWT Version 4.5 nicht unter Linux.
  • Wenn ein Filter für den Projektbaum aktiv war und eine Testsuite modifiziert wurde, die dadurch nicht im Projektbaum angezeigt wurde, konnte die Darstellung des Baums durcheinander geraten.
B.3.3
Kürzere QF-Test Release-Zyklen

Wir möchten Ihnen in Zukunft neue Funktionen und Fehlerbehebungen schneller zukommen lassen. Beginnend mit QF-Test 4.3 werden nun Medium Upgrades erscheinen, sobald ein oder mehrere relevante Features fertiggestellt sind, Minor Updates werden auf Fehlerbehebungen und kleine Verbesserungen beschränkt bleiben. Unsere kontinuierlichen Selbsttests sorgen schon lange für die benötigte Stabilität von QF-Test und nun wurden mit reduzierten Lizenzupdates auch die nötigen Rahmenbedingungen geschaffen:

Neues Lizenzformat - All-Inclusive im Pflegezeitraum

Bei QF-Test beinhaltet der Wartungsvertrag für unsere Kunden schon immer die Möglichkeit, innerhalb der Vertragslaufzeit kostenfrei auf eine neue Medium oder Major Version von QF-Test zu aktualisieren. Allerdings musste dafür eine neue Lizenzdatei angefragt und diese dann auf alle Test- und Entwicklermaschinen ausgerollt werden.

Mit der neuen Lizenzdatei, die Sie für QF-Test 4.3 noch einmalig anfordern müssen, entfällt dieser zusätzliche Aufwand in Zukunft: Jetzt ist der Pflegezeitraum in der QF-Test Lizenzdatei hinterlegt und erlaubt die Nutzung aller neuen Medium und Major Versionen, die innerhalb dieses Zeitraumes veröffentlicht werden sowie der dazugehörigen Minor Updates. Bei Pflegeverlängerung erhalten Sie zukünftig automatisch eine neue Lizenzdatei, gültig für den gekauften Pflegezeitraum.

Eine weitere Vereinfachung des Update-Vorgangs bei größerer Lizenzzahl kann die Einrichtung eines Lizenz-Servers in Ihrem Netzwerk sein. Unser Sales-Team berät Sie gerne dazu.

Newsletter nur noch für Medium Upgrades
Um Sie durch die häufigeren Minor Updates nicht mit vielen E-Mails zu belasten, werden nur noch Medium und natürlich Major Upgrades mit neuen Funktionen und Features mit unserem Newsletter angekündigt. Wenn Sie auch über Minor Updates weiterhin voll informiert werden möchten, können Sie sich entweder in die QF-Test Mailingliste eintragen, unseren RSS-Feed abonnieren oder die nachfolgend beschriebene Prüfung in QF-Test nutzen.
Automatische Prüfung auf QF-Test Updates
QF-Test kann nun bei bestehender Internetverbindung automatisch auf verfügbare Updates prüfen. Sie können diesen Service gemäß Ihren Anforderungen konfigurieren und auf bestimmte Arten von Updates einschränken oder auch ganz deaktivieren.
B.3.4
Version 4.3.0 - 26. Juli 2018

Neue Features:

  • Es wird nun auch das Testen von SUTs mit Java 11 unterstützt.
  • SWT Es wird nun Eclipse/SWT 4.8 "Photon" unterstützt.
  • SWT Unter Linux unterstützt QF-Test nun das Testen von Eclipse/SWT Anwendungen im GTK3 Modus (SWT Version 4.6 und höher).
  • Eine neue Demo-Testsuite erläutert das Testen von REST-Services, ergänzt durch das neue Kapitel 17 im Handbuch.
  • Mit der neuen Option Bei einem Fehler Abbilder aller Client-Fenster erstellen ist es nun möglich, immer Abbilder von allen Fenstern in allen mit QF-Test verbundenen SUTs aufzunehmen, unabhängig davon, wo eine Exception oder ein Fehler aufgetreten ist.
  • SWT Die neue Prozedur qfs.swt.tree.expandCompleteTree in der Standardbibliothek qfs.qft dient zum Expandieren aller Knoten einer SWT Tree Komponente.

Beseitigte Bugs:

  • Das Standard-Programm für die Anzeige von PDF-Dokumenten unter Linux wurde von acroread in xdg-open geändert.
  • Der PDF Client erkennt nun auch XObjects, die einen Type0-Font verwenden, für den keine CMap eingebettet ist. Lediglich Text-Checks sind wegen der fehlenden CMap nicht möglich.
  • Die Formulierung von Fehlermeldungen des rc.checkEqual Aufrufs wurde verbessert.
  • Die Kodierung einiger deutscher Umlaute in Skripten der Standardbibliothek qfs.qft wurde korrigiert.
  • SWT Die Geometrie der Rahmen zur Hervorhebung von Komponenten war bei SWT Anwendungen verschoben und hinterließ störende Effekte, wenn die Größe eines Fensters so weit reduziert wurde, dass die Menüleiste zweizeilig dargestellt wurde.
B.4
QF-Test Version 4.2

VideoVideo zu den neuen Features in Version 4.2: https://www.qfs.de/de/yt/neue-features-42.html.

B.4.1
Version 4.2.5 - 11. Juli 2018

Neue Features:

  • Web Das eingebettete Selenium WebDriver Framework wurde auf Version 3.13.0 aktualisiert und GeckoDriver auf Version 0.21.0, welche auch Firefox Version 61 unterstützt.

Beseitigte Bugs:

  • Wurden durch ein QF-Test Update neue Benutzer- oder Systemeinstellungen eingeführt, so wurden diese verworfen, wenn zwischendurch mit einer älteren QF-Test Version gearbeitet wurde. Ab QF-Test Version 4.2.5 bleiben solche Einstellungen immer erhalten.
  • Web Von Microsoft Edge in einer Hinweiszeile angezeigte Fehler werden nun automatisch geschlossen.
  • Wurde ein Oracle Datenbanktreiber in einer jar-Datei mit defektem Manifest in das Plugin-Verzeichnis von QF-Test kopiert, konnten keine Testsuiten mehr geladen werden.
  • Bei Aktivierung einer Lizenz im Demo-Modus von QF-Test wird der Menüeintrag »Datei«-»Speichern« nun sofort aktiv.
B.4.2
Version 4.2.4 - 14. Juni 2018

Neue Features:

  • Web Das eingebettete Selenium WebDriver Framework wurde auf Version 3.12.0 aktualisiert und ChromeDriver auf Version 2.40 (unterstützt Chrome bis Version 68). Firefox Version 60 wird ebenfalls unterstützt.
  • Web Auf Windows Insider Builds wird nun der neue Mechanismus zur Installation des Microsoft WebDrivers für Edge erkannt und unterstützt.

Beseitigte Bugs:

  • Die Optionen zur interaktiven Auswahl der GUI Engine Lizenzen waren auch im Fall einer Lizenz mit gemischten Engines deaktiviert.
  • Datentreiber für sehr große Excel Dateien brauchen nun weniger Speicher.
  • Der Export eines Test-Projekts aus Testlink für QF-Test wird eine vorhandene node_order Definition nun korrekt behandelt.
  • Im Report wurden erwartete Fehler innerhalb von verschachtelten Testfällen als normale Fehler gezählt. Außerdem sind erwartete Fehler im Protokoll nun besser zu erkennen.
  • Der 'Server HTTP Request' Knoten unterstützt nun leere Werte für HTTP Header.
  • Das Beenden von Clients funktioniert nun auch auf Windows Embedded Systemen sauber.
  • Web Der Start von Chrome unter Linux funktionierte in QF-Test Version 4.2.3 nicht zuverlässig.
  • Web Der Versuch, beim Start von Microsoft Edge ein nicht existierendes Cache-Verzeichnis zu entfernen, konnte zu einer Exception führen.
B.4.3
Version 4.2.3 - 3. Mai 2018

Neue Features:

  • Web Das eingebettete Selenium WebDriver Framework wurde auf Version 3.11.0 aktualisiert und ChromeDriver auf Version 2.38 (unterstützt Chrome bis Version 66) und GeckoDriver auf Version 0.20.1, welche auch Firefox Version 59 unterstützt. Die 32 Bit Linux Version von ChromeDriver wurde aus QF-Test entfernt, da diese nicht mehr von den Chrome Entwicklern unterstützt wird. Bei Bedarf kann die letzte verfügbare Version (2.33) vom ChromeDriver Archiv heruntergeladen werden.
  • QF-Test unterstützt nun das Shadow DOM API und somit Interaktionen mit Web-Elementen, die in ein offenes ShadowRoot Element eingebettet sind.
  • Als Überbrückung, bis eine vollwertige Windows Engine für QF-Test verfügbar ist, wurde das qfs.autowin Package in der Standardbibliothek qfs.qft um diverse Prozeduren erweitert, die auf Basis von Windows UIAutomation einfache Tests für native Windows-Anwendungen ermöglichen. Detaillierte Informationen hierzu finden Sie in Kapitel 28.
  • Wird der Mauszeiger über den Menüeintrag für einen verbundenen Client im »Clients« Menü bewegt, wird das Hauptfenster des entsprechenden Clients hervorgehoben.
  • Die neue Variablengruppe ${idlocal:...} ist analog zu ${id:...} mit dem zusätzlichen Effekt, dass die Komponenten nur in der zum Zeitpunkt der Expansion aktuellen Testsuite gesucht wird (siehe Abschnitt 7.5).
  • Die Debug-Ausgaben zur Wiedererkennung von Komponenten im Protokoll sind nun lesbarer formatiert und können - ebenso wie andere Textfelder im Protokoll - über das neue Tastenkürzel [Umschalt-Strg-Return] in einem externen Editor geöffnet werden.

Beseitigte Bugs:

  • Der "Veraltet" Warnungsdialog für Java WebStart in Java 9 oder höher wird nun automatisch von QF-Test behandelt.
  • Beim Refactoring oder der Analyse von Testsuite werden rc.callProcedure Aufrufe nun in überall berücksichtigt, d.h. in allen Attributen, die Variablen enthalten können.
  • Eine Datentreiber-Iteration unterhalb eines 'Testschritt' Knotens kann nun wie jede andere Knoten-Iteration in QF-Test durch einen 'Break' Knoten abgebrochen werden.
  • Web Firefox im QF-Driver Modus unter Linux konnte bei der Bearbeitung spezieller nicht-UTF-8-kodierter Zeichenketten abstürzen.
  • Web Mit Chrome im QF-Driver Modus funktionierten Mausklicks mit der rechten Maustaste in qooxdoo Anwendungen nicht korrekt.
  • Web Ein fehlender "http:" Protokoll-Header in einer URL zur automatischen Proxy-Konfiguration wird nun implizit korrigiert.
  • JavaFX Die Ermittlung des Namens für ein eingebettetes Swing Fenster aus dem umgebenen JavaFX SwingNode Element funktioniert nun auch mit dem Java Update 8u171.
B.4.4
Version 4.2.2 - 9. März 2018

Neue Features:

  • Web Das eingebettete Selenium WebDriver Framework wurde auf Version 3.10.0 aktualisiert und ChromeDriver auf Version 2.36 (unterstützt Chrome bis Version 66).
  • Web Für den Mobile Emulation Mode werden nun auch gerätespezifische Ränder unterstützt.
  • JavaFX Es werden nun JavaFX SubScene Komponenten unterstützt.

Beseitigte Bugs:

  • Windows Unter Windows waren die falschen qftest.exe und qftestc.exe Dateien in die Installationspakete gerutscht, so dass das bin Verzeichnis des JRE immer noch vorne zur Environment-Variable PATH hinzufügt wurde, was den Start des SUT behindern konnte. Außerdem war das Kommandozeilenargument -plugindir <Verzeichnis> dadurch außer Kraft gesetzt.
  • Web In QF-Test 4.2.1 konnte das Hervorheben einer Komponente beim Verbindungsmodus WebDriver dazu führen, dass der Browser keine weiteren Eingaben akzeptierte.
  • Web Das webResolvers Modul (siehe Abschnitt 47.2) unterstützt nun auch die Registrierung eines BusyApplicationDetectors.
B.4.5
Version 4.2.1 - 26. Februar 2018

Neue Features:

  • Es wird nun auch das Testen von SUTs mit Java 10 unterstützt.
  • Web Das eingebettete Selenium WebDriver Framework wurde auf Version 3.9.1 aktualisiert, ChromeDriver auf Version 2.35 (unterstützt Chrome bis Version 64) und GeckoDriver auf Version 0.19.1, welche auch Firefox Version 58 unterstützt.
  • Web Chrome kann mit Hilfe der neuen 'Prozedur' qfs.web.browser.general.openMobileEmulation in der Standardbibliothek qfs.qft nun auch im Mobile Emulation Mode gestartet werden.
  • Web Proxy Einstellungen werden für Firefox und Chrome nun auch beim Verbindungsmodus WebDriver unterstützt.
  • Bei Verschachtelung von Testfällen über 'Testaufruf' Knoten entscheidet nun das neue Attribut 'Verhalten wie Prozeduraufruf' darüber, wie Exceptions innerhalb des Aufrufs behandelt werden. Die somit überflüssige Kompatibilitäts-Option "Testaufrufe innerhalb von Testfällen nicht wie Prozeduraufrufe behandeln" wurde entfernt.
  • Die neue 'Prozedur' qfs.utils.waitForOneOfNComponents in der Standardbibliothek qfs.qft ermöglicht das Warten auf eine von mehreren möglichen Komponenten.
  • Die 'Prozedur' qfs.utils.readTextFromFile in der Standardbibliothek qfs.qft kann über den optionalen Parameter fileencoding nun Dateien mit unterschiedlichen Kodierungen verarbeiten.
  • Marken und Breakpoints können nun über Doctags @breakpoint, @red, @green etc. persistent gemacht werden. Nähere Informationen zu Doctags finden Sie in Abschnitt 55.1.
  • Die Parameter errorlevel und newerrorlevel des @rerun Doctags sind nun optional (vgl. Abschnitt 20.3.2).
  • Das Attribut 'Datenbankpasswort' des 'Datenbank' Knotens kann nun verschlüsselt werden.
  • Unter macOS unterstützt QF-Test nun die Anzeige im nativen Vollbildmodus, erreichbar über den Menüeintrag »Ansicht«-»Vollbildmodus« oder das Tastenkürzel [⌃⌘-F]
  • Unter macOS wurde das Tastenkürzel zum erneuten Laden einer Testsuite zu [⌘-R] geändert.
  • Linux Unter Linux unterstützt der eingebettete Skript-Editor nun das Einfügen von Text über die mittlere Maustaste.

Beseitigte Bugs:

  • Das PDF Anzeigeprogramm kann nun rotierte Dokumente darstellen.
  • In Groovy Skripten funktionierte der Aufruf rc.callProcedure bei Verwendung von Keyword-Argumenten nicht mehr.
  • In Groovy Skripten lieferte rc.getNum versehentlich einen long statt einem int Wert.
  • In einzelnen Fällen konnte durch eine von QF-Test falsch gesetzte System Property der Start des SUT gestört werden.
  • Das bin Verzeichnis des JRE, mit dem QF-Test ausgeführt wird, wird für das SUT nun am Ende der Umgebungsvariable PATH hinzugefügt und nicht vorne, wie dies in QF-Test Versionen vor 4.2 der Fall war.
B.4.6
Highlights in Version 4.2

Die folgenden wichtigen neuen Features wurden für Version 4.2 von QF-Test implementiert:

Beschreibung Weitere Info
Unterstützung für Java 9 und Java 10 Aktuell nur SUT. Auch das neue Java Modulsystem "Project Jigsaw" wird unterstützt
Testen von PDF Dokumenten Siehe Kapitel 15
JavaScript als neue Skriptsprache Äquivalent zu Jython und Groovy, siehe Abschnitt 12.5
Unterstützung für Angular Inklusive der UI Toolkits Bootstrap und AngularJS Material, siehe Abschnitt 46.3
Unterstützung für Smart GWT Siehe Abschnitt 46.3
Spezielle Knoten für statische und live Unittests Siehe 'Unit Test' Knoten
Webtests mit headless Browsern Nur WebDriver Modus, benötigt Chrome 60 oder höher bzw. Firefox 56 oder höher
Testen von REST Services Unterstützt GET, POST, HEAD, OPTIONS, PUT, DELETE und TRACE siehe 'Server HTTP Request' Knoten
Das QF-Test Tutorial wurde komplett neu geschrieben Tutorial
Tabelle B.2:  Highlights in QF-Test Version 4.2
B.4.7
Änderungen mit möglichen Auswirkungen auf die Testausführung
  • Die kombinierte Funktion des 'Browser starten/Browserfenster öffnen' Knotens wurde durch eigenständige 'Web-Engine starten' und 'Browser-Fenster öffnen' Knoten ersetzt. Die Konvertierung erfolgt automatisch, sofern die Attribute des alten Knotens nicht widersprüchlich sind. In diesem Fall bleibt der alte Knoten erhalten und funktioniert wie gehabt. Solche Knoten sollten bei Gelegenheit manuell durch die neuen Varianten ersetzt werden.
  • Ein weiteres etwas überraschendes Feature beim Start des Browsers ist nun veraltet: Alle Prozeduren im Package qfs.web.browser.startup erfordern nun eine bereits gestartete Web Engine. Zur Rückwärtskompatibilität kann das implizite Starten eines Browsers über den neuen Parameter 'startBrowserIfNotRunning' wieder aktiviert werden.
  • Die Implementierung des rc Skript API wurde für alle Skriptsprachen vereinheitlicht. Dies kann bei Jython zu kleinen Unterschieden führen, wenn Boolean Werte als Strings interpretiert werden, die zwischen "True", "true" und "1" bzw. "False", "false" und "0" variieren. Problematisch ist dies nur bei ungeschickt als Stringvergleich formulierten Boolean Tests wie "$(x)" == "false" an Stelle von not $(x).
  • Boolean Attribute, die mittels des '$' Buttons editierbar gemacht werden können, werden nun analog zum 'Bedingung' Attribute von 'If' Knoten als Jython Ausdruck evaluiert. In einzelnen Fällen kann dies zu abweichenden Ergebnissen führen. Falls bestehende Tests nur an wenigen Stellen betroffen sind, sollten diese angepasst werden, da das neue Verhalten flexibler und konsistenter ist. Alternativ kann das alte Verhalten durch Aktivieren der Option Ausdrücke in variablen boolean Attributen nicht evaluieren (vor 4.2) wieder hergestellt werden.
  • Der alte 'Test' Knoten wurde nun ausgemustert. Seine verbleibenden Spezialfunktionen stehen anderweitig zur Verfügung: Für Datentreiber unterhalb der Testfall-Ebene können nun 'Datentreiber' Knoten in einen 'Testschritt' Knoten platziert werden und das @noreport Doctag kann verwendet werden, um einen 'Testfall' Knoten vom Report auszuschließen (siehe Kapitel 55 für weitere Informationen zu Doctags).
  • Die allgegenwärtigen Warnungen zu nicht-ganz-perfekter Wiedererkennung von Komponenten wurden nun zu Meldungen herabgestuft. Bei Bedarf können die Warnungen über die Option Warnung anstelle von Meldung ausgeben wieder hergestellt werden.
  • Werden Testfälle durch 'Testaufruf' Knoten verschachtelt, verhält sich der innere 'Testfall' Knoten nun wie eine Prozedur. Dadurch ergeben sich minimale Abweichungen bei der Behandlung von Exceptions. Im Problemfall kann das alte Verhalten über die Option "Testaufrufe innerhalb von Testfällen nicht wie Prozeduraufrufe behandeln" wieder hergestellt werden.
  • Web Kommt für Webanwendungen ein CustomWebResolver zum Einsatz, liefern 'Text auslesen' und 'Check Text' für TextField und TextArea Komponenten nun denselben Text. Zudem wird für Zellen von Tabellen, Bäumen oder Listen, die als TextField oder TextArea implementiert sind, nun der sichtbare Text ermittelt, so dass eventuell einige Checks nachgezogen werden müssen. Dieser Bugfix kann über die Option Textermittlung von generischen Klassen nicht mit generischem Ansatz durchführen (vor 4.2) deaktiviert werden.
  • Swing Für Swing Anwendungen werden Tooltips nun generell als leer angesehen, wenn der Swing TooltipManager deaktiviert wird.
B.4.8
Nicht mehr unterstützte Software

Hinweis Eine detaillierte Aufstellung der Systemvoraussetzungen und der unterstützten Technologieversionen finden Sie in Abschnitt 1.1.

QFS bemüht sich um Rückwärtskompatibilität auch mit sehr alter Software. QF-Test läuft nach wie vor z.B. unter Windows XP und mit einem auf Java 6 basierenden SUT, aber wir können für Systeme, die von deren Herstellern nicht mehr unterstützt werden, keinen umfassenden Support bieten.

Java 5 wird nicht mehr unterstützt. SUTs auf Basis von Java 6 können noch ausgeführt werden, indem automatisch auf ältere Versionen von Jython und Groovy zurückgegriffen wird.

Bibliotheken für die Firefox Versionen 44-51 und die Eclipse/SWT Versionen 3.6 und älter sind nicht Teil der Standard-Installation von QF-Test. Sie werden noch gepflegt, aber nur eingeschränkt getestet. Für Eclipse/SWT 3.5 - 3.6 können Sie https://archive.qfs.de/pub/qftest/swt_legacy.zip herunterladen und in das swt Verzeichnis Ihrer QF-Test Installation entpacken. Für die Unterstützung älterer Browser wenden Sie sich bitte via support@qfs.de an QFS.

B.4.9
Version 4.2.0 - 10. Januar 2018

Änderungen im Vergleich zu QF-Test Version 4.1.6:

Neue Features:

  • QF-Test kann nun auf Java 9 basierende Anwendungen testen. Dies beinhaltet Unterstützung für das neue Java 9 Modulsystem ("Project Jigsaw"), ohne dass dafür auf den "Big Kill Switch", also das Kommandozeilenargument --illegal-access, zurückgegriffen werden muss.
  • PDF Dokumente können nun wie eine normale Anwendung getestet werden, mit textuellen und grafischen Checks für einzelne Elemente.
  • JavaScript wurde als neue, zu Jython und Groovy gleichwertige Skriptsprache für 'Server Skript' und 'SUT Skript' Knoten eingeführt. Der ECMAScript 8 Standard wird unterstützt und es sind JavaScript Varianten aller QF-Test Module und Skript APIs wie Resolver, rc oder autowin vorhanden.
  • Web Es wird nun das beliebte AJAX Framework Angular inklusive der UI Toolkits Bootstrap und AngularJS Material unterstützt.
  • Web Es wird nun das AJAX Framework Smart GWT unterstützt.
  • Über den neuen 'Unit Test' Knoten können JUnit Tests ausgeführt und deren Ergebnisse so in das QF-Test Protokoll und den Report integriert werden. Tests können in Java oder als Skript implementiert und statisch oder dynamisch ausgeführt werden, also 'live' im SUT als Alternative zum Schreiben von Mocks.
  • Web Es werden nun headless Webtests auf Basis der headless Varianten von Chrome und Firefox unterstützt.
  • Web Der 'Server HTTP Request' Knoten unterstützt nun das Testen von REST Services über die zusätzlichen Methoden HEAD, PUT, DELETE, TRACE und CONNECT. Zudem können nun eigene Header für den HTTP Request angegeben werden.
  • Das QF-Test Tutorial wurde komplett neu geschrieben.
  • Der neu implementierte Schnellstart-Assistent verbindet einen stringenten Ablauf mit verbessertem Design.
  • Der »Hilfe«-»Info« Dialog hat einen neuen Reiter namens "Systeminfo", unter dem viele QF-Test Einstellungen und Systeminformationen angezeigt werden.
  • Attribute wie die 'Bedingung' eines 'If' Knotens, welche im Jython Interpreter evaluiert werden, unterstützen nun Syntaxhervorhebung und Code-Vervollständigung.
  • Web Der eingebettete Chrome Browser für die Ansteuerung mit dem QF-Driver wurde zu CEF Version 57 aktualisiert.
  • Das Kommandozeilenargument -run funktioniert nun auch im interaktiven Modus und startet dort die Testausführung automatisch beim Start von QF-Test. Zudem kann über das neue Argument -suitesfile <Datei> für Batch- und interaktiven Modus nun eine Textdatei angegeben werden, welche die auszuführenden Testsuiten und Tests beinhaltet.
  • Mit folgenden neuen Argumenten kann eine laufende QF-Test Instanz von der Kommandozeile aus kontrolliert werden. Mittels -interruptRunningInstances kann ein laufender Test auf der lokalen Maschine angehalten werden und -killRunningInstances beendet sauber alle laufenden QF-Test Instanzen - auch interaktive - sofern diese mit dem Argument -allowkilling gestartet wurden. Sauber bedeutet hier, dass Batch Tests beendet, Abhängigkeiten abgebaut und Protokolle geschrieben werden.
  • Windows Das neue Windows Setup-Programm für QF-Test folgt den aktuellen Windows-Konventionen zur Aufteilung von unterschiedlichen Dateien auf verschiedene Ordner. Es gibt weiterhin eine Option, um das alte Layout mit allen Dateien an einem Ort beizubehalten.
  • Mac Unter macOS können Programm-Parameter für QF-Test nun in den Allgemeinen Optionen in QF-Test selbst definiert werden.
  • Mac Eine macOS App kann nun direkt im 'Ausführbares Programm' Attribut eines 'SUT Client starten' Knotens angegeben werden.
  • Ein 'Sequenz' Knoten kann nun auch in eine 'Schleife' oder einen 'While' Knoten transformiert werden.
  • Aufrufe von veralteten Prozeduren oder Testfällen werden in der Baumansicht nun ebenfalls durchgestrichen dargestellt.
  • Der 'Properties laden' Knoten unterstützt mit seinem neuen Attribut 'Zeichenkodierung der Datei ist UTF-8' nun auch das Laden von Properties Dateien in UTF-8 Kodierung.
  • Komponenten im SUT werden nun immer automatisch hervorgehoben, wenn eine Komponente oder ein Event Knoten im Baum angeklickt wird, unabhängig davon, ob der Knoten schon selektiert war oder nicht. Falls das automatische Hervorheben über die Option Selektierte Komponente im SUT hervorheben ausgeschaltet ist, kann es nun auch explizit über das Kontextmenü eines Knotens oder der QF-Test ID einer Komponente in Parameter-Tabellen oder Skripten ausgelöst werden.
  • Die Boolean Werte im 'Weiteres Merkmal' Attribut einer 'Komponente' oder dem 'Elemente' Attribute eines 'Check Elemente' Knotens können nun auch per Variable definiert werden. Die Zellen können hierzu per Doppelklick editierbar gemacht werden.
  • Web Das neue webResolvers Modul ermöglicht die Implementierung von Resolvern in JavaScript Code, der direkt im Browser ausgeführt wird. Detaillierte Informationen und Beispiele hierzu finden Sie in Abschnitt 47.2.
  • Das weitere Merkmal qfs:label bezieht sich nun auch auf Window und Dialog Komponenten.
  • Es gibt einige neue (oder neu dokumentierte) Kommandozeilenargumente zum Überschreiben der für QF-Test relevanten Verzeichnisse QF-Test, darunter -userdir <Verzeichnis>, -systemdir <Verzeichnis>, -jythondir <Verzeichnis>, -groovydir <Verzeichnis>, -javascriptdir <Verzeichnis>, -plugindir <Verzeichnis> und -logdir <Verzeichnis>.
  • Die qftest Property-Gruppe wurde um Definitionen für einige Verzeichnisse der QF-Test Installation erweitert, z.B. ${qftest:dir.log} für das Verzeichnis, in dem Protokolle abgelegt werden. Eine vollständige Auflistung finden Sie in Abschnitt 7.5.
  • Die Sortierreihenfolge von Parameter-Tabellen wie dem 'Variablen Definitionen' Attribut eines 'Prozeduraufruf' Knotens kann über das Popupmenü der Tabelle nun auf die Anordnung der Parameter im aufgerufenen Knoten zurückgesetzt werden.

Beseitigte Bugs:

  • Beim Konvertieren in einen regulären Ausdruck wird im Attribut 'QF-Test ID der Komponente' nun korrekt zwischen der ID selbst und der Syntax für Unterelemente unterschieden.
  • Unter Ubuntu Linux konnten keine Thread Dumps vom SUT genommen und keine Unterprozesse des SUT terminiert werden.
  • Unicode-Zeichen außerhalb der Basic Mulitilingual Pane (BMP) werden nun korrekt behandelt.
  • Swing TooltipResolver werden nun auch für nicht-Swing AWT Komponenten aufgerufen.
  • Web Die Prozedur qfs.web.general.integrateFirebug lädt Firebug nun über https statt http, wodurch Probleme mit Inhalt aus verschiedenen Quellen vermieden werden.
  • Web In einzelnen Fällen konnte der Text eines MenuItems in einer Webanwendung fälschlicherweise auch den Text seiner untergeordneten MenuItems enthalten.
  • Web Das Erzeugen vieler eingebetteter WebView oder SWT Browser Instanzen konnte zu einem Memory Leak führen.
  • JavaFX Die Ausführung eines JavaFX SUT über WebStart konnte zu IllegalAccessExceptions führen.
  • JavaFX Namen für die Reiter eines JavaFX TabPanel beziehen sogenannte Graphic Elemente nun korrekt ein.
B.5
QF-Test Version 4.1
B.6
QF-Test Version 4.0
B.7
QF-Test Version 3