Neue Features:
- Web
Es werden nun die Firefox Versionen 31 und 32 unterstützt.
- SWT
Es wird nun Eclipse/SWT-Version 4.4 "Luna" unterstützt.
-
Die Kommandozeilenargumente
-exitcode-ignore-warning
, -exitcode-ignore-error
und
-exitcode-ignore-exception
sind nun auch im Call-Daemon-Modus verfügbar. Sie sind
hilfreich bei der Integration mit Continuous Integration Tools wie Hudson/Jenkins oder
TeamCity, da der Exit-Status von QF-Test im Batchmodus als 0 erzwungen werden kann, auch
wenn Warnungen, Fehler oder Exceptions auftreten.
Beseitigte Bugs:
- SWT
Auf Linux Systemen mit einer alten glibc Version, z.B. RHEL 6.5, konnte die
instrumentierte 64 Bit Version von Eclipse nicht starten. Diese Abhängigkeit von einer
neueren glibc Version wurde beseitigt.
- SWT
Bei SWT weigerte sich QF-Test, harte Events auf negative Koordinaten abzuspielen, was
allerdings nötig sein kann, um unter Windows ein Fenster auf einem zweiten Bildschirm zu
erreichen, der links vom primären Monitor aufgestellt ist.
- Web
Der Check für den editable Status von INPUT:TEXT, INPUT:PASSWORD und TEXTAREA Knoten
fehlte bei Web-Clients.
- Swing
Der "Alle Zeilen" Check wurde für Swing JTextArea Komponenten nicht korrekt aufgenommen,
wenn unterhalb der ersten Zeile geklickt wurde.
-
Wird die Bearbeitung eines Knotens in der Detailansicht oder das Hinzufügen eines neuen
Knotens abgebrochen, prüft QF-Test nun, ob bereits Modifikationen vorgenommen wurden und
fragt nach Bestätigung, bevor diese verworfen werden.
-
Beim Ein- oder Ausschalten des selektierten Knotens im Baum wurden noch nicht bestätigte
Modifikationen in der Detailansicht stillschweigend verworfen.
-
In sehr speziellen Fällen konnte ein Test im QF-Test Daemon an einer fehlenden
Engine-Lizenz scheitern, obwohl die Lizenz eigentlich vorhanden war.
Neue Features:
- Web
Es werden nun die Firefox Versionen 29 und 30 unterstützt.
- Web
Die neue 'Prozedur'
qfs.web.browser.mozilla.cleanupProfileDir
in der Standardbibliothek qfs.qft
entfernt überflüssige und zerstörte
Dateien (insbesondere places.sqlite
) aus dem Profil-Verzeichnis für das
Testen mit Firefox (standardmäßig <user.home>/.qftest/mozProfile
).
Die Prozedur wird automatisch während der Standard-Startsequenz über den Aufruf von
qfs.web.browser.settings.doStartupSettings
ausgeführt.
Beseitigte Bugs:
-
Die Warnung bezüglich doppelt vergebener Komponenten IDs in einer Testsuite wird beim
Start im Batchmodus nicht mehr angezeigt.
-
Ein Tabellenblatt in Excel 2010 mit einer Referenz auf eine Zahl in einem anderen
Tabellenblatt wird nun vom 'Excel-Datei' Knoten korrekt behandelt.
- Web
In manchen Webseiten konnte der Inhalt eines IFRAME nicht automatisch an die korrekte
Position gescrollt werden, um z.B. einen harten Mausevent abzuspielen oder einen Abbild
Check durchzuführen.
- Web
Der Druckdialog wird im Firefox nun korrekt angezeigt.
- Swing
Die Fehlerbehebung für den Tastaturfokus für Java 8 in QF-Test Version 3.5.5 konnte zu
einem sehr subtilen Problem mit dem Fokus von Popupfenstern führen.
Neue Features:
- Web
Die Unterstützung für Firefox Version 27 wurde aktualisiert, Firefox Version 28 ist neu
hinzugekommen.
- SWT
Die Unterstützung für Eclipse/SWT wurde für die Service Release 2 von Eclipse Version
4.3 aktualisiert.
-
Die Treibersuiten und die Dokumentation für die Integration mit der imbus TestBench
wurden auf den aktuellen Stand gebracht.
- Web
QF-Test ist beim Vergleich von URLs von Dokumenten und bei href Attributen nun weniger
restriktiv, so dass für eine einfache Änderung eines Hostnamens, einer IP-Adresse oder
eines Ports nicht mehr mit einem regulären Ausdruck im 'Merkmal' Attribut
gearbeitet werden muss.
Beseitigte Bugs:
-
Die Behandlung des Tastaturfokus bei der Wiedergabe mit Java 8 wurde verbessert und QF-Test
umgeht nun einen Bug in Java 8 beim nach vorne Bringen von Fenstern auf Windows
Systemen.
- Web
Die Proxy-Einstellungen für den Internet Explorer gelten nun nur für die laufende
Anwendung, so dass selbst bei einem Crash die Proxy-Einstellungen des Systems
unverändert bleiben.
- Web
Der user agent für Internet Explorer 11 wird nun auch bei QF-Test's Browser korrekt
geliefert.
- Web
Im Firefox wird ein Bestätigungsdialog beim Schließen oder Verlassen einer Webseite
nun korrekt behandelt und kann im Test angesteuert werden.
- SWT
Die Eingabe von Unicode Zeichen war bei 'Texteingabe' Knoten mit gesetztem
'Einzelne Events wiedergeben' auf manchen Linux Systemen nicht korrekt.
-
Wurde das Hauptfenster von QF-Test bei noch geöffnetem Protokollfenster geschlossen und
anschließend aus diesem Protokoll wieder zu einer Testsuite gesprungen, ging die
gespeicherte Sitzung mit den geöffneten Testsuiten verloren.
Neue Features:
- Web
Es werden nun die Firefox Versionen 26 und 27 unterstützt.
- Web
Die Unterstützung für das AJAX Toolkit ZK wurde für ZK Version 7 aktualisiert.
- Web
Die Synchronisation mit AJAX HTTP-Requests wurde für die Toolkits ExtJS, ICEfaces,
PrimeFaces und ZK verbessert.
- Web
Unter Windows muss QF-Test für die einmalige Installation seiner JavaScript Bridge für
Firefox nicht mehr mit Administrator-Rechten gestartet werden.
Beseitigte Bugs:
-
WebStart-Anwendungen bleiben problematisch. Es wurden nun weitere spezielle WebStart
Probleme umgangen, um den Start solcher Anwendungen stabiler zu machen.
-
Mausevent Knoten mit Variablen für die X oder Y-Koordinate, die zu leeren Werten
expandieren, wurden nicht korrekt auf die Mitte der Zielkomponente abgespielt, sondern
auf die relative Koordinate 0.
-
Die Informationen zur Wiedererkennung von Komponenten konnten bei einer tief
verschachtelten Hierarchie sehr lang werden und in extremen Fällen zum Überlauf des
Speichers im SUT führen.
-
Ein Speicher und Thread-Leck in der
DaemonLocator
Klasse wurde beseitigt.
-
Die in Jython enthaltene JNA Bibliothek löst nun keine Stackguard Warnungen mehr aus.
- Web
Eine Exception wurde beseitigt, die bei speziellen HTML-Tabellen ohne Spalten im Header
ausgelöst werden konnte.
Neue Features:
- Web
Zu den unterstützten AJAX Toolkits ist ICEfaces neu hinzugekommen. Details zu den
unterstützten AJAX Toolkits und deren Versionen finden Sie in Abschnitt 50.2.
- Web
QF-Test kann nun automatisch feststellen, ob eine Webseite auf einem der unterstützten AJAX
Toolkits basiert und den entsprechenden Resolver einhängen.
- Web
Es werden nun die Firefox Versionen 24 und 25 unterstützt.
-
Das QF-Test Demovideo auf dem Willkommens-Dialog verweist nun auf das aktualisierte Video
auf der QFS-Webseite, das vollständig überarbeitet wurde und auch gesprochene
Erklärungen enthält.
-
Bereiche von Tabellen-Zellen können nun zwischen QF-Test und Excel oder OpenOffice Tabellen
hin und her kopiert werden.
-
Wird der Name eines Parameters in einem aufrufbaren Knoten, z.B. einer 'Prozedur',
geändert, bietet QF-Test nun an, die Variablen der aufrufenden Knoten automatisch
anzupassen.
-
Die Standardbibliothek
qfs.qft
enthält im Package
qfs.swing.optionpane
einige neue Prozeduren für die Arbeit mit
Swing Standard-Dialogen, die auf der JOptionPane
Klasse basieren.
Beseitigte Bugs:
-
Die Stabilität des Starts von WebStart basierten Anwendungen und die Kompatibilität mit
alten WebStart Versionen wurde weiter verbessert.
-
Das Abbrechen einer langen Suche funktionierte nicht zuverlässig und konnte in einzelnen
Fällen sogar zu einem Deadlock führen.
-
Beim Ersetzen des regulären Ausdrucks ".*" konnte es in einigen Fällen zu
Doppel-Ersetzungen kommen.
-
Das zugeordnete Label von Komponenten konnte von QF-Test falsch ermittelt werden, wenn
das Label rechts von der Komponente angeordnet war.
Wichtige Änderungen:
-
Die Behandlung der Sicherheits-Warnungen von Java WebStart und Applets musste erneut
umgestellt werden.
Diese Warnungen werden nun implizit geschlossen, bevor die Verbindung mit QF-Test
hergestellt wird. Bei diesem Schritt können Zertifikate auch dauerhaft akzeptiert
werden. Details dieses Vorgangs können über die Prozedur qfs.swing.startup.setSecurityDialogSpec
beeinflusst werden.
Die Standard-Verzögerungen für WebStart und Applets haben sich ebenfalls geändert, wie
in der Prozedur qfs.swing.startup.setDelays
beschrieben.
Neue Features:
- SWT
Die Unterstützung für Eclipse/SWT-Version 4.3 "Kepler" wurde aktualisiert.
- Web
Die Firefox Unterstützung wurde für Firefox Version 22 aktualisiert und um Version 23
erweitert.
-
Die Anbindung an Testlink würde auf Testlink Version 1.9.7 aktualisiert.
-
'Warten auf Komponente' Knoten schließen nun automatisch das Warten auf die zugehörige GUI
Engine mit ein, analog zum impliziten Warten auf die Verbindung mit dem SUT.
-
Knoten für 'Prozeduren' und 'Packages', die per Doctag als "@deprecated"
markiert sind, werden im Baum nun durchgestrichen dargestellt.
- Web
Die neue Prozedur
qfs.web.general.integrateFirebug
in der
Standardbibliothek qfs.qft
lädt Firebug Lite in den laufenden Browser, was
beim Erstellen von Resolvern sehr hilfreich sein kann.
-
Über das Tastaturkürzel [Umschalt-Strg-I] können ein
oder mehrere Knoten nun sehr einfach in eine 'If' Sequenz eingepackt
werden.
Beseitigte Bugs:
-
Die Windows Programme
qftest.exe
und qftestc.exe
konnten die
konfigurierte Java-Version, den Speicher und die Sprache nicht aus der Windows Registry
lesen.
-
Das Speichern von Testsuiten und Protokollen sowie andere IO Operationen wurde für
langsame Netzlaufwerke deutlich beschleunigt.
-
Beim Wechsel des aktuellen Knotens über 'Ausführung hier fortsetzen' im Test-Debugger
wird nun so viel vom aktuellen Status der Ausführung beibehalten wie möglich. Speziell
beim Wechsel zu einer Prozedur konnte dieser Kontext bisher verloren gehen.
- Web
Auf Linux Systemen stürzte Firefox ab, wenn beim Beenden noch ein Dialog geöffnet war.
- Web
Die kürzlich hinzugekommene Unterstützung für ZK und PrimeFaces wurde in vielen Details
verbessert und beseitigt Probleme mit speziellen Tree, TreeTable und anderen Komponenten.
- Swing
Ein als "qfs:label" aufgenommenes weiteres Merkmal von Swing Komponenten dient nun auch
als Grundlage zur Generierung des 'QF-Test ID' Attributs. Bei Web und SWT
Komponenten war dies bereits der Fall.
-
Im QF-Test Daemon wurden registrierte
DaemonTestRunListener
nicht korrekt ausgehängt. Dadurch konnte die
Ausführung von Daemon-Aufrufen wie
qftest -batch -calldaemon -verbose ...
verzögert werden.
-
Das SUT kann nun ein RMIClassLoaderSpi implementieren, ohne in Konflikt mit QF-Test's RMI
Kommunikation zu kommen.
Wichtige Änderungen:
-
Die mit QF-Test ausgelieferte Jython Version wurde zu Jython 2.5.1 zurückgerollt, da Jython
2.5.2 zu eigenartigen, aber reproduzierbaren Problemen mit einigen SUTs führte. Da
Jython in QF-Test primär zur Skriptanbindung an Java genutzt wird, ist die Stabilität und
Störungsfreiheit des SUT viel entscheidender als Kompatibilität mit neueren Python
Modulen, so dass die Jython Version für QF-Test bis auf Weiteres bei 2.5.1 eingefroren
wird.
Neue Features:
- Web
Zu den unterstützten AJAX Toolkits sind PrimeFaces und ZK neu hinzugekommen, für Eclipse
RAP wurde die Unterstützung für RAP Version 2.0 aktualisiert. Details zu den
unterstützten AJAX Toolkits und deren Versionen finden Sie in Abschnitt 50.2.
- SWT
Es wird nun Eclipse/SWT-Version 4.3 "Kepler" unterstützt.
- Web
Es werden nun Firefox Versionen 21 und 22 unterstützt.
-
Die neue Prozedur
qfs.swing.filechooser.selectFiles
kann zur
Auswahl mehrerer Dateien in einem Swing JFileChooser
mit aktiver
Mehrfachselektion verwendet werden.
-
Der neue 'Browser-HTTP-Request' Knoten spielt HTTP GET oder POST Requests direkt im
laufenden Browser ab. Im Gegensatz zum bestehenden 'Server-HTTP-Request' Knoten, der
direkt mit dem Server interagiert, kann der 'Browser-HTTP-Request' mit Event und Check
Knoten kombiniert werden.
-
HTML-Reports enthalten nun Tortendiagramme, welche die Anzahl der erfolgreichen,
fehlgeschlagenen und übersprungenen Tests visualisieren. Ein Klick auf das Diagramm
führt zu einer detaillierteren Grafik. Die Anordnung der Dateien im Report wurde
durch Auslagerung von Bildern und Screenshots in eigene Verzeichnisse verbessert.
- Web
Beim Start aus QF-Test akzeptiert Firefox nun automatisch SSL Zertifikate für HTTPS
Verbindungen, jeweils beschränkt auf die aktuelle Session.
-
Die Testlink Anbindung unterstützt nun Testlink Version 1.9.4.
Beseitigte Bugs:
-
Die Sequenz zur Verbindung mit Applets und WebStart basierten Anwendungen wurde nach der
erneuten Verschärfung der Sicherheitskonzepte in aktuellen JREs von Oracle wieder
überarbeitet. Die Stabilität des Starts von Applets und WebStart sollte nun weniger vom
Timing abhängen und die Prozedur
qfs.swing.dialogs.handleSecurityWarning
kann jetzt alle Sicherheitswarnungen von
Applets und WebStart bestätigen.
-
Exceptions, die durch CSV oder Excel-Dateien mit inkonsistenten Daten verursacht wurden,
werden nun sauber abgefangen.
-
Beim Aktualisieren von Komponenten mit 'Element' Knoten konnte eine
Exception auftreten.
Hier finden Sie die seit QF-Test Version 3.4 implementierten größeren neuen Features kurz
zusammengefasst:
Neue Features:
- Web
Es wird nun Firefox Version 20 unterstützt.
- SWT
Die Unterstützung für Eclipse/SWT wurde zu Eclipse Version 4.2.2 und 3.8.2 aktualisiert.
-
Groovy wurde zu Version 2.1.0 aktualisiert.
-
Explizite Referenzen zwischen Testsuiten in einem gemeinsamen Projekt werden nun
automatisch berücksichtigt, sofern diese Testsuiten mit QF-Test Version 3.5.0 oder höher
abgespeichert wurden.
-
Mehrzeilige Werte können nun direkt in den Zellen der Tabellen von QF-Test bearbeitet werden.
-
Über zusätzliche Mausbuttons kann nun zwischen selektierten Knoten vor und zurück
navigiert werden.
-
Ein Doppelklick auf einen Knoten, der einen anderen Knoten referenziert, navigiert nun
zu dessen Ziel, z.B. von einem 'Prozeduraufruf' Knoten zur 'Prozedur'.
-
Testsuiten und Protokolle können nun auf das Fenster von QF-Test gezogen werden, um sie zu
öffnen.
-
Die neue Prozedur
qfs.swing.dialogs.handleSecurityWarning
in der
Standardbibliothek qfs.qft
schließt die Sicherheitsdialoge, die von
aktuellen JREs beim Start von Applets oder WebStart basierten Anwendungen angezeigt
werden.
-
Die Prozedur
qfs.web.browser.general.startAsNewProcess
wurde
aktualisiert und schließt nun die Behandlung von Sicherheitsdialogen ein.
-
Eine weitere neue Prozedur namens
qfs.swing.startup.startWebstartSUT
kümmert sich um den Start von WebStart bis zur Verbindung mit dem SUT, wobei ebenfalls
automatisch die Sicherheitsdialoge geschlossen werden können.
-
Über die neue Prozedur
qfs.utils.files.readExcelFile
können Daten
aus einem Excel Arbeitsblatt in Jython oder QF-Test Variablen eingelesen werden.
- Web
Der 'Server-HTTP-Request' Knoten unterstützt nun optional eine Wartezeit und liefert den
HTTP-Statuscode der Anfrage zurück. Parameter werden nun bei der Wiedergabe statt bei
der Aufnahme kodiert, so dass es einfacher ist, Werte manuell einzutragen. Ältere
Testsuiten werden automatisch beim Laden konvertiert.
- SWT
Die Namen, die standardmäßig für GEF Elemente aufgenommen werden, sind nun
aussagekräftiger und bieten bessere Wiedererkennung.
-
QF-Test interagiert nun mit dem Testmanagementtool Klaros. Nähere Informationen finden Sie
in Abschnitt 27.4.
-
Die Fehlerliste zu einem Protokoll enthält nun eine Spalte für Zeitstempel und liefert
Informationen zu erwarteten Fehlern.
-
Wird ein Test im Batchmodus mittels [Alt-F12]
angehalten, ist das SUT nicht länger blockiert, so dass Eingaben möglich sind.
-
Durch Angabe des Kommandozeilenarguments
-dontkillprocesses
kann im Batchmodus
verhindert werden, dass QF-Test im Verlauf des Tests gestartete Prozesse am Ende des
Testlaufs explizit beendet.
Beseitigte Bugs:
-
Ein Speicherleck bei großen Projekten mit vielen Testsuiten und komplexen
Include-Beziehungen wurde gestopft.
-
Ein Fehler in aktuellen JRE Sicherheits-Updates, der dazu führte, dass Tests im
Batchmodus mitten in der Ausführung stehen bleiben konnten, wird nun umgangen.
-
Beim automatischen Korrigieren von Referenzen konnten Variablen in QF-Test IDs von Komponenten
verloren gehen.
-
In einzelnen Fällen konnten externe Protokolle in Protokollen fehlen, die als .qzp
gespeichert wurden.
-
Wurde ein externes Protokoll als eigenständiges Dokument geöffnet, konnte auf darin
enthaltene externe Protokolle nicht korrekt zugegriffen werden.
-
Beim automatischen Aktualisieren von Projekten konnte die Anzeige im Projektbaum
durcheinander geraten.
-
Der native Dateiauswahldialog für Windows wird nun mittels SWT implementiert statt mit
XFileDialog. Dadurch wurden Probleme bei der Auswahl von Verzeichnissen und nach dem
Ändern des Dateityp-Filters bei einer "Speichern unter..." Operation behoben.
-
Bei Ausführung mehrerer Testsuiten im Batchmodus werden globale Variablen und Ressourcen
nur noch dann vor der Ausführung jeder Testsuite gelöscht, wenn das neue
Kommandozeilenargument -clearglobals angegeben ist.
- Web
Firefox unter Linux stürzt beim Schließen nicht mehr ab.
- Web
Für einzelne MIME Typen funktionierte der Download von Dateien mit Firefox nicht korrekt.
- Web
Checks des enabled-Status konnten im Internet Explorer fehlschlagen, wenn der Status
über JavaScript gesetzt wurde.
- Web
Warten auf Verschwinden eines Elements funktionierte nicht korrekt, wenn das betreffende
Element nur unsichtbar wurde, statt komplett aus der Hierarchie entfernt zu werden.
-
Variablen in 'Daten' Knoten werden bei Immediate Binding nun gleich bei der
Ausführung des enthaltenden 'Datentreiber' Knotens expandiert, so dass lokale
Variablen, die in diesem 'Datentreiber' gebunden werden, korrekt interpretiert werden.
-
Ein 'Return' in einem 'Finally' Knoten konnte eine Exception
im umgebenden 'Try' Knoten überlagern.
-
Mit Java 7 auf Mac Systemen konnte eine Exception beim Start von QF-Test auftreten.
-
Falls ein Prozess partout nicht beendet werden konnte, entfernte der
'Programm beenden' Knoten diesen nicht aus dem »Clients« Menü,
wonach der Start eines neuen Prozesses unter gleichem Namen scheiterte.
-
Auf Algorithmen basierende Abbild Checks wurden nicht immer korrekt im Report angezeigt.
-
Falls das Auflösen einer Abhängigkeit selbst nach Abbau des gesamten Stapels im Rahmen
der Fehler-Eskalation (vgl. Abschnitt 8.6.7) durch eine Exception
in der Vorbereitung fehlschlägt, räumt QF-Test nun nach dem letzten Versuch auf, so dass
der folgende Testfall ohne Altlasten beginnen kann.
-
Änderungen an der Position des Suchdialogs und anderer Dialoge wurden häufig ignoriert,
statt diese in die Benutzereinstellungen zu übernehmen.
Neue Features:
- Web
Die Unterstützung für die Firefox Versionen 18 und 19 wurde aktualisiert.
-
Das Konzept für Projekte umfasst nun auch Unterprojekte. Weitere Informationen hierzu
finden Sie in Kapitel 9.
- Web
Filter für JavaScript Fehler, die über die Option Folgende Fehler ignorieren definiert wurden, werden nun auf die komplette
Fehlermeldung angewandt, inklusive der URL und der Zeilennummer, in der der Fehler
aufgetreten ist.
- SWT
Es wurden einige neue Checks für Eclipse JFace Komponenten wie
FormText
,
Link
oder Hyperlink
hinzugefügt.
Beseitigte Bugs:
-
Durch das Öffnen sehr vieler Testsuiten wurde die Bedienbarkeit von QF-Test deutlich
eingeschränkt.
-
Das Aktualisieren von großen Projekten auf langsamen Dateisystemen wie Windows
Netzlaufwerken geht nun deutlich schneller vonstatten.
-
Waren mehrere Projekte gleichzeitig geöffnet, konnte die automatische Aktualisierung der
Projekthierarchie den Projektbaum durcheinander bringen.
- SWT
Die Geometrie von Events relativ zu einer SWT Shell bezieht nun den Fensterrahmen mit
ein.
- SWT
Ein Versatz der Koordinaten beim Hervorheben von Widgets innerhalb von
CTabFoldern
in Eclipse 4.2 wurde korrigiert.
-
Fehler, die außerhalb eines Testfalls auftreten, wurden im Report nicht korrekt
aufgeführt, wenn der enthaltende Testfallsatz mehrere Testfälle enthielt.
- Web
Ein Download von Dateien mit Firefox konnte zu einem JavaScript Fehler führen, wenn die
Datei
mimeTypes.rdf
in QF-Test's Mozilla Profil fehlte. Diese Datei wird nun
bei Bedarf automatisch erstellt.
- Web
Das Schließen des Browser-Fensters von Internet Explorer 10 konnte zur Blockade des
Browsers mit hängendem Prozess führen.
- Web
Bei Einbettung des Internet Explorer 10 in QF-Test lief der Browser immer im IE9 Modus. Nun
startet er korrekt im IE10 Modus mit Unterstützung der vorhandenen Einstellmöglichkeiten
zur Wahl des Kompatibilitätsmodus.
- Web
Bei der Wiedergabe von [Tab] Tastendrücken in Firefox wurde der Tastaturfokus nicht
immer korrekt aktualisiert.
-
Konflikte mit SUTs, die selbst Groovy 2 in einer anderen Version als QF-Test verwenden,
wurden beseitigt.
Neue Features:
- SWT
Die Unterstützung für Eclipse/SWT wurde zu Eclipse Version 4.2.1 und 3.8.1 aktualisiert.
-
Die Kommunikation mit dem Daemon wird nun mittels SSL abgesichert. In Kapitel 54 finden Sie Informationen, wie Sie die Sicherheit durch Erstellen
einer eigenen Keystore-Datei weiter erhöhen oder wie Sie diese Funktion deaktivieren
können, falls Sie die Interaktion mit älteren QF-Test Versionen benötigen.
-
Von QF-Test generierte JUnit-Reports enthalten nun
<skipped>
Tags.
Build-Tools wie Hudson/Jenkins können in ihren Reports übersprungene Tests so korrekt
wiedergeben.
Beseitigte Bugs:
-
Der Lizenzverbrauch von inaktiven QF-Test Daemons wurde nicht korrekt berechnet.
- Swing
Das Abspielen gewisser Events im Batchmodus konnte QF-Test in den Aufnahmemodus schalten,
was mit eigenartigen Seiteneffekten und einem Einbruch der Performance verbunden war.
- Swing
Das Timing für den Start von Java WebStart basierten SUTs wurde weiter verbessert und
so die Stabilität für diese Konstellation deutlich erhöht.
- Web
Übergänge des Tastaturfokus wurden beim Abspielen von Events im Browser nicht immer
korrekt simuliert.
- Web
Bei einem Download war der angezeigte Dateiname nicht immer korrekt.
- Web
Downloads in einem Vaadin basierten SUT konnten zu einer Exception führen.
- Web
Internet Explorer 10 liefert nun korrekte Versionsinformationen.
- SWT
Die Aufnahme von Drag & Drop Operation auf CTabFolder in Eclipse 4.2 funktionierte
nicht richtig.
- SWT
In manchen Fällen wurde die Höhe der Elemente von SWT List Komponenten nicht richtig
ermittelt. Bei Listen mit vielen Elementen konnte dadurch das falsche Element adressiert
werden.
-
Das neue 'Weiteres Merkmal' Attribut
qfs:label
wurde in speziellen Fällen
unterhalb von Swing JSlitPane und SWT SashForm Komponenten nicht richtig ermittelt
-
Die Behandlung eines SUT mit kombiniertem SWT/AWT GUI war seit Version 3.4.11 nicht
korrekt. QF-Test interpretierte dies als zwei SUT-Clients an Stelle von einem Client mit
zwei GUI-Engines.
-
Änderungen an der Position des Suchdialogs und anderer Dialoge wurden häufig ignoriert,
statt diese in den Benutzereinstellungen zu speichern.
Neue Features:
-
Mit der Einführung von Projekten (siehe Kapitel 9) wird eine
größere Anzahl von Testsuiten nun besser handhabbar und die Pflege von umgekehrten
Includes gehört weitgehend der Vergangenheit an.
- Web
Es gibt nun Unterstützung für das immer populärer werdende AJAX Toolkit Vaadin.
- Web
Die Integration von QF-Test mit verschiedenen AJAX Toolkits wurde auf eine neue Ebene
gebracht. Generische Klassen bieten eine einheitliche Sicht, die von den technischen
Details abstrahiert und den Fokus auf typische GUI-Elemente wie Tree oder Table legt,
mit denen Anwender vertraut sind. Dies schließt sogar das Konzept der Unterelemente ein,
so dass Tabellenzellen oder Baumknoten nun genauso einfach adressiert werden können, wie
bei Swing oder SWT. Dieser Funktionsumfang steht aktuell für Ext JS 4, RAP, RichFaces
und Vaadin zur Verfügung.
- Web
Es wird nun die Firefox Version 18 unterstützt.
-
Für SUTs, bei denen wenige bis gar keine Komponenten Namen haben, wurde die
Wiedererkennung durch Einführung eines neuen 'Weiteren Merkmals' namens
qfs:label
verbessert. Es steht für das am besten zur Komponente passende
Label, basierend auf verschiedenen Algorithmen, darunter auch einer, der das am nächsten
gelegene Label bestimmt, wenn die Komponente kein eigenes hat. Klassische Formulare mit
Textfeldern und daneben stehenden Bezeichnungen profitieren hiervon am meisten.
-
Der umgekehrte Fall, dass der gleiche Name mehrfach an Komponenten vergeben wird, kann
nun Dank der Option Wiedererkennung von Komponenten bei der Aufnahme validieren ebenfalls behandelt
werden.
-
Es gibt nun eine Integration von QF-Test in das Testmanagementtool QMetry. Nähere
Informationen finden Sie in Abschnitt 27.3.
-
Die Größe der Eingabefelder in der Detailansicht von QF-Test wird nun dynamisch den
enthaltenen Daten angepasst. Zusammen mit verbessertem Scrollen wird so die Erstellung
und Pflege von Testsuiten sehr viel angenehmer.
-
Über den Menüeintrag »Wiedergabe«-»Alles zurücksetzen« können mit einer einzigen Aktion der Test beendet,
Abhängigkeiten und globale Variablen zurückgesetzt und alle Clients beendet werden.
-
Unter Windows verwendet QF-Test nun standardmäßig den nativen Dateiauswahldialog,
einstellbar über die Option
Unter Windows und macOS nativen Dateiauswahldialog verwenden.
-
Es gibt neue Operationen für die Suche nach verschiedenen Arten von Duplikaten, leeren
Tests oder ungültigen Zeichen. Der Ergebnisdialog für diese und ähnliche Operationen
sowie die Suche bieten nun noch mehr Möglichkeiten und daraus exportierte Daten können
nun wieder eingelesen werden.
-
Suchen und Ersetzen Operationen schließen nun ganze Projekte ein und können unterbrochen
werden, falls sie zu lange dauern.
-
Tabellen mit Variablen oder Parametern können nun sortiert werden.
-
Per Rechtsklick kann nun direkt von der QF-Test ID einer Komponente in einer Variablen-Tabelle
zu der entsprechenden Komponente gesprungen werden.
-
Parameter von Prozeduren können nun über das Kontextmenü der Parameter-Tabelle zu den
Variablen aller aufrufenden Knoten hinzugefügt oder daraus entfernt werden.
-
Die Aufnahme von Prozeduren für Fenster mit vielen Komponenten ist nun deutlich
schneller.
-
Leerzeichen am Beginn oder Ende von Variablennamen werden nun generell entfernt, um
Verwirrung zu vermeiden.
-
Es gibt ein neues Tastaturkürzel (konfigurierbar über Hotkey für Aufnahme, Standard [F11]), über das die Aufnahme
direkt im SUT gestartet und beendet werden kann. Die vorherige Belegung für
[F11], die Aufnahme von Komponenten, wurde zu [Umschalt-F11] geändert.
-
Es gibt neue Checks für Baumknoten, die ganze (Teil-)Hierarchien inklusive Einrückung
auf einmal prüfen können.
-
Das Hervorheben von Komponenten im SUT für Event-Knoten funktioniert nun auch dann, wenn
sich der zugehörige 'Komponente' Knoten nicht in derselben Testsuite befindet.
-
Das Beenden des SUT und anderer Prozesse geht nun deutlich schneller.
-
Leerzeichen am Beginn oder Ende von 'Merkmal' Attributen werden nun
generell ignoriert. Dies ist vollständig rückwärtskompatibel, so dass es keine Probleme
gibt, wenn Merkmale mit Leerzeichen aufgenommen wurden.
-
Wo es hilfreich ist, werden für Tabellen nun Zeilennummern dargestellt, z.B. in
'Datentabelle' oder 'Check Elemente' Knoten.
-
Wo versehentlich eingefügte TAB-Zeichen oder Zeilenumbrüche schaden können, insbesondere
bei Variablendefinitionen oder bei Checks, werden diese nun als grafische Symbole
dargestellt. Dies kann über die Option Zeichen für Tabulator und Zeilenumbruch durch Symbole visualisieren
ausgeschaltet werden.
Neue Packages und Prozeduren in der Standardbibliothek qfs.qft
Beseitigte Bugs:
-
Der Verbindungsmechanismus für das SUT konnte Java WebStart immer noch zum Absturz
bringen und wurde weiter verfeinert, um das zu verhindern.
-
Die Einstellungen der Option Folgende Fehler ignorieren wurden nicht in
der Systemkonfigurationsdatei gespeichert.
Neue Features:
- Web
Es wird nun Firefox Version 20 unterstützt.
- SWT
Die Unterstützung für Eclipse/SWT wurde zu Eclipse Version 4.2.2 und 3.8.2 aktualisiert.
-
Die neue Prozedur
qfs.swing.dialogs.handleSecurityWarning
in der
Standardbibliothek qfs.qft
schließt die Sicherheitsdialoge, die von
aktuellen JREs beim Start von Applets oder WebStart basierten Anwendungen angezeigt
werden.
-
Die Prozedur
qfs.web.browser.general.startAsNewProcess
wurde
aktualisiert und schließt nun die Behandlung von Sicherheitsdialogen ein.
-
Eine weitere neue Prozedur namens
qfs.swing.startup.startWebstartSUT
kümmert sich um den Start von WebStart bis zur Verbindung mit dem SUT, wobei ebenfalls
automatisch die Sicherheitsdialoge geschlossen werden können.
Beseitigte Bugs:
-
Ein Fehler in aktuellen JRE Sicherheits-Updates, der dazu führte, dass Tests im
Batchmodus mitten in der Ausführung stehen bleiben konnten, wird nun umgangen.
- Web
Firefox unter Linux stürzt beim Schließen nicht mehr ab.
- Web
Für einzelne MIME Typen funktionierte der Download von Dateien mit Firefox nicht korrekt.
- Web
Checks des enabled-Status konnten im Internet Explorer fehlschlagen, wenn der Status
über JavaScript gesetzt wurde.
- Web
Warten auf Verschwinden eines Elements funktionierte nicht korrekt, wenn das betreffende
Element nur unsichtbar wurde, statt komplett aus der Hierarchie entfernt zu werden.
-
Ein 'Return' in einem 'Finally' Knoten konnte eine Exception
im umgebenden 'Try' Knoten überlagern.
-
Mit Java 7 auf Mac Systemen konnte eine Exception beim Start von QF-Test auftreten.
-
Änderungen an der Position des Suchdialogs und anderer Dialoge wurden häufig ignoriert,
statt diese in den Benutzereinstellungen zu speichern.
Neue Features:
- Web
Die Unterstützung für die Firefox Versionen 18 und 19 wurde aktualisiert.
- Web
Filter für JavaScript Fehler, die über die Option Folgende Fehler ignorieren definiert wurden, werden nun auf die komplette
Fehlermeldung angewandt, inklusive der URL und der Zeilennummer, in der der Fehler
aufgetreten ist.
Beseitigte Bugs:
-
Durch das Öffnen sehr vieler Testsuiten wurde die Bedienbarkeit von QF-Test deutlich
eingeschränkt.
- SWT
Die Geometrie von Events relativ zu einer SWT Shell bezieht nun den Fensterrahmen mit
ein.
- SWT
Ein Versatz der Koordinaten beim Hervorheben von Widgets innerhalb von
CTabFoldern
in Eclipse 4.2 wurde korrigiert.
-
Fehler, die außerhalb eines Testfalls auftreten, wurden im Report nicht korrekt
aufgeführt, wenn der enthaltende Testfallsatz mehrere Testfälle enthielt.
- Web
Ein Download von Dateien mit Firefox konnte zu einem JavaScript Fehler führen, wenn die
Datei
mimeTypes.rdf
in QF-Test's Mozilla Profil fehlte. Diese Datei wird nun
bei Bedarf automatisch erstellt.
- Web
Das Schließen des Browser-Fensters von Internet Explorer 10 konnte zur Blockade des
Browsers mit hängendem Prozess führen.
- Web
Bei Einbettung des Internet Explorer 10 in QF-Test lief der Browser immer im IE9 Modus. Nun
startet er korrekt im IE10 Modus mit Unterstützung der vorhandenen Einstellmöglichkeiten
zur Wahl des Kompatibilitätsmodus.
- Web
Bei der Wiedergabe von [Tab] Tastendrücken in Firefox wurde der Tastaturfokus nicht
immer korrekt aktualisiert.
Neue Features:
- SWT
Die Unterstützung für Eclipse/SWT wurde zu Eclipse Version 4.2.1 und 3.8.1 aktualisiert.
- Web
Es wird nun die Firefox Version 18 unterstützt.
Beseitigte Bugs:
-
Der Verbindungsmechanismus für das SUT konnte Java WebStart immer noch zum Absturz
bringen und wurde weiter verfeinert, um das zu verhindern.
-
Die Einstellungen der Option Folgende Fehler ignorieren wurden nicht in
der Systemkonfigurationsdatei gespeichert.
- Swing
Das Timing für den Start von Java WebStart basierten SUTs wurde weiter verbessert und
so die Stabilität für diese Konstellation deutlich erhöht.
- Web
Übergänge des Tastaturfokus wurden beim Abspielen von Events im Browser nicht immer
korrekt simuliert.
- Web
Bei einem Download war der angezeigte Dateiname nicht immer korrekt.
- Web
Internet Explorer 10 liefert nun korrekte Versionsinformationen.
- SWT
Die Aufnahme von Drag & Drop Operation auf CTabFolder in Eclipse 4.2 funktionierte
nicht richtig.
- SWT
In manchen Fällen wurde die Höhe der Elemente von SWT List Komponenten nicht richtig
ermittelt. Bei Listen mit vielen Elementen konnte dadurch das falsche Element adressiert
werden.
-
Die Behandlung eines SUT mit kombiniertem SWT/AWT GUI war seit Version 3.4.11 nicht
korrekt. QF-Test interpretierte dies als zwei SUT-Clients an Stelle von einem Client mit
zwei GUI-Engines.
Neue Features:
-
QF-Test ist nun kompatibel zu Java Applets, die mit JRE Version 1.6.0_35 oder höher oder
JRE Version 1.7.0_7 oder höher laufen. Ein Sicherheitsupdate von Oracle hatte den
existierenden Verbindungsmechanismus außer Kraft gesetzt. Der neue Mechanismus sollte
außerdem die Stabilität beim Start von SUTs mit Java WebStart verbessern.
- Web
Es wird nun die Firefox Version 17 unterstützt.
- Web
Mittels der neuen Option Folgende Fehler ignorieren können nun
spezifische Javaskript Fehler ignoriert und die restlichen trotzdem als Fehler gewertet
werden.
-
Beim Kopieren mehrerer Zeilen einer Tabelle in der Detailansicht von QF-Test werden diese
nun auch als Liste von TAB-getrennten Werten in die Zwischenablage das Systems kopiert
und können von dort in eine Excel-Tabelle oder ähnliches eingefügt werden.
-
Die neue Prozedur
qfs.utils.logNativeMemory
in der
Standardbibliothek qfs.qft
liefert Informationen zum Verbrauch von nativem
Speicher durch den Prozess des SUT.
-
Die von QFS erstellten Windows Programme sind nun mit einem offiziellen Zertifikat
signiert, um eine glattere Integration in Windows 7 und Windows 8 zu ermöglichen.
Beseitigte Bugs:
- Web
Downloads von großen Dateien waren in einzelnen Fällen unvollständig.
- Web
Die neuen <INPUT> Typen in HTML 5 werden nun auf INPUT:TEXT
abgebildet, um beim Testen unabhängig von deren Unterstützung im Browser zu bleiben.
-
Das Kommandozeilenargument
-runlogdir <Verzeichnis>
funktioniert nun auch für Daemon-Aufrufe
mittels qftest -batch -calldaemon
.
-
Leere formatierte Zellen in Excel 2010 Tabellen werden nun vom 'Excel-Datei'
Knoten korrekt erkannt.
- Web
Die Icons in der Werkzeugleiste des QF-Test Browsers sind nun transparent und stören
damit unter Windows 7 nicht mehr.
Neue Features:
- Web
Es werden nun die Firefox Versionen 15 und 16 unterstützt.
-
Komplexe QF-Test Operationen, wie die Suche nach Referenzen, werden für große Projekte auf
langsamen Dateisystemen, z.B. Netzlaufwerken, nun deutlich schneller ausgeführt.
Beseitigte Bugs:
- Web
Abstürze von Internet Explorer und Firefox wurden weiter reduziert.
Neue Features:
- SWT
Es werden nun Eclipse/SWT "Juno" Version 3.8 und 4.2 unterstützt.
- Web
Es wird nun Firefox Version 14 unterstützt.
-
Es gibt neue Transformationen für Knoten in Testsuiten.
Beseitigte Bugs:
- Web
Ein signifikantes Speicherleck in QF-Test Browser-Anbindung wurde gestopft.
- Web
Mehrere Gründe für Browser-Abstürze wurden beseitigt, sowohl für Internet Explorer als
auch Firefox.
- Web
Die Wiedererkennung von Komponenten funktioniert nun auch dann, wenn Komponenten in
einer flachen Hierarchie aufgenommen werden, selbst wenn die Webseite
<FRAME> Knoten enthält.
- Web
Die Fortschrittsanzeige im Internet Explorer blieb immer sichtbar, selbst wenn eine
Webseite komplett geladen war.
- Web
Wenn der Pfad für das Installationsverzeichnis von Firefox Sonderzeichen enthielt,
konnte Firefox nicht aus QF-Test heraus gestartet werden.
- SWT
Unter Windows konnten Popup-Menüs einer Eclipse/SWT-Anwendung fälschlicherweise als
unsichtbar angesehen werden.
-
Dateien werden nun nicht mehr ohne Rückfrage überschrieben, wenn ein Abbild aus einem
'Check Abbild' Knoten gespeichert wird.
- 'Komponentengruppe' und 'Fenstergruppe' Knoten werden nun korrekt behandelt und
integriert, wenn Komponenten aus einer Testsuite importiert werden.
-
Ein weiterer Sonderfall für die Behandlung von '$'-Zeichen in Namen von Komponenten
wurde korrigiert.
Neue Features:
- Web
Es wird nun Firefox in der aktuellen Version 13 unterstützt.
- SWT
Es werden nun Eclipse/SWT-Versionen 3.8M7 bis 3.8RC2 und experimentell auch Eclipse/SWT
Version 4.2M7 bis 4.2RC2 unterstützt.
- Web
Die Unterstützung für das Richfaces Toolkit wurde verbessert.
-
Der 'Excel-Datei' Knoten lädt nun auch Dateien mit der Endung '.xlsm'.
Beseitigte Bugs:
-
Das Schützen von '$'-Zeichen in Namen von Komponenten funktionierte bei der direkten
Aufnahme von Prozeduren oder Komponenten nicht korrekt.
- Web
Checks für den enabled-Status funktionierten mit Internet Explorer 9 im IE 7
Kompatibilitätsmodus nicht korrekt.
- Web
Das Schließen eines Browser-Fensters konnte Firefox zum Absturz bringen.
- Web
Bei der Aufnahme von Prozeduren wurden falsche Aufrufe für
<SELECT> Elemente generiert.
Neue Features:
- Web
Es wird nun Firefox in der aktuellen Version 12 unterstützt.
-
Mittels der 'Prozedur'
qfs.swt.ctabfolder.openViewMenu
kann das ViewMenu eines CTabFolder generisch durch Angabe des Tab-Namens geöffnet
werden, sowohl mit Eclipse 3.x als auch mit Eclipse 4.
Beseitigte Bugs:
-
Skriptfehler wurden im Fehlerdialog nicht korrekt formatiert dargestellt. Im Protokoll
war die Darstellung hingegen korrekt.
-
Excel 2010 Dateien wurden nach Verwendung in einem Datentreiber mit einem
'Excel-Datei' Knoten nicht korrekt geschlossen.
- Web
Es gibt eine neue Umgehung für die Umgehung des Problems mit einem fehlenden MSVC
Manifest in Firefox 10 und höher. Probleme mit einer weiteren fehlenden MSVC DLL auf
Windows XP und Deadlocks beim Laden einer Flash Komponente im Firefox wurden behoben.
Neue Features:
Beseitigte Bugs:
-
Die Behebung des Problems mit einem SUT, das RMI mit einer speziellen Implementierung
des Service Provider Interface (SPI) verwendet, konnte in speziellen Fällen zu einem
Problem beim Laden von Klassen führen.
-
Das Löschen der letzten Zeile einer Tabelle mit Variablen in QF-Test konnte beim
anschließenden Versuch, eine Zeile in der Tabelle zu verschieben, zu einer Exception
führen.
- Web
Die Behandlung von JavaScript Fehlern durch QF-Test konnte zum Absturz des Internet
Explorer führen.
- Web
Wurde QF-Test versehentlich mit dem
bin
Verzeichnis einer älteren QF-Test Version
als Arbeitsverzeichnis gestartet, konnte es unter Windows beim Start eines Browsers aus
QF-Test zu einem DLL Versionskonflikt kommen.
- Web
Die Verwendung einer speziellen Schnittstelle im Internet Explorer kann zu geringfügigen
Abweichungen bei der Ausführung von JavaScript führen. QF-Test verwendet diese
Schnittstelle nun nicht mehr.
- Web
Auf einzelnen Systemen konnte die Umgehung des Problems mit einem fehlenden MSVC
Manifest in Firefox 10 und höher zu Problemen mit einer anderen DLL führen, so dass QF-Test
Firefox auf einem solchen System gar nicht mehr starten konnte.
Neue Features:
- Web
Es wird nun Firefox in der aktuellen Version 11 unterstützt.
-
Mit Hilfe der neuen 'Prozedur'
qfs.client.sendInput
in der
Standardbibliothek qfs.qft
kann Text an die Standardeingabe eines von QF-Test
gestarteten Prozesses geschickt werden.
Beseitigte Bugs:
-
Eine Race-Condition zwischen dem Ende eines Prozesses, der auf einem entfernten Rechner
läuft, und dem Empfang von dessen Ausgaben konnte zu einer unvollständigen Übermittlung
der Ausgaben führen.
-
Eine lang dauernde Suche konnte nicht zuverlässig abgebrochen werden.
-
Leere Werte von Variablen in den Attributen 'Name' oder
'Merkmal' von 'Komponente' Knoten werden nun korrekt als
"Name ignorieren" bzw. "Merkmal ignorieren" anstatt "Leerer Name" bzw. "Leeres Merkmal"
gewertet, was die Erkennung einer solchen Komponente schwierig bis unmöglich machte.
-
Der QF-Test Daemon registrierte sich nicht auf dem Standard-Port, wenn er ohne Angabe von
-daemonport <Port>
gestartet wurde.
-
Ein SUT, das RMI mit einer speziellen Implementierung des Service Provider Interface
(SPI) verwendet, konnte keine Verbindung zu QF-Test herstellen.
-
Die Kombination der Ausführung mehrerer Threads im Batchmodus mittels
-threads <Anzahl>
und der Verbindung mit einem Kindprozess des SUT über $(client):2 funktionierte nicht
korrekt.
- Web
QF-Test umgeht nun ein Problem mit einem fehlenden MSVC Manifest in Firefox 10, welches
beim Start des Browsers zu einer Fehlermeldung bezüglich falschen Ladens der C Runtime
Bibliothek führte.
- Web
Firefox 10 stürzte bei der Navigation zu about:plugins ab.
- Web
Nach einem Download, der auf JavaScript-Ebene durch einen Verweis beginnend mit '#'
ausgelöst wird, wurde fälschlicherweise das Browserfenster geschlossen.
Neue Features:
- Web
Es werden nun die aktuellen Versionen von Firefox 9 und Firefox 10 unterstützt.
- SWT
Es wird nun Eclipse/SWT-Version 3.8M5 und experimentell auch Eclipse/SWT
Version 4.2M5 unterstützt.
- SWT
Es gibt neue Checks für SWT
Decorations
, kleine Icons, die üblicherweise
neben einem Textfeld angezeigt werden. Sie können nun die Sichtbarkeit, das Icon und den
Tooltip einer Decoration
prüfen.
-
Iterationsbereiche können nun auch dann verwendet werden, wenn Daten auf Skriptebene
über das
databinder
Modul oder durch Aufruf einer der 'Prozeduren'
qfs.databinder.bindList
oder qfs.databinder.bindSet
in der
Standardbibliothek qfs.qft
bereitgestellt werden (vgl. Abschnitt 22.4).
-
Die Miniaturbilder in HTML-Reports sind nun von besserer Qualität.
Beseitigte Bugs:
-
Eine kleine Änderung in QF-Test Version 3.4.3 in Bezug auf die RMI Kommunikation zwischen
QF-Test und dem SUT wurde zurückgenommen, da sie zu Problemen führen konnte, wenn das SUT
selbst RMI verwendet.
-
Bei 'Check Abbild' Knoten mit speziellem Algorithmus und einer Wartezeit
wurde immer die gesamte Wartezeit ausgeschöpft, selbst wenn die Bilder sofort
übereinstimmten.
-
Wenn ein 'Check' Knoten mit Wartezeit fehlschlägt, zeigte QF-Test bisher den Status
der Zielkomponente zu Beginn des Checks an. Nun wird stattdessen der Status am Ende der
Wartezeit aufgeführt.
-
Wurden Knoten mittels Drag&Drop im Baum von QF-Test verschoben, konnte der Baum in speziellen
Fällen wild durch die Gegend springen.
-
Der Versuch, den selben Knoten mit Hilfe des Ergebnisdialogs der Suche zweimal zu
entfernen,
konnte zu einer Exception führen.
-
In der Standardbibliothek
qfs.qft
aktualisiert die 'Prozedur'
qfs.shellutils.touch
nun bei existierenden Dateien den Zeitstempel korrekt
und die 'Prozedur' qfs.autowin.getURLFromIE
funktioniert nun auch mit
Internet Explorer Version 6.
- SWT
Bei der Aufnahme eines Mausklicks auf ein SWT ToolItem, das ein Menü öffnet, werden die
Koordinaten nun so aufgenommen, dass der Event korrekt wiedergegeben werden kann.
- Web
Wurde nach dem Schließen eines modalen Browser-Fensters ein Fehlerdialog angezeigt,
konnte es passieren, dass das Hauptfenster des Browsers nach dem Schließen dieses
Dialogs blockiert blieb.
- Web
JavaScript Fehler im Internet Explorer wurden im Protokoll von QF-Test nicht korrekt
wiedergegeben.
- Web
In speziellen Fällen konnte das initiale Laden einer Webseite fehlschlagen.
- Web
Das Hervorheben der selektierten Komponente im Browser funktioniert unter Linux nun
besser.
- Web
Webseiten mit einem Flash Element wurden unter Linux teilweise nicht korrekt angezeigt.
- Web
Der Dateiname, der beim Upload einer Datei unter Linux aufgezeichnet wurde, enthielt
fälschlicherweise das Windows Trennzeichen für Dateipfade '\'.
- Web
Es gab Probleme mit dem Start des Browsers unter speziellen Windows Versionen, wenn QF-Test
in einem Verzeichnis mit Leerzeichen installiert wurde, z.B. "C:\Program Files (x86)".
Neue Features:
- Web
Es werden nun die aktuellen Versionen von Firefox 8 und Firefox 9 unterstützt.
-
Der 'Excel-Datei' Knoten kann nun auch
.xslx
Dateien im Excel
2010 Format lesen.
-
Bei einigen Algorithmen für Bildvergleiche wurde die Performanz deutlich verbessert.
-
Es ist nun möglich, den aktuellen Wert einer Option per Skript über die Methode
rc.getOption
zu bestimmen. Details hierzu finden Sie in Abschnitt 49.5.
Beseitigte Bugs:
-
Beim Wechsel von Testsuiten durch Klick auf den Reiter für eine Suite wurde der
Tastaturfokus nicht korrekt wieder hergestellt.
-
Das Tastenkürzel [Strg-D] zum Setzen von Lesezeichen
funktionierte nicht.
-
Das Springen von einem Knoten im Debugger-Fenster zum selben Knoten in der Testsuite
funktioniert nun wieder.
-
In besonderen Fällen konnte QF-Test unter Windows beim Versuch das SUT zu beenden den
falschen Prozess abschießen.
Neue Features:
- Web
Firefox 6 wird nun voll, Firefox 7 experimentell unterstützt.
-
Zur einfacheren Integration mit Continuous Integration Tools wie Hudson/Jenkins oder
TeamCity kann der Exit-Status von QF-Test im Batchmodus als 0 erzwungen werden, auch wenn
Warnungen, Fehler oder Exceptions auftreten. Die entsprechenden Kommandozeilenargumente
lauten
-exitcode-ignore-warning
, -exitcode-ignore-error
und
-exitcode-ignore-exception
.
- Web
Sofern die Option
Geschützte Leerzeichen durch normale ersetzen
aktiviert ist, stellt QF-Test
geschützte Leerzeichen (no-break Space) in Webseiten als normale Zeichen in Checks und
in Attributen von 'Komponente' Knoten dar, um Verwirrung zu vermeiden.
- SWT
QF-Test unterstützt nun Aufnahme und Wiedergabe von "expand" und "collapse" Events für SWT
ExpandItems.
Beseitigte Bugs:
- SWT
Das integrierte Hilfe-Fenster von Eclipse verwendet unter Windows ein separates SWT
Display, was zu Problemen bei der Wiedergabe führte. Dieses wird nun zuverlässig als
'GUI-Engine' "swt1" angesprochen.
- Web
Die direkte Ausführung von JavaScript Code funktioniert nun trotz stärkerer
Sicherheitsüberprüfungen auch im Internet Explorer 9.
- Web
Der AJAX Resolver für GWT hat nun Version 1.4.0 mit verbesserter Filterung von
<DIV> Knoten aus der Komponentenhierarchie. Details zu den
unterstützten AJAX Toolkits und deren Versionen finden Sie in Abschnitt 50.2.
- Web
Das Öffnen eines modalen Popup-Fensters konnte Firefox 6 unter Windows zum Absturz
bringen.
- Web
Doppelklicks werden im Internet Explorer nun korrekt aufgenommen.
- Web
Ein 'Text auslesen' Knoten für ein <SELECT> Element
ermittelt nun den Text des darin selektierten <OPTION>
Elements. 'Text auslesen' Knoten für <OPTION> Elemente, die
als Unterelemente dargestellt sind, funktionieren nun korrekt.
-
Die Ausgabe von Unicode Text in Jython konnte im Batchmodus zu Problemen führen.
-
Der Inhalt von 'Datentabelle' Knoten fehlte im Protokoll.
-
Ein 'Warten auf Client' Knoten mit sehr kurzer 'Wartezeit' warf keine
ClientNotConnectedException
, wenn er als Einzelschritt im Debugger ausgeführt
wurde.
-
Der QF-Test Daemon erzeugte beim Start eines entfernten SUT Prozesses für die Prozedur
qfs.daemon.startRemoteSUT
Threads, die nicht korrekt beendet
wurden.
-
Beim Übernehmen von fehlgeschlagenen Abbild-Checks aus dem Protokoll wurde die Größe des
Abbilds nicht in allen Fällen korrekt übernommen.
-
Bei der Aufnahme von Prozeduren erstellte QF-Test keine Prozedur für eine Komponente, wenn
deren Attribute keinen Wert für einen Platzhalter wie <COMPFEATURE> hatten.
Neue Features:
- Web
Firefox 5 wird nun voll, Firefox 6 experimentell unterstützt.
- SWT
Die SWT Unterstützung wurde für Eclipse 3.7 Indigo aktualisiert.
-
Groovy wurde zu Version 1.7.10 aktualisiert.
-
Fehlermeldungen von Groovy Skripten werden nun mit vernünftigem Kontext und
Zeilennummern angegeben.
- SWT
QF-Test erkennt nun auch Unterkomponenten von abgeleiteten SWT Komponenten, die ihre Kinder
durch Überladen der Methode
getChildren()
mit leerem Rückgabewert
verstecken.
- Web
Es werden nun ExtJS Version 4 und RichFaces Version 4 unterstützt. Details zu den
unterstützten AJAX Toolkits und deren Versionen finden Sie in Abschnitt 50.2.
-
Das Attribut 'Als Regexp' von 'Fenster' und
'Komponente' Knoten kann nun als variabler Wert definiert werden.
- Web
Die vom Schnellstart-Assistenten für Web-Anwendungen erstellte Startsequenz ist nun
intelligenter aufgebaut und flexibler anpassbar.
-
Auf Windows Systemen macht QF-Test nun von der Eigenschaft "Immer im Vordergrund" Gebrauch,
um Fenster des SUT nach vorne zu zwingen, selbst wenn Windows das normalerweise nicht
zulässt. Diese Funktionalität kann über die Option Beim Nach-vorne-Bringen Fenster in den Vordergrund zwingen
deaktiviert werden.
-
Es gibt einen neuen Check, mit dem direkt das Icon einer Komponente geprüft werden kann,
ohne erst einen Abbild-Check für die gesamte Komponente aufzunehmen und in diesem dann
die gewünschte Region zu markieren.
Beseitigte Bugs:
-
Beim Startvorgang prüfte QF-Test nicht auf automatisch gespeicherte Dateien, wenn die
Testsuiten zur Wiederherstellung der letzten Sitzung geladen wurden.
-
Es war durch Drücken von [Return] zum richtigen Zeitpunkt möglich,
parallele Tests im selben Kontext anzustoßen, was zu verwirrenden Einträgen im Protokoll
und zu Exceptions führen konnte.
- Swing
Swing-Anwendungen, die über Java WebStart gestartet werden, haben zwei getrennte Kontexte, einen
Anwendungs und einen Sicherheits-Kontext. Ein 'SUT-Skript' wird nun immer
korrekt im Anwendungs-Kontext ausgeführt, sofern nicht explizit im Attribut
'GUI-Engine' der Sicherheits-Kontext ausgewählt ist.
- Swing
Es fehlte spezielle Unterstützung für JSlider Komponenten.
-
Die spezielle Variable ${qftest:runid} lieferte nicht den korrekten Wert, wenn die Runid
im Batchmodus explizit mittels
-runid [<ID>]
angegeben wurde.
- Web
Ein durch ein spezielles PHP Konstrukt erzwungener Download konnte den Internet Explorer
zum Absturz bringen.
- Web
Das Löschen des Cache für Firefox funktionierte nicht zuverlässig.
- Web
Beim Versuch, einen Check für ein im Internet Explorer dargestelltes XML-Dokument
aufzunehmen, konnte dieser abstürzen.
- Web
Es ist nun auch dann möglich, Checks für Applets aufzunehmen, wenn diese in QF-Test's
Browser eingebettet sind.
-
Die Groovy Implementierung von
qf.logError
war nicht korrekt.
-
In einer Workbench-Ansicht mit vielen offenen Testsuiten und einigen nach links
herausgescrollten Testsuite-Reitern lagen die Koordinaten für das Ziehen von Testsuiten
oder von Knoten in andere Testsuiten daneben, was zu überraschenden Ergebnissen führen
konnte.
- SWT
Ein Aufruf von
Display.asyncExec
aus einem Timer konnte zum Absturz von
Eclipse unter Linux Gtk 64 Bit führen.
- SWT
QF-Test gab Ressourcen bei der Aufnahme von Bildschirmabbildern innerhalb eines Eclipse/SWT
SUT nicht korrekt frei.
- SWT
Die Reihenfolge von SWT.Activation Events unterschied sich bei simulierten Events
minimal von der bei manueller Interaktion mit dem SUT.
-
Ein sehr langer Suchtext konnte die Größe des Suchen und Ersetzen Dialogs über den
Haufen werfen.
-
Markierungen in Protokollen propagierten nicht über 'Externes Protokoll'-Knoten hinweg.
-
Der Rückgriff auf Lazy Binding klappte für noch nicht definierte Properties nicht.
Hinweis
Jython und Groovy unterstützen Java-Version 1.4.2 nicht mehr, so dass nun auch QF-Test
Java-Version 1.5 für sich selbst und das SUT voraussetzt.
Hier finden Sie die seit QF-Test Version 3.2 implementierten größeren neuen Features kurz
zusammengefasst:
Neue Features:
- SWT
Die Unterstützung für Eclipse/SWT-Version 3.7 wurde aktualisiert.
-
Alle 'Daten' Knoten haben nun ein Attribut namens
'Iterationsbereiche', das dazu genutzt werden kann, die Iteration auf ein
einzelnes Element oder ein oder mehrere Intervalle zu beschränken. Dies kann bei der
Testentwicklung sehr hilfreich sein, oder um einen Test fortzusetzen, der abgebrochen
wurde, oder einen erneuten Test mit einer begrenzten Untermenge von Daten durchzuführen.
-
In der Workbench-Ansicht wird die aktuelle Sitzung, d.h. die geöffneten Testsuiten und
die aktuelle Position darin, beim Beenden von QF-Test gespeichert und
beim Start wieder hergestellt, sofern die Option Letzte Sitzung beim Start wiederherstellen
aktiviert ist. Weiterhin wurde die Workbench-Ansicht um die Möglichkeit erweitert, über
das »Datei« Menü alle modifizierten Testsuiten zu speichern und es
kann nun via [Strg-F6] zwischen den zuletzt aktiven
Testsuiten gewechselt werden.
-
Der Wechsel zum vorhergehenden/nächsten Knoten wurde vereinheitlicht und sollte nun auch
in Spezialfällen konsistent funktionieren. Nach der Aufnahme von Komponenten können Sie
nun durch Sprung zum nächsten Knoten direkt zur aufgenommenen 'Komponente'
springen, selbst wenn kein neuer Knoten aufgenommen wurde und der existierende Knoten
sich in einer anderen Testsuite befindet.
-
In den Ergebnis-Dialogen für Suchen/Ersetzen und andere Funktionen können die Einträge
nun gefiltert werden.
-
Markierungen können nun auch für Knoten in Protokollen gesetzt werden, so dass
mehrstufige Suchoperationen auch in Protokollen möglich sind.
-
Im Schnellstart-Assistenten wurde die Unterstützung von Applets in einem Browser
verbessert und für Web-Anwendungen im Internet Explorer kann nun der Kompatibilitätsmodus
angegeben werden. Umgesetzt werden diese Funktionen über die neuen Prozeduren
qfs.web.browser.general.startAsNewProcess
und qfs.web.browser.settings.enableCompatibilityMode
in der Standardbibliothek
qfs.qft
.
-
Beim Start im Batchmodus mit dem Kommandozeilenargument
-verbose [<level>]
wird nun für jeden durchgeführten 'Testfall' die Zahl der Exceptions, Fehler und
Warnungen angegeben.
-
Das neue Package
qfs.autowin.acrobat
in der Standardbibliothek
qfs.qft
enthält Methoden zum Speichern eines in Acrobat angezeigten PDF
Dokuments und zum Kopieren von dessen Text über die Zwischenablage (nur Windows). Diese
werden ergänzt durch das Package qfs.utils.files
mit Prozeduren, um
den Inhalt einer Textdatei zu überprüfen.
-
Die neuen Methoden
setProperty
und getProperty
im generischen
Skript-Modul qf
(vgl. Abschnitt 49.6) können dazu verwendet
werden, beliebige Daten mit einem GUI Element zu assoziieren, z.B. um sich in einem
Resolver ein Merkmal, einen Namen oder andere Informationen zu merken, deren erneute
Bestimmung bei jedem Aufruf des Resolvers zu aufwändig wäre.
-
Die
TestRunListener
API (vgl. Abschnitt 53.7) wurde
so erweitert, dass nun die Anzahl der Exceptions, Fehler und Warnungen, die unterhalb
eines Knotens aufgetreten sind, im TestRunEvent
des Aufrufs der Methode
nodeExited
für den betreffenden Knoten bereitgestellt werden.
- Web
Der AJAX Resolver für GWT wurde zu Version 1.2.0 aktualisiert. Er filtert nun
irrelevante <DIV> Knoten aus der Hierarchie der Komponenten und
kommt besser mit obfuskierten GWT Klassennamen zurecht. Details zu AJAX Resolvern und
deren Versionierung finden Sie in Abschnitt 50.2.
Beseitigte Bugs:
-
Das Überwachen des verfügbaren Speichers zur besseren Behandlung von OutOfMemoryErrors
konnte die Geschwindigkeit der Testausführung mit JDK 1.5 unter Windows deutlich
herabsetzen. Nun sollten die Tests wieder mit allen JDK Versionen mit voller
Geschwindigkeit ablaufen.
-
Einige der erweiterten Algorithmen für Abbild-Vergleiche funktionierten nicht sauber mit
JDK 1.5. Nun werden alle verwendeten Algorithmen auch für JDK 1.5 voll unterstützt und
liefern konsistente Ergebnisse, unabhängig von der JDK Version, mit Ausnahme von
Änderungen der Bildgröße, die in den verschiedenen JDK Versionen unterschiedlich
implementiert sind und zu geringfügigen Abweichungen bei der berechneten
Wahrscheinlichkeit führen können.
-
Die Prozedur
qfs.shutil.copy
in der Standardbibliothek
qfs.qft
war fehlerhaft. Sie kopiert nun Dateien und Verzeichnisse korrekt,
rekursiv falls nötig und fängt Sonderfälle wie das Kopieren eines Verzeichnisses in sich
selbst korrekt ab.
- Web'Check Abbild' Knoten funktionieren nun auch mit Firefox 4.0 korrekt.
- Web
Das Sichtbarscrollen eines Elements war im IE9 und bei Spezialfällen mit tief
verschachtelter Hierarchie nicht immer möglich.
- Web
Im IE9 wurden Knoten nicht immer korrekt hervorgehoben und das Hervorheben konnte die
Aufnahmen von Abbild-Checks stören.
- Web
Browser-Einstellungen für IE9 wurden zum Teil ignoriert.
- Web
Ein Download, der in einem Popup-Fenster angestoßen wurde, konnte den Browser zum
Absturz bringen.
-
Ein laufender Test im QF-Test Daemon kann nun auch dann mittels
-stoprun
unterbrochen und sauber gestoppt werden, wenn der Test gerade auf etwas wartet.
-
Die Struktur des JUnit XML-Reports ist nun zu Atlassian Confluence kompatibel.
-
In Groovy war die Methode
rc.getProperties()
nicht korrekt implementiert.
Neue Features:
- SWT
Es werden nun Eclipse/SWT-Versionen 3.6.2 und 3.7 Milestone 5 unterstützt.
-
Suchen und Ersetzen-Dialog sind nun integriert, so dass zunächst eine Suche gestartet
und dann mit den gleichen Kriterien ersetzt werden kann. Der Ersetzen-Dialog ist nun
nicht mehr modal und kann während des Arbeitens geöffnet bleiben.
-
Die Integration der Debugger-Funktionalität in die Workbench-Ansicht ist nun
abgeschlossen. Die Ansicht mit den aktuellen Variablen wird nun beim Betreten des
Debuggers automatisch in das Workbench-Fenster eingeblendet, sofern die Option
Variablen automatisch anzeigen nicht ausgeschaltet ist.
-
Mittels der Tastaturkürzel [Alt-1] bis [Alt-9] kann direkt zum entsprechenden Testsuite-Reiter in der
Workbench-Ansicht gesprungen werden.
-
Nach Drücken von [F2] im Baum der Testsuite setzt QF-Test den Fokus
direkt auf das Attribut in der Detail-Ansicht, das für die Darstellung des Knotens im
Baum relevant ist.
-
Die neue 'Prozedur'
qfs.client.renameClient
in der
Standardbibliothek qfs.qft
dient zum Umbenennen eines SUT-Clients, nachdem
er sich mit QF-Test verbunden hat. Dies ist insbesondere für ein SUT hilfreich, das mehrere
Unterprozesse startet, die sich dann als client:2, client:3 etc. verbinden.
-
Die neue spezielle Variablensyntax $_{qftest:skipnode} dient zum Überspringen eines
Knotens. Details und Anwendungsbeispiele finden Sie in Abschnitt 6.6.
- SWT
Hyperlinks im Eclipse FormText Widget werden nun als Unterelemente angesprochen.
-
Erweiterte Abbild-Checks stehen nun auch mittels der neuen Runcontext Methode
rc.checkImageAdvanced
in Skripten zur Verfügung. Details hierzu finden Sie
in Abschnitt 49.5.
-
Die verschiedenen
rc.check*
Methoden im Runcontext liefern nun das Ergebnis
der ausgewerteten Bedingung zurück, wie in Abschnitt 49.5 beschrieben.
-
Das Bild eines 'Check Abbild' Knotens in der Testsuite oder im Protokoll sowie von
Bildschirmabbildern kann nun in einem separaten Fenster angezeigt werden, entweder per
Doppelklick auf das Bild (nur Protokoll) oder über den entsprechenden Button oberhalb
des Bildes.
-
Es gibt ein neues Hilfsmodul für Skripte namens
qf
, beschrieben in
Abschnitt 49.6. Es bietet Varianten allgemein nützlicher Methoden wie
isInstance
sowie die Möglichkeit, Meldungen auch dann in das Protokoll zu
schreiben, wenn kein Runcontext zur Verfügung steht, zum Beispiel für Checker oder
Resolver Implementierungen.
-
Die Templates für die Aufnahme von Prozeduren sind nun noch mächtiger. Prozeduren können
nun auch bedingt erstellt werden durch Angabe von @CONDITION mit einem beliebigen Jython
oder Groovy Skript (vgl. Kapitel 55).
- Web
Die 'Prozedur'
qfs.web.browser.settings.setProxy
in der
Standardbibliothek qfs.qft
unterstützt nun auch die Angabe einer URL für
die automatische Proxy-Konfiguration.
Beseitigte Bugs:
-
Beim Wechsel der Ausführung zu einem anderen Knoten im Debugger konnten die Parent/Child
Beziehungen im Protokoll verschoben werden.
-
Das Setzen und Löschen einer Option per Skript konnte den Defaultwert der Option
verändern.
- SWT
Die Wiedergabe von Doppelklicks für SWT unter Windows wurde verbessert.
- SWT
Einige Auswahl Events für SWT sorgen nun besser für den nötigen Fokusübergang.
- SWT
Leerzeilen am Beginn eines SWT StyledText Widgets werden nun auch unter Linux korrekt
behandelt.
-
Fehler in verschachtelten Testfällen werden nun richtig im Report angezeigt.
- Web
Das Setzen der Proxy-Einstellungen funktioniert nun auch für Internet Explorer 9.
- Web
'Check Abbild' Knoten funktionieren nun auch mit Firefox 4 korrekt.
- Web
JavaScript und Anmeldungs-Dialoge werden nun auch mit Firefox 4 unterstützt.
-
QF-Test zeigt nun eine Warnmeldung an, wenn Sie eine schreibgeschützte Testsuite erstmals
modifizieren.
-
Doctags für 'Abhängigkeit' Knoten werden nun korrekt in der Pkgdoc-Dokumentation
angezeigt.
Neue Features:
-
Groovy wurde zu Version 1.7.6 aktualisiert.
-
QF-Test überwacht nun aktiv den in der Java-VM für die Testausführung verfügbaren Speicher.
Geht dieser zu Ende, wird der Testlauf sauber abgebrochen und das Protokoll gespeichert.
Dieses Vorgehen verhindert zudem extreme Performance-Einbrüche, wenn der Speicher knapp
wird.
-
Um von vorne herein zu vermeiden, dass der Speicher zu knapp wird, teilt QF-Test Protokolle
nun automatisch, abhängig von der Option Minimale Größe für automatisches Teilen (kB).
-
Das Arbeiten mit mehreren Testsuiten in der Workbench-Ansicht wurde verbessert. Die
aktive Suite wird nun mit fetter Schrift hervorgehoben, die Reiter können mittels Drag&Drop
beliebig angeordnet werden und ein Doppelklick rechts von allen Reitern erstellt eine
neue Testsuite.
-
Der Suchdialog bietet nun zusätzliche Optionen zum Einschränken der Suche, die nun auch
alle geladenen Testsuiten auf einmal umspannen kann. Um den Dialog für Standardfälle
nicht zu überladen, können Sie nun zwischen einfachem und erweitertem Modus wechseln.
-
Der Debugger ist nun weitestgehend in die Workbench-Ansicht integriert, mit Ausnahme der
Variablen-Anzeige, für die im Moment noch das separate Debugger-Fenster benötigt wird.
- Web
Es gibt einen neuen Aufnahmemodus für Web-Anwendungen. Dabei ignoriert QF-Test einzelne
Events und nimmt stattdessen komplette GET oder POST Anfragen auf. Diese werden durch
den neuen 'Server-HTTP-Request' Knoten repräsentiert. Bei dessen Wiedergabe interagiert
QF-Test direkt mit dem Webserver, ohne Bedarf für einen Browser. Dies kann für Lasttests
oder die Verarbeitung von Massendaten hilfreich sein.
-
Für Swing und SWT Komponenten mit einem Icon nimmt QF-Test nun einen Hashwert im Attribut
'Weitere Merkmale' auf, der aus den Bilddaten berechnet wird. Sofern das Icon
unverändert bleibt, sollte dies zu einer Verbesserung der Wiedererkennung führen,
insbesondere für Toolbar-Buttons ohne Beschriftung. Als Status für dieses Merkmal wird
normalerweise 'Sollte übereinstimmen' aufgenommen. Sie können diesen zu 'Ignorieren'
ändern, falls sich das Icon einer Komponente ständig ändert, oder zu 'Muss
übereinstimmen', wenn das Icon am besten geeignet ist, eine Komponente zu identifizieren.
-
Es gibt eine neue spezielle Variablensyntax, über die ein Defaultwert für eine
Variablenexpansion angegeben werden kann. Dies ist sehr hilfreich für generische
Komponenten und generell dort, wo für eine Variable ein sinnvoller Defaultwert
existiert, da dieser Wert dann eng mit der Verwendung der Variablen verknüpft ist und
nicht auf Ebene der Testsuite oder in einer 'Sequenz' definiert werden muss.
Die Syntax hierfür lautet ${default:varname:defaultvalue}.
-
Weitere spezielle Variablen liefern den Namen des aktuell ausgeführten 'Testfallsatz' oder
'Testschritt' Knotens analog zum bereits verfügbaren Namen des 'Testfalls'. Außerdem
existieren nun Zähler für die ausgeführten Testfälle, aufgetretene Fehler, etc.
Detaillierte Information finden Sie in Abschnitt 6.6.
-
Der Dialog, der die vorhandenen Methoden einer Komponente anzeigt, liefert nun auch die
Ergebnisse vom Aufruf dieser Methoden, sofern diese Java Bean Werte repräsentieren.
-
Die Option Erfolgreiche tolerante Abbildvergleiche in das Protokoll schreiben kann aktiviert werden, um das
Ergebnis eines toleranten Abbild-Checks auch im Erfolgsfall im Protokoll abzulegen. Dies
kann hilfreich sein, um die Parameter für den Check-Algorithmus möglichst genau
einzustellen.
-
Über die neue Kommandozeilenoption
-verbose [<level>]
für die Batchausführung mit oder
ohne Daemon können Ausgaben zum Fortschritt des Testlaufs eingestellt werden.
-
Mittels der neuen 'Prozedur'
qfs.utils.dumpHeap
in der
Standardbibliothek qfs.qft
kann ein Heap-Dump der Java-VM des SUT ausgelöst
werden, wenn dieses zu viel Speicher verbraucht. Dies kann mit Hilfe der 'Prozedur'
qfs.utils.logMemory
ermittelt werden, die nun den aktuell
benötigten Speicher als Ergebnis liefert.
Beseitigte Bugs:
-
Bei der Wiedergabe von Mausevents ohne Koordinaten auf Unterelemente steuert QF-Test nicht
mehr die Mitte des Unterelements an, sondern die Position 5 Pixel von links, vertikal
zentriert. Offenbar werden manche Events nicht sauber verarbeitet, wenn sie nicht den
Text eines Unterelements treffen, sondern lediglich innerhalb seiner Grenzen liegen.
Unterelemente mit kurzem Text in einer breiten Spalte konnten so zu Problemen führen.
-
Der Aufruf von Stored Procedures in einer Datenbank konnte mit den Standard Jython
Klassen scheitern.
-
Wurde bei ausgeschaltetem Debugger ein Breakpoint getroffen, konnte die anschließende
Ausführung in Einzelschritten gelegentlich scheitern und der Test einfach weiter laufen.
-
Ein Such-Treffer beim Status eines weiteren Merkmals konnte zu einer Exception führen.
-
Leerzeichen im Namen für separate Protokolle werden nun zu Unterstrichen geändert, da
Windows nicht gut mit Leerzeichen am Ende von Verzeichnisnamen zurecht kommt.
-
Die Datei für einen 'CSV-Datei' Knoten wird nun sofort nach dem Auslesen der
Daten geschlossen.
-
Rekursive Prozeduraufrufe konnten zu Problemen beim Import von Prozeduren oder der
Analyse von Referenzen führen.
Inkompatible Änderungen:
-
Die Unterstützung für Java 1.4.2 musste aufgegeben werden, um Jython und Groovy
aktualisieren zu können. QF-Test erfordert nun mindestens Java-Version 1.5.
-
Die Interaktion zwischen Jython und Java hat sich zwischen Jython 2.2 und 2.5 etwas
geändert, so dass Jython Skripte, die bisher in QF-Test funktionierten, eventuell
fehlschlagen können.
Neue Features:
-
Jython wurde zu Version 2.5.1 aktualisiert. Die meisten Skripte sollten unverändert
laufen. Inkompatibilitäten können vor allem durch Änderungen an Zeichenkodierungen
entstehen und da Java Strings von Jython nun durchgängig als Unicode Strings
interpretiert werden.
-
Groovy wurde zu Version 1.7.2 aktualisiert.
- SWT
Es wird nun Eclipse/SWT-Version 3.6.1 unterstützt.
- Web
Experimentelle Unterstützung für Firefox 4 und Internet Explorer 9.
-
QF-Test lässt sich nun gut in das zunehmend populäre Continuous Integration System
Hudson/Jenkins integrieren. Dazu gehört auch JUnit als neues Zielformat für QF-Test
Reports. Bitte lesen Sie Abschnitt 28.4 für genauere Informationen.
-
Abbild-Checks sind nicht länger auf die pixelgenaue Überprüfung beschränkt. Mehrere
flexible Algorithmen erlauben nun, Abbild-Checks mit einer konfigurierbaren Toleranz für
Abweichungen vom erwarteten Abbild durchzuführen. Details finden Sie unter Kapitel 58.
-
Neben Komponenten können nun auch Testfälle und Prozeduren von einer Testsuite in eine
andere importiert werden. Diese Funktionalität ist in Abschnitt 25.3
näher beschrieben.
-
Wenn Koordinaten für Mausevents keine Rolle spielen, entfernt QF-Test diese nun komplett,
anstatt sie auf (1,1) zu setzen. Bei der Wiedergabe wird der Event dann auf die Mitte
der Zielkomponente bzw. des Unterelements abgespielt. Näheres hierzu finden Sie unter
der Option
Mausevents ohne Koordinaten aufnehmen wo möglich
.
-
Durch die geschickte Kombination von Such- und Ersetzungs-Operationen mit Marken kann
nun Suche in mehreren Schritten verfeinert werden, so dass Sie eine genaue Kontrolle
darüber erhalten, wo Ersetzungen durchgeführt werden sollen. Anleitung und Beispiele
finden Sie in Abschnitt 2.3.3.
-
Das rückwärts oder vorwärts Navigieren zwischen Knoten funktioniert nun zwischen
verschiedenen Testsuiten und sogar Protokollen. So genügt nun ein einzelner Mausklick
oder Tastendruck, um nach einem Sprung von einem Prozeduraufruf zu seinem Ziel in einer
anderen Testsuite oder aus dem Protokoll zum entsprechenden Knoten in der Testsuite zum
Ausgangspunkt zurückzukehren.
-
Mehrere neue Buttons wurden zur Werkzeugleiste hinzugefügt und alle Buttons sehen nun
wesentlich besser aus. Die Menüstruktur wurde ebenfalls überarbeitet. Aktionen auf
Baumknoten sind nun unter dem neuen Menü »Operationen«
zusammengefasst, darunter auch viele neue Transformationen von Knoten. Zudem wurden
einige neue Tastaturkürzel vergeben, eine Übersicht finden Sie in Anhang C.
-
Das Layout von Pkgdoc und Testdoc Dokumenten wurde an das der Reports angepasst,
inklusive Icons für Knoten und Unterstützung von Testschritten. Diese können nun auf der
Kommandozeile über die Optionen
-testdoc-teststeps
, -testdoc-nodeicons
und
-pkgdoc-nodeicons
oder die entsprechenden Optionen im interaktiven Dialog
konfiguriert werden.
-
'Übersprungene' und 'Nicht implementierte' Tests können nun im Report komplett
unterdrückt werden und zwar mit Hilfe des Kommandozeilenarguments
-report-ignoreskipped
oder der entsprechenden Option im interaktiven Dialog.
-
Tests im Daemon können nun über die Kommandozeile mit Hilfe des neuen Arguments
-stoprun
gestoppt werden.
-
Die Bemerkung von 'Prozedur', 'Testfall' oder 'Abhängigkeit' Knoten kann nun
automatisch gefüllt werden. Hierbei werden Doctags für Parameter, charakteristische
Variablen und Autor vorausgefüllt. Die Aktion steht über »Weitere Knotenoperationen«-»Bemerkung füllen« im Kontextmenü zur Verfügung.
-
Die
TestRunListener
API liefert nun auch Informationen darüber, ob ein
Testlauf normal beendet wurde (mit oder ohne Exceptions), oder vorzeitig vom Anwender
abgebrochen (vgl. Abschnitt 53.7).
-
Die neue Methode
rc.callTest
im RunContext rc
dient zum Aufruf
von 'Testfall' oder 'Testfallsatz' Knoten. Im Gegensatz zu callProcedure
kann callTest
nur aus 'Server-Skript' Knoten aufgerufen werden. Die
Methode liefert den Exit-Status des aufgerufenen Tests zurück.
-
Die Konfigurationsdateien von QF-Test werden nun mit sortiertem Inhalt abgespeichert, was
deren Ablage in einem Versionskontrollsystems deutlich vereinfacht.
-
Verschiedene Prozeduren wurden zur Standardbibliothek
qfs.qft
hinzugefügt
oder dort verbessert. Deren Dokumentation ist nun auch online verfügbar und in den
Volltext-Index der QFS-Webseiten integriert. Ein direkter Link zur online Textsuche, die
das gesamte verfügbare technische Material abdeckt, ist über das Menü »Hilfe«-»Online Suche...« zugänglich.
-
Es ist nun möglich, Testsuiten aus einem Protokoll zu erstellen.
-
Mittels der neuen RunContext Methode
overrideElement
kann man nun GUI
Elemente aus einem SUT-Skript als individuelle Zielkomponente an QF-Test's Mechanismus zur
Wiedererkennung übergeben. Mehr dazu in Abschnitt 11.2.7.
Beseitigte Bugs:
- Web
Aus QF-Test gestartet lief der Internet Explorer 8 immer im IE7 Kompatibilitätsmodus. Dies
ist nun nicht mehr der Fall. Der Kompatibilitätsmodus kann nun explizit im
Schnellstart-Assistenten oder über die Prozedur
qfs.web.browser.settings.doStartupSettings
in der Standardbibliothek
qfs.qft
gewählt werden.
- SWT
Unter Linux konnte QF-Test vereinzelt SWT/Eclipse-Anwendungen durch Zugriff auf nicht mehr
verfügbare
Combo
Popups zum Absturz bringen.
- SWT
Die Wiedergabe für Eclipse/SWT unter Linux ist nun deutlich robuster, insbesondere bei
Zugriff auf Menüs.
- SWT
Leerzeilen am Ende von
StyledText
Widgets unter Linux werden nun korrekt
behandelt.
-
Die Erstellung von Reports mit vielen Bildschirmabbildern kommt nun mit sehr viel
weniger Speicher aus.
- Web
Downloads im Internet Explorer sollten nun zuverlässig funktionieren.
- Web
Im Falle überlappender Knoten mit Transparenz wählte QF-Test für die Aufnahme von Checks
gelegentlich den falschen aus. Diese Entscheidung wird nun dem Browser überlassen.
Mittels der Option Bei Aufnahme von Checks Zielelement durch Browser bestimmen lassen können Sie zum alten
Algorithmus zurückschalten.
-
Ein Speicherleck in QF-Test wurde gestopft, das im Zusammenhang mit SUT-Clients auftrat,
die sehr viele Ausgaben in das gemeinsame Terminal der QF-Test Workbench machten.
Neue Features:
-
Es wird nun das Testen von Eclipse/SWT-Version 3.6 "Helios" unterstützt.
- SWT
Im SWT FileDialog kann nun Mehrfachselektion aufgenommen und abgespielt werden.
Beseitigte Bugs:
-
Performance bei der Wiedergabe konnte drastisch einbrechen, wenn das Home-Verzeichnis
des Anwenders auf einem Netzlaufwerk lag.
- Swing
Eine in QF-Test 3.2.1 eingeführte Umgehung einer Schwäche in AWT konnte die Performance bei
der Wiedergabe für AWT/Swing beeinträchtigen.
- Swing
Ein weiteres Performance-Problem im Zusammenhang mit sehr großen Hierarchien von Swing
Menüs wurde ebenfalls beseitigt.
- Web
Mehrere Sonderfälle beim Hochladen von Dateien mit dem Internet Explorer werden nun
korrekt behandelt.
- Web
Das Herunterladen von Dateien mit dem Internet Explorer funktioniert nun auch bei HTTP
Redirection korrekt.
Beseitigte Bugs:
-
Mit einem 1.4 JDK startete QF-Test im interaktiven Modus nur, wenn beim Start bereits eine
zu öffnende Datei angegeben wurde.
- Web
Web-Tests funktionieren nun auch wieder unter Windows 2000.
-
Der QF-Test Debugger zeigte für 'Prozeduraufruf' und 'Testaufruf' Knoten jeweils
zwei Einträge auf dem Variablenstapel an.
-
Es gab ein Speicherleck beim interaktiven Editieren von Testsuiten mit
'Check Abbild' Knoten für große Bilder.
-
In sehr speziellen Fällen konnten beim Import von Komponenten in ihre eigene Testsuite
Referenzen falsch angepasst werden.
-
Beim Speichern von Protokollen im ZIP konnten vereinzelt Einträge nicht geschrieben
werden. QF-Test umgeht nun das Problem in der zu Grunde liegenden Bibliothek.
-
Zwei Probleme für SUTs mit mehr als einer GUI-Engine, z.B. einer WebStart-Anwendung oder
einer SWT/Swing Kombination, wurden beseitigt. In solch einem Fall zeichnete QF-Test bei
Fehlern mehr als einen Screenshot für den gesamten Bildschirm auf und manchmal konnte
die Verbindung mit der zweiten GUI-Engine fehlschlagen.
- Web
Der Dialog zum Hochladen von Dateien auf einer Webseite wurde von QF-Test nicht für alle
Browser korrekt erkannt. Zudem konnte die Prozedur
qfs.web.input.fileUpload
in der Standardbibliothek qfs.qft
nicht alle Fälle korrekt behandeln.
-
In neueren QF-Test Versionen gab es neben dem lokalen Jython Runcontext
rc
inoffiziell auch eine globale Version. In speziellen Fällen konnte dies zu einem
Namenskonflikt führen, so dass die (weiterhin inoffizielle) globale Version in
__rc
umbenannt wurde.
-
Einige kleine Probleme und gelegentliche Exceptions in Verbindung mit Ergebnislisten
wurden beseitigt.
Die folgende Übersicht fasst die wichtigsten neuen Features zusammen, die für QF-Test Version
3.2 implementiert wurden. Detaillierte Informationen zu den Unterschieden zwischen
QF-Test 3.0 und 3.2 finden Sie in den folgenden Abschnitten mit den Release Notes zu den
Versionen 3.2.0 und 3.1.x.
Neue Features:
- SWT
Die Unterstützung für Eclipse/SWT wurde auf den Stand der aktuellen Versionen 3.5.2 und
3.6M6 gebracht.
- Swing
Die Hervorhebung von Swing Komponenten erfolgt nicht mehr durch den Austausch von
Vorder- und Hintergrundfarbe, sondern durch Übermalen mit einem farbigen Rechteck analog
zu SWT und Web. Hierbei werden nun auch Unterelemente gekennzeichnet.
-
Der neue 'Check Boolean' Knoten mit 'Name des Check-Typs' Attribut 'visible' ist
analog zu einem 'Warten auf Komponente' Knoten, wird aber im Gegensatz zu diesem im
Report als Check aufgeführt und hat andere Standardwerte für die Ergebnisbehandlung.
-
Die zuletzt angesprochene Komponente und gegebenenfalls das zugehörige Unterelement
können in Groovy und Jython 'SUT-Skript' Knoten nun mittels
rc.getLastComponent()
und rc.getLastItem()
abgefragt werden.
- Web
Die Auswahl einer Datei zum Upload in einem Web-Formular kann nun unter Windows direkt
aufgenommen und wiedergegeben werden. Für eine plattformunabhängige Wiedergabe muss im
Moment weiterhin die Prozedur
qfs.web.input.fileUpload
aus der
Standardbibliothek qfs.qft
aufgerufen werden.
-
Die Ergebnislisten für komplexe Operationen wurden um weitere Funktionen ergänzt. Sie
können nun z.B. die eigentliche Ersetzung aus der Ergebnisliste für den "Ersetzen"
Dialog vornehmen oder mehrere fehlgeschlagene Checks auf einmal aus der Fehlerliste
eines Protokolls heraus aktualisieren. Zudem werden die Listen für eine länger dauernde
Operation nun kontinuierlich gefüllt und die Operation kann bei Bedarf abgebrochen
werden.
-
Zuletzt verwendete Suchausdrücke werden nun in der Anwender-Konfigurationsdatei
gespeichert.
- 'Abhängigkeit' Knoten in 'Packages' werden nun in pkgdok Dokumenten aufgeführt,
sofern sie nicht im Batchmodus über das Kommandozeilenargument
-pkgdoc-dependencies
oder die entsprechende interaktive Option unterdrückt
werden.
Beseitigte Bugs:
- Web
Rechts-Klicks für in JavaScript implementierte Popups müssen nicht länger als harte
Events wiedergegeben werden, um das Popup zuverlässig auszulösen.
- Web
Bei der Aufnahme von Checks wird nun die Z-Order von DOM-Knoten korrekt berücksichtigt,
so dass nicht länger eigentlich verdeckte Knoten im Hintergrund aufgezeichnet werden.
Neue Features:
- Swing
Es ist nicht länger nötig, Standard JDKs und JREs zu instrumentieren, wobei eine
bereits vorhandene Instrumentierung nicht schadet.
- SWT
Es wird nun die aktuelle Eclipse/SWT-Version 3.6 unterstützt.
- Web
Es wird nun Firefox 3.6 unterstützt.
-
Der neue Teil II 'Best Practices' im Handbuch beschreibt empfohlene
Vorgehensweisen basierend auf Erfahrungen aus Kundenprojekten und Feedback von
Anwendern. Diese werden Sie hoffentlich dabei unterstützen, die beste Strategie zum
Einsatz von QF-Test in Ihrem eigenen Projekt zu finden.
-
Reports wurden umstrukturiert und weiter ausgebaut. 'Check' Knoten haben nun ein
optionales 'Name' Attribut für ihre Darstellung im Report. Zudem wurde die
Performance der Reportgenerierung drastisch verbessert und ihr Speicherverbrauch
reduziert.
-
Die Baumdarstellung in Protokollen zeigt nun expandierte Werte anstelle von Variablen.
Dies kann über das Menü »Ansicht« eingestellt werden.
-
Protokolle werden nun noch effizienter kompaktifiziert und enthalten spezielle Einträge
als Platzhalter für Knoten, die dabei entfernt wurden.
- SWT
Unterstützung für das Eclipse Graphical Editing Framework (GEF) ist nun standardmäßig
aktiviert. Sie funktioniert nun auch mit mehreren GEF Editoren gleichzeitig. Weitere
Informationen finden Sie in Abschnitt 53.6.
- Web
Die neue Prozedur
qfs.web.input.fileUpload
in der Standardbibliothek
qfs.qft
unterstützt <INPUT:FILE> Knoten in den
verschiedenen Browser-Varianten.
-
Die TestLink Integration wurde vereinfacht (Abschnitt 27.5).
-
Bei Swing und SWT Tabellen und mehrspaltigen Bäumen können nun ganze Zeilen auf einmal
geprüft werden.
-
ExtraFeatureResolver können nun auch für SWT und Swing verwendet werden. Diese werden in
Abschnitt 53.1.11 beschrieben.
-
Die Standardbibliothek
qfs.qft
enthält nun Prozeduren auf Basis des autowin
Moduls. Mit diesen kann unter Windows auf Existenz eines Fensters geprüft und dieses
geschlossen werden.
-
Auf die Run-ID des aktuellen Testlaufs kann nun mittels ${qftest:runid} zugegriffen
werden.
-
Spezielle Variablen und Properties vom Typ Gruppe:Name können nun für
'Charakteristische Variablen' verwendet werden.
-
Bei Knoten wie 'Testschritt' oder 'Testfallsatz' mit mehreren Reitern für
Variablendefinitionen, insbesondere 'Testschritt', wird nun die Zahl der gebundenen
Variablen in den Reitern dargestellt, so dass diese sehr viel leichter wiederzufinden
sind.
Beseitigte Bugs:
- Web
Mehrere Ursachen für Abstürze im IE wurden beseitigt.
- Web
Warten auf Abwesenheit funktioniert nun korrekt mit unsichtbaren Knoten.
-
QF-Test blockiert nicht mehr so leicht, wenn ein SUT sehr viele Ausgaben erzeugt und die
JTextArea im Terminal mit der Anzeige nicht hinterher kommt.
-
Der interne Variablenstapel von QF-Test konnte in einigen speziellen Fällen durcheinander
geraten.
-
Bei der Aufnahme von Prozeduren werden '_'-Zeichen in Package- oder Klassennamen nun
korrekt behandelt.
Neue Features:
-
Der neue 'Testschritt' Knoten dient zur weiteren Strukturierung und Dokumentation
von Tests unterhalb von 'Testfall' Knoten. 'Testschritte' werden im Report
einzeln aufgeführt, sofern dies nicht mittels
-report-teststeps
verhindert wird.
Ein ähnlicher Effekt kann durch Markieren von beliebigen Knoten mit dem Doctag
@teststep erzielt werden, dem optional ein Name für den Knoten folgen kann.
-
Im Report können nun auch Checks (standardmäßig aus) und Warnungen (mit Ausnahme von
Warnungen zur Wiedererkennung von Komponenten, standardmäßig an) integriert in die
Testschritte aufgelistet werden. Außerdem werden Icons für Knoten dargestellt. Die
entsprechenden Einstellungen können mittels
-report-checks
,
-report-warnings
und -report-nodeicons
im Batchmodus vorgenommen bzw.
die jeweiligen Optionen im Dialog zur interaktiven Erstellung ausgewählt werden.
-
In der Workbench-Ansicht gibt es nun ein Kontextmenü für die Testsuite-Reiter.
-
Alle 'Bemerkung' Attribute können nun analog zu Skripten in einem externen Editor
bearbeitet werden.
-
Im Protokoll-Fenster gibt es neue Buttons in der Werkzeugleiste zur Navigation zum
nächsten bzw. vorhergehenden Fehler oder Warnung.
-
Die inkrementelle Suche scrollt bei Treffern nun intelligenter. Zudem kann das
durchsuchte Textfeld nun über die Tasten [Hoch],
[Runter], [Bild hoch] und [Bild runter] gescrollt werden.
- 'Abhängigkeiten' können nun optional in einem Namensraum aufgelöst werden, so dass
verschiedene Sätze von Abhängigkeiten für unabhängige Teile eines Tests verwendet werden
können, ohne dass die Abhängigkeiten einander in die Quere kommen. Weitere Informationen
finden Sie beim Attribut 'Namensraum für Abhängigkeiten'.
Beseitigte Bugs:
-
Durch die verwendete JIDE Bibliothek funktioniert die neue Workbench-Ansicht nicht mit
JDK 1.4. Sie wird nun beim Start von QF-Test mit einem 1.4 JDK automatisch deaktiviert.
-
Verschiedene Exceptions, die durch die neue Workbench-Ansicht und die Dialoge mit den
Mehrfach-Ergebnissen verursacht wurden, sind
nun beseitigt.
-
In der neuen Workbench-Ansicht konnte QF-Test bezüglich der aktuell geladenen Testsuiten
durcheinander kommen und dadurch eine Testsuite mehrfach laden, was zu verwirrendem
Verhalten und teilweise auch Exceptions führen konnte.
-
Der neue Mechanismus zur SWT-Instrumentierung behandelte immer nur ein Plugin, so dass
bei einer Eclipse-basierten Anwendung mit SWT Plugins für mehrere Plattformen das Plugin
für die aktuelle Plattform eventuell unverändert blieb.
-
Ein Aufruf von
stopRun
konnte den gemeinsamen RunContext im QF-Test Daemon
unbrauchbar machen.
- SWT
Text Checks für das SWT Group Widget fehlten.
- Web
Das automatische Scrollen von Webseiten für Abbild Checks und die Wiedergabe von harten
Events funktioniert nun korrekt.
-
Das Untermenü für Marken im Popup Menü konnte manchmal leer sein.
Neue Features:
- SWT
Es wird nun die aktuelle Eclipse/SWT-Version 3.5.1 unterstützt.
- Web
Wir haben begonnen, spezielle Unterstützung für verschiedene AJAX Web Toolkits zu
implementieren, darunter Ext GWT, Ext JS, GWT, qooxdoo und RAP. Statt einer tief
verschachtelten Hierarchie von <DIV> Knoten arbeitet QF-Test nun
mit dem eigentlichen "Rich Interface" aus Buttons, Labels, Trees, etc. Für
Informationen, wie Sie dieses Feature im aktuellen Stadium aktivieren, wenden Sie sich
bitte an QFS.
-
QF-Test unterstützt nun die Interaktion mit dem Open Source Test-Management Werkzeug
TestLink. Details hierzu finden Sie unter Abschnitt 27.5.
-
QF-Test startet nun standardmäßig in der neuen "Workbench-Ansicht", in der alle offenen
Testsuiten als Reiter dargestellt werden. Dieses Feature befindet sich noch in der
Entwicklung. Wenn es Probleme verursachen sollte oder wenn Sie die alte Sichtweise mit
mehreren Fenstern bevorzugen, können Sie über das »Ansicht« Menü
darauf zurückschalten.
-
Die neue Funktion »Referenzen analysieren« im Kontextmenü eines
Knotens dient zur statischen Validierung einer Testsuite. Sie kann die Existenz der
Zielknoten von 'Prozeduraufrufen', 'Testaufrufe',
'Bezüge auf Abhängigkeiten' und von Verweisen auf 'Komponenten' überprüfen.
-
Operationen, die nach mehreren Knoten suchen oder mehrere Knoten verändern, zeigen nun
als Ergebnis einen Dialog mit einer Liste dieser Knoten an. Sie können von dort direkt
zu diesen Knoten springen oder Marken für bestimmte oder alle diese Knoten setzen.
-
Knoten in einer Testsuite können nun mit verschiedenfarbigen Marken versehen werden, um
diese leichter zu finden und schnell navigieren zu können. Marken können entweder
individuell über das Menü »Bearbeiten«-»Marken« oder das Kontextmenü gesetzt werden, oder von einem
Dialog mit einer Knoten-Ergebnisliste.
-
Alle Textfelder, Terminals etc. in QF-Test Oberfläche können nun lokal durchsucht werden.
Drücken Sie hierzu [Strg-F] während das Feld den
Tastaturfokus besitzt. Details finden Sie in Abschnitt 2.3.1.2.
-
Der neue Komponenteninspektor ermittelt Felder und Methoden von Swing oder SWT
Komponenten sowie JavaScript Properties von DOM-Knoten in einem Web-Client und stellt
diese übersichtlich dar (vgl. Abschnitt 5.12).
-
Nachdem Sie eine Sequenz aufgenommen und in eine 'Prozedur' transformiert haben,
können Sie QF-Test durch Auswahl von »Knoten parametrisieren«
in deren Kontextmenü anweisen, automatisch Parameter für die Prozedur aus den enthaltenen
Knoten zu extrahieren.
- SWT
Die Eclipse/SWT-Instrumentierung mittels der 'Prozedur'
qfs.qft#qfs.swt.instrument.setup
baut nun ein instrumentiertes Plugin aus
dem Original und den QF-Test spezifischen Beigaben. Damit ist es nun möglich, auch selbst
erstellte SWT Plugins oder solche von inoffiziellen Eclipse Versionen zu
instrumentieren, für die QF-Test kein exakt passendes Plugin mitbringt.
-
Event-Knoten können nun in einen 'Warten auf Komponente' Knoten transformiert werden.
-
Das Tastaturkürzel für die 'Wiederherstellen' Operation wurde von [Strg-R] zu [Strg-Y] umdefiniert. In den
letzten Jahren hat sich letzteres als allgemeiner Standard etabliert.
-
Die Warnung bezüglich verschachtelter Ausführung von 'Testfall' Knoten kann nun
über die Option Warnung bei verschachtelten Testfällen ausgeben unterdrückt werden.
- Web
Wenn eine Webseite gescrollt werden muss, um einen harten Event oder einen Abbild-Check
ausführen zu können, erledigt QF-Test das nun selbst via JavaScript und verlässt sich nicht
mehr auf die internen Mechanismen der Browser, welche die Darstellung komplett über den
Haufen werfen können.
-
Die Erkennung einer Komponente auf Basis der Geometrie kann nun verhindert werden, indem
für Position und Größe im 'Komponente' Knoten ein '-' eingetragen wird.
-
Es ist jetzt möglich, nur eines der Attribute 'Insgesamt' oder
'Index' in einem 'Komponente' Knoten anzugeben und das
andere zu ignorieren.
Beseitigte Bugs:
-
Beim Ersetzen eines Regulären Ausdrucks mit einem leeren String über den Ersetzen-Dialog
kam es zu einer Exception.
-
Die Funktion, um 'Prozeduraufrufe' oder 'Bezüge auf Abhängigkeiten' relativ zu
machen, funktionierte noch nicht zuverlässig.
-
Beim Verschieben von mehreren 'Prozeduren' konnte die automatische Korrektur der
'Prozeduraufrufe' in speziellen Fällen scheitern.
-
Die Aufnahme von Prozeduren funktioniert nun auch für abgeleitete Klassen mit speziellem
ClassLoader korrekt.
-
Bei der Erstellung von Reports können Warnungen durch Angabe von
-report.warnings=false
im Batchmodus oder die entsprechende Option im
interaktiven Dialog komplett unterdrückt werden.
- SWT
Die Aufnahme eines Klicks auf eine editierbare Zelle einer Tabelle konnte dazu führen,
dass der Editor für die Zelle in der falschen Tabellenzeile aktiviert wurde.
- SWT'Index auslesen' Knoten waren für SWT nicht implementiert.
-
Das Entfernen oder Markieren von ungenutzten Komponenten, Imports und andere komplexe
Operationen auf Komponenten konnten fehlschlagen, wenn sich in der Testsuite ein
'Datentabelle' Knoten ohne Spalten oder mit leeren Zellen befand.
Inkompatible Änderungen:
-
Die unten beschriebenen Änderungen am Checkmechanismus sind vollständig
rückwärtskompatibel. Allerdings kann eine Testsuite, die mit QF-Test 3.1.1 gespeichert
wurde, mit älteren Versionen nicht mehr korrekt ausgeführt werden - mit Ausnahme von QF-Test
Version 3.0.3, die explizit bidirektionale Kompatibilität für dieses Feature bietet.
Wenn Sie QF-Test 3.1.1 einführen, können Sie also parallel ohne Probleme mit Version 3.0.3
arbeiten, sollten aber ältere Versionen wie 3.1.0 oder 3.0.2 nicht mehr verwenden.
Neue Features:
-
Der Übergang auf den neuen Checkmechanismus ist nun abgeschlossen. Das Erstellen eigener
Checker
ist vollständig dokumentiert (Abschnitt 53.5) und
diese können nun für alle Check-Datentypen erstellt werden. Alle 'Check' Knoten
haben nun ein 'Name des Check-Typs' Attribut und die alten 'Check editable', 'Check enabled'
und 'Check selected'-Knoten wurden durch 'Check Boolean' Knoten mit
entsprechendem 'Name des Check-Typs' ersetzt.
-
Es können nun Lesezeichen für Testsuiten, Protokolle und einzelne Knoten in einer
Testsuite definiert werden, so dass diese direkt über das neue Untermenü »Datei«-»Lesezeichen« angesprungen werden
können. Unter Abschnitt 40.1.5 ist beschrieben, wie Sie Lesezeichen
erstellen und Verwalten können.
- Web
Der neue
ClassNameResolver
(siehe Abschnitt 53.1.9)
ist zwar auch für SWT und Swing-Anwendungen verwendbar, bedeutet aber vor allem einen
wichtigen Meilenstein für das Testen von AJAX basierten Web-Anwendungen. Mit seiner Hilfe
und der neuen pseudo Klassenhierarchie für DOM-Knoten (siehe Abschnitt 5.4.1) kann eine tief verschachtelte Hierarchie von
<DIV> Knoten in eine prägnante Hierarchie mit ausdrucksstarken
Klassennamen verwandelt werden, welche die Komponentenerkennung drastisch verbessern.
- 'Prozeduren' können nun über das Untermenü »Knoten parametrisieren« im Popupmenü des 'Prozedur' Knotens automatisch parametrisiert
werden. Dieses Feature ist gerade in Arbeit und benötigt noch einiges an Feinabstimmung,
wir hoffen daher auf Feedback.
-
Beim Erstellen von testdoc Dokumentation ist es nun möglich, 'Testaufruf' Knoten zu
verfolgen und die referenzierten Ziele, also 'Testfall', 'Testfallsatz' oder ganze
Testsuite, so einzubinden, als wären sie Teil der Ausgangssuite. Aktivieren lässt sich
dies über das Kommandozeilenargument
-testdoc-followcalls
im Batchmodus oder die
entsprechende Option im Dialog bei interaktiver Generierung.
-
Es werden nun einige zusätzlich Varianten zum Konvertieren, Ein- und Auspacken von Knoten
angeboten.
Beseitigte Bugs:
-
Es wurden einige Probleme mit geteilten Protokollen beseitigt. Einträge konnten in
Kombination mit kompakten Protokollen verloren gehen, wenn ein geteiltes Protokoll nicht
als ZIP-Datei gespeichert wurde oder wenn geteilte Protokolle deaktiviert, das Attribut
'Name für separates Protokoll' aber definiert waren.
DaemonTestRunListener
funktionierten im asynchronen Modus nicht korrekt.
-
Bei der Reportgenerierung wurden Abbilder für fehlgeschlagene 'Check Elemente'
immer gespeichert, selbst wenn der Check nur zur Ablaufsteuerung diente und es sich
nicht um einen eigentlichen Fehler handelte.
-
Bei Verwendung der neuen regulären Ausdrücke von Java konnten im 'Ersetzen' Dialog
spezielle Ersetzungen auf Basis von Regexps nicht ausgeführt werden.
- Web
Bei der Bestimmung der Eindeutigkeit von 'ID'-Attributen zur Verwendung als Name war
QF-Test etwas zu strikt, so dass nicht alle potentiellen Namen zugewiesen wurden.
-
Die JDK-Instrumentierung funktioniert nun auch für ein OpenJDK-Verzeichnis.
- Web
Beim Warten auf ein neues Dokument wurde das Attribut 'Name des Browser-Fensters'
nicht korrekt berücksichtigt.
- Web
Beim Warten auf das Ende eines Downloads wurde immer die gesamte Wartezeit verbraucht.
- SWT
In sehr seltenen Fällen konnte das Abspielen einer Texteingabe eine SWT-Anwendung unter
Linux zum Absturz bringen.
-
Änderungen an Optionen mittels
rc.setOption()
wurden im SUT wieder
zurückgesetzt, wenn Optionen interaktiv über den Dialog geändert wurden.
- SWT
Die Wiedergabe von Events für SWT
MenuItems
war mit Gtk 2.4 unter RedHat
Enterprise Linux 4 nicht zuverlässig.
- SWT
Die Jython Module
ktable
und gef
für die entsprechenden SWT
Komponenten waren nicht korrekt an die neuen ItemResolver
und
Checker
Mechanismen angepasst.
- SWT
QF-Test erkennt nun korrekt die modalste SWT
Shell
, wenn mehrere modale
Shells
gleichzeitig geöffnet sind.
Inkompatible Änderungen:
-
QF-Test verwendet nun standard Java reguläre Ausdrücke, die wesentlich mächtiger sind als
das alte GNU Regexp Package. Ein grundlegender Unterschied ist, dass '{' und '}'
Sonderzeichen für Java Regexps sind, die eventuell mit '\' geschützt werden müssen.
Notfalls können Sie über eine Option auf das GNU
Regexp Package zurückschalten. Weitere Informationen finden Sie unter Abschnitt 48.3.
- Web
Im Gegensatz zu Mozilla behandelt der Internet Explorer eine lokale Navigation zu einem
Anker auf der aktuellen Seite wie eine normale Navigation, so dass bisher auch dafür ein
'Warten auf Laden des Dokuments' Knoten aufgenommen wurde, dessen Wiedergabe für Mozilla
fehlschlägt. QF-Test behandelt diese Situation nun einheitlich, indem es die zusätzliche IE
Navigation ignoriert. Folglich schlagen 'Warten auf Laden des Dokuments' Knoten für lokale Navigation
nun fehl und müssen aus Ihren Tests entfernt werden.
Neue Features:
- Web Der von QF-Test für das Testen von Web-Anwendungen eingebettete Browser unterstützt mit JDK
1.6.0_10 und höher seinerseits die Einbettung von Java Applets, so dass QF-Test nun auch die
Interaktion einer Web-Anwendung mit dem darin enthaltenen Applet testen kann.
-
Viele der Optionen von QF-Test, insbesondere solche mit Einfluss auf die Testausführung,
können nun zur Laufzeit über die Runcontext Methode
rc.setOption
gesetzt
werden. Weitere Informationen finden Sie in Abschnitt 11.2.6 und
Abschnitt 49.5.
-
Beim Verschieben von 'Prozedur', 'Abhängigkeit' oder 'Testfall'
Knoten können Referenzen auf diese Knoten nun automatisch angepasst werden. Ebenso wird
verfahren, wenn die Namen solcher Knoten, bzw. die 'QF-Test ID' von
'Komponente' Knoten, über den Ersetzen Dialog modifiziert werden. Als
zusätzliches Feature wurden die spezielle Variablengruppe ${id:...} (vgl. Abschnitt 6.6) und die Runcontext Methode
rc.id
(vgl. Abschnitt 49.5) eingeführt, über die beliebiger Text als Referenz auf die QF-Test ID
einer Komponente gekennzeichnet werden kann, welche bei Änderungen der Komponente
automatisch aktualisiert wird.
- 'Prozeduraufrufe' aus einer 'Prozedur' zu einer anderen 'Prozedur' in der
gleichen 'Package' Hierarchie können nun auch relative Prozedurnamen verwenden. Zudem
können 'Prozeduren' und 'Packages' nun durch Voranstellen eines '_'-Zeichens als
lokal für Ihre Testsuite markiert werden. Details hierzu finden Sie in Abschnitt 8.5.2 und Abschnitt 8.5.1.
-
Der Auswahldialog für 'Prozedur', 'Abhängigkeit' oder 'Testfall' Knoten zeigt
nun auch die Bemerkung des ausgewählten Knotens. Zudem können nun mehrere Knoten
selektiert werden, um so mehrere Aufrufe auf einmal einzufügen.
-
Ein 'Prozeduraufruf' für eine 'Prozedur' kann nun auch erstellt werden, indem der
'Prozedur' Knoten kopiert und an einer Stelle eingefügt wird, an der 'Prozeduren'
nicht erlaubt sind, also praktisch überall dort, wo ein 'Prozeduraufruf' stehen kann.
Auch Drag&Drop wird mit dem selben Effekt unterstützt.
- Web
Es ist nun möglich, direkt mit der JavaScript Engine des Browsers zu interagieren und
dort beliebige Skripte über die Methoden
DomNode.toJS
,
DomNode.evalJS
und DocumentNode.evalJS
auszuführen, welche in
Abschnitt 53.11 beschrieben sind.
-
Nach Auftreten eines Fehlers oder einer Exception enthält das Protokoll nun auch einen
Stacktrace Knoten, der alle Knoten auf dem Ausführungsstapel inklusive der von ihnen
gebundenen Variablen anzeigt, vergleichbar mit der Variablen-Darstellung im
Debugger-Fenster.
-
Es gibt ein neues API für verschiedene Arten von Resolvern und Checkern, darunter ein
ItemResolver
Interface zur Implementierung eigener Unterelemente von custom
Komponenten und ein Checker
Interface für eigene Checks, die genauso
aufgenommen und wiedergegeben werden können, wie die standard Checks von QF-Test. Näheres
hierzu finden Sie in Abschnitt 53.4 und Abschnitt 53.5.
-
Das neue
TestRunListener
API, beschrieben in Abschnitt 53.7, dient zur Überwachung von Testläufen auf Skript-Ebene. Das
analoge DaemonTestRunLister
Interface erweitert diese Möglichkeit auf QF-Test's
Daemon API, wie in Abschnitt 54.2.5 beschrieben.
- SWT
Die Unterstützung für Eclipse/SWT wurde auf den Stand des aktuellen Eclipse Milestone
3.5M7 gebracht.
- Web
Die Runcontext Methode
rc.callProcedure
funktioniert nun auch - mit den
üblichen Einschränkungen - aus einem 'SUT-Skript' für eine Web-Anwendung.
-
Die Ausführung eines 'Testfalls' oder 'Testfallsatzes' kann nun mittels der Runcontext
Methoden
rc.skipTestCase
, rc.skipTestSet
,
rc.stopTestCase
und rc.stopTestSet
übersprungen oder
abgebrochen werden, z.B. um Zeit zu sparen und überflüssige Fehlermeldungen zu
verhindern, wenn eine Abhängigkeit nicht aufgelöst werden kann. Details hierzu finden
Sie in Abschnitt 49.5.
-
Der Name des aktuell ausgeführten 'Testfalls' kann nun über die speziellen Variablen
${qftest:testcase.name}, ${qftest:testcase.qname} und ${qftest:testcase.reportname}
ermittelt werden (vgl. Abschnitt 6.6).
- Web
Über die neuen Methoden
setProperty
und getProperty
der Klasse
Node
aus QF-Test's pseudo DOM API für Web-Anwendungen können nun beliebige
Daten mit einem DOM-Knoten assoziiert werden, ohne dabei die Web-Anwendung selbst zu
beeinflussen.
-
Das neue Kommandozeilenargument
-ping
für qftest -batch -calldaemon
hilft bei der Überprüfung ob ein QF-Test Daemon läuft und auf Anfragen reagiert.
Beseitigte Bugs:
-
In QF-Test Version 3.0.2 wurden eventuell vorhandene harte TAB Zeichen in einem Jython oder
Groovy Skript schon bei der Anzeige durch Leerzeichen ersetzt, so dass ein solcher
Knoten sofort als modifiziert eingestuft wurde. Diese Änderung wurde nun zurückgenommen.
- Mac
Für SUTs unter Mac OS X wird die Benutzung der Bildschirm-Menüleiste unterdrückt, um
sauberes Aufnehmen/Wiedergeben zu erlauben.
-
Mit JDK 1.6 wurden einige von QF-Test's Dialogen nicht mit der korrekten Größe dargestellt.
-
Das Aktivieren einer Engine-Lizenz im Optionen-Dialog funktioniert nun korrekt.
-
Bei der Aufnahme von 'Prozeduren' wird nun immer ein neues 'Package' erstellt
anstatt die 'Prozeduren' in ein eventuell bestehendes 'Package' namens
"procbuilder" zu integrieren.
Neue Features:
- SWT
Es werden nun auch die Eclipse/SWT-Versionen 3.5M6 und 3.4.2 unterstützt.
-
Die Klasse
DaemonRunContext
aus QF-Test's Daemon API besitzt nun die neue
Methode callProcedure
. Diese und die bestehende Methode
runTest
unterstützen nun auch die direkte Übergabe von Parametern. Weitere
Informationen finden Sie in Kapitel 54.
Beseitigte Bugs:
- Web'Warten auf Laden des Dokuments' Knoten für Web-Clients funktionierten im Fall mehrerer
geöffneter Browserfenster nicht zuverlässig.
- Web
Die Überprüfung des enabled/disabled Zustands einer Komponente findet nun auch bei
Web-Anwendungen statt.
- Web Für Web-Clients wird nun auch die Aufnahme und Wiedergabe von MOVED und
SIZED Events unterstützt.
-
QF-Test führt jetzt regelmäßig eine Garbage-Collection durch, um zu verhindern, dass der
Speicher im sogenannten PermGen Space knapp wird, einer speziellen Region, die vielen
Java-Anwendungen Probleme bereitet. Für das SUT kann diese Garbage-Collection mittels
der Option Automatisch Garbage-Collection im SUT durchführen unterdrückt werden.
- SWT Das Verwerfen und neu Erstellen eines SWT
Displays
wird nun
korrekt behandelt.
- SWT Abgeleitete SWT
Widgets
, die als anonyme innere Klasse
implementiert sind, wurden in speziellen Fällen nicht richtig erkannt, was zu einer
ComponentNotFoundException
führen konnte.
-
Für Check-Knoten mit langer Wartezeit wird die Überprüfung auf Deadlocks nun
entsprechend angepasst.
-
Die Testsuite zur Demonstration der Anbindung an die Imbus TestBench wurde aktualisiert,
an die aktuelle TestBench Version angepasst und verarbeitet geteilte Protokolle nun
korrekt.
Neue Features:
-
Der Jython und Groovy Runcontext
rc
bietet nun die Methoden
getBool
, getInt
, getNum
und
getString
zum einfacheren Auslesen von typisierten Variablen in Skripten.
-
Proxy-Einstellungen für eine Web-Anwendung können nun direkt im Schnellstart-Assistenten
oder über die Prozedur
qfs.web.browser.settings.setProxy
in der
Standardbibliothek qfs.qft
angegeben werden.
-
Die Template-Datei für die automatische Erstellung von Prozeduren wurde um einen Eintrag
für Swing
JInternalFrame
Komponenten ergänzt.
Beseitigte Bugs:
-
Testen von Web-Anwendungen mit Mozilla unter Linux ist nicht mehr auf JDK 1.4 beschränkt.
-
Die Funktion zum Aktualisieren von Komponenten konnte bei Webseiten mit tief
verschachtelten Tabellen zu doppelt vergebenen QF-Test IDs von Komponenten führen.
-
Das Links-Nach-Rechts-Binden von Werten in 'Datentabelle' und anderen 'Daten'
Knoten funktioniert nun korrekt.
-
SQL-Abfragen in 'Datenbank' Knoten funktionierten nicht mit Oracle
Datenbanken, da sie von QF-Test automatisch mit einem ';'-Zeichen abgeschlossen wurden.
Dieses geschieht nun nicht mehr, wenn Ihre Datenbank einen solchen Abschluss von
Abfragen benötigt, müssen Sie das ';'-Zeichen selbst angeben.
-
Die Prozedur
qfs.swt.instrument.setup
verwendet nun - sofern verfügbar -
immer die exakt passende Version des SWT Plugins zur Instrumentierung. Dies ist wichtig
für SWT 3.4, bei dem die Versionen 3.4.0 und 3.4.1 wechselseitig inkompatibel sind.
-
Beim Aufnehmen von Prozeduren konnte ein '$'-Zeichen in einem Feld des SUT zu einer
Exception führen.
-
Das Laden von Groovy Klassen und das Parsen von Groovy Skripten wurde beschleunigt, für
manche Fälle - speziell Applets - drastisch.
-
Eine gefangene Exception unterhalb eines 'Finally' Knotens in einem
'Try' Knoten konnte den Fehlerstatus einer vorher in einem
'Catch' Knoten gefangenen Exception durcheinander bringen.
-
Die Demo-Testsuite
swt_addressbook.qft
basierte noch auf SWT 3.1, welches
nicht mehr mit QF-Test ausgeliefert wird. Diese Suite wurde auf SWT 3.4 umgestellt.
Die folgenden neuen Features wurden für Version 3 von QF-Test implementiert: