Inhaltsverzeichnis
Vorwort
Hinweise zur Benutzung dieses Handbuchs
Inhaltsverzeichnis
Abbildungsverzeichnis
Tabellenverzeichnis
I
Anwenderhandbuch
1
Installation und Start
1.1Systemvoraussetzungen
1.1.1Hard- und Software
1.1.2Unterstützte Technologien
1.2Windows Installation
1.2.1Installation mit dem Windows Setup-Programm QF-Test-5.3.3.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-5.3.3-sfx.exe
1.2.3Abschluss der Installation und Java Konfiguration
1.3Linux/Unix Installation
1.4macOS Installation
1.5Lizenzdatei
1.6Konfigurationsdateien
1.7Aufruf von QF-Test
1.8Firewall Sicherheitswarnung
2
Bedienung von QF-Test
2.1Die Testsuite
2.2Bearbeiten einer Testsuite
2.2.1Navigation im Baum
2.2.2Einfügemarkierung
2.2.3Knoten verschieben
2.2.4Knoten konvertieren
2.2.5Tabellen
2.2.6Packen und Entpacken
2.2.7Sortieren von Knoten
2.3Erweiterte Bearbeitungsmöglichkeiten
2.3.1Suchen
2.3.2Ersetzen
2.3.3Kompliziertere Such- und Ersetzungsvorgänge
2.3.4Mehrere Ansichten
2.3.5Toolbar-Buttons ausblenden
2.0+
3
Schnellstart Ihrer Anwendung
3.1Erzeugung der Startsequenz - Schnellstart-Assistent
3.2Ausführen der Startsequenz
3.3Wenn sich der Client nicht verbindet ...
3.4Programmausgaben und das Clients Menü
3.5 Indirektes Starten eines zweiten SUT als Kindprozess eines bereits verbundenen SUT
4
Aufnahme und Wiedergabe
4.1Aufnahme von Testsequenzen
4.2Abspielen von Tests
4.3Aufnehmen von Checks
4.4Komponenten aufnehmen
4.5HTTP Requests aufnehmen (GET/POST)
5
Komponenten
5.1Hierarchie der Komponenten eines GUI
5.2'Komponenten' in QF-Test
5.3'QF-Test IDs' von 'Komponenten'
5.4Klassen von Komponenten
4.0+5.4.1Generische Klassen
5.4.2Klassenaufbau in Webanwendungen
5.4.3Einstellungen zur Aufnahme von Klassen
3.1+5.5 Untersuchung von Komponenten
5.6Warum Namen so wichtig sind
5.7Erwägungen zur Vergabe von Namen
5.8'Komponenten' aktualisieren
5.9Lösung von Problemen bei der Wiedererkennung
5.10Zugriff auf unsichtbare Felder einer Webseite
6
Unterelemente komplexer GUI Komponenten
6.1'Elemente'
6.2Die 'QF-Test ID' eines 'Elements'
6.3Besondere 'QF-Test ID'-Syntax für direkten Zugriff auf Elemente
6.3.1Zugriff auf einfache Unterelemente
4.0+6.3.2 Mehrstufige Unterelemente und deren Adressierung
6.4Element-Aufnahme für Web-Tabellen aktivieren
7
Variablen
7.1Ermittlung des Wertes einer Variablen
7.2Definition von Variablen
7.3Variablen Beispiel
7.4Daten aus der GUI auslesen
7.5Externe Daten und spezielle Gruppen
7.6Berechnungen
3.0+7.7Immediate und Lazy Binding
8
Problemanalyse und Debugging
8.1Das Protokoll
8.1.1Fehlerzustände
8.1.2Navigation im Protokoll
8.1.3Werte von fehlgeschlagenen Checks als gültig akzeptieren
3.0+8.1.4Geteilte Protokolle
8.1.5Protokoll Optionen
3.3+8.1.6Eine Testsuite aus dem Protokoll erstellen
4.1+8.1.7Protokolle zusammenführen
8.2Der Debugger
8.2.1Aktivieren des Debuggers
8.2.2Das Debuggerfenster
8.2.3Debugger Kommandos
8.2.4Breakpoints setzen und löschen
9
Aufbau und Organisation einer Testsuite
9.1Struktur der Testsuite
9.2'Testfallsatz' und 'Testfall' Knoten
2.0+9.2.1 Verwaltung von Tests mit Hilfe von 'Testfallsatz' und 'Testfall' Knoten
9.2.2Konzepte
9.2.3Variablen und besondere Attribute
9.3'Sequenz' und 'Testschritt' Knoten
9.4'Vorbereitung' und 'Aufräumen' Knoten
9.5'Prozeduren' und 'Packages'
3.1+9.5.1Lokale 'Prozeduren' und 'Packages'
3.1+9.5.2Relative 'Prozeduren'
9.5.3Einfügen von 'Prozeduraufruf' Knoten
3.1+9.5.4Parametrisieren von Knoten
3.0+9.5.5Konvertieren von 'Sequenzen' und 'Testschritte' in 'Prozeduren'
9.6'Abhängigkeit' Knoten
9.6.1Funktionsweise
9.6.2Verwendung von 'Abhängigkeiten'
9.6.3'Abhängigkeiten' - Ausführung und Stapel von Abhängigkeiten
9.6.4'Charakteristische Variablen'
9.6.5'Aufräumen erzwingen'
9.6.6'Abhängigkeiten' abbauen
9.6.7Eskalation von Fehlern
9.6.8Fehlerbehandlung und Reaktion auf unerwartetes Verhalten
9.6.9Namensräume für Abhängigkeiten
9.7Dokumentieren von Testsuiten
3.5+
10
Projekte
11
Standardbibliothek
12
Skripting
12.1Allgemeines
12.2Der Runcontext rc
12.2.1Meldungen ausgeben
12.2.2Checks durchführen
12.2.3Variablen
12.2.4Zugriff auf die GUI Komponenten des SUT
12.2.5Aufruf von 'Prozeduren'
3.1+12.2.6Setzen von Optionen
12.2.7Komponenten bei Bedarf setzen
12.3Jython Skripting
12.3.1Module
12.3.2Post-mortem Fehleranalyse von Jython Skripten
12.3.3Boolean Typ
12.3.4Jython Strings und Zeichenkodierung
12.3.5Den Namen einer Java Klasse ermitteln
12.3.6Ein komplexes Beispiel
12.4Groovy Skripting
12.4.1Groovy Packages
12.5JavaScript Skripting
12.5.1Module
12.5.2Ausgaben
12.5.3Ausführung
13
Unit Tests
13.1Java-Klassen als Quelle für Unit Tests
13.2Grundlagen der Test-Skripte
13.2.1Groovy Unit Tests
13.2.2Jython Unit Tests
13.2.3JavaScript Unit Test
13.3Injections
13.3.1Komponenten in den Unit Tests verwenden
13.3.2WebDriver-Injections
13.4Unit Tests im Report
14
Testen von Webseiten
14.1Unterstützte Browser
14.2Allgemeine Vorgehensweise
14.3Die Verbindung zum Browser
14.4Erkennung von Web-Komponenten und Toolkits
14.5Cross-Browser Tests
14.6Testen von mobilen Webseiten
14.7Web-Testen im Headless-Modus
14.8Einbindung vorhandener Selenium Web-Tests
14.9Auswahl der Browser Installation
5.0+
15
Testen nativer Windows Anwendungen
15.1Einstieg
15.2Technischer Hintergrund
15.3Start/Anbindung einer Applikation
15.4Aufnahme
15.5Komponenten
15.6Wiedergabe und Patterns
15.7Skripting
15.8Optionen
15.8.1Windows Skalierung
15.8.2Sichtbarkeit
15.8.3Verbinden zu einem Fenster einer bestimmten Klasse
15.8.4Begrenzung der Anzahl von Kind-Elementen
15.9(Aktuelle) Einschränkungen
15.10Links
16
Testen von PDF Dokumenten
16.1PDF Client
16.1.1PDF Client starten
16.1.2Das Fenster des PDF Client
16.2PDF Events
16.2.1PDF Dokument öffnen
16.2.2Seite wechseln
16.3Checks für PDF-Komponenten
16.3.1'Check Text'
16.3.2'Check Abbild'
16.3.3'Check Font'
16.3.4'Check Font Größe'
16.4PDF Komponententypen
16.5PDF Komponentenerkennung
17
Testen von Java Desktopanwendungen im Browser mit Webswing oder JPro
17.1Technische Konzepte von JiB für Webswing und JPro
18
Testen von Electron Anwendungen
18.1Electron Client starten
18.1.1Electron Einstellungen im Schnellstart-Assistenten
18.2Electron spezifische Funktionalität in QF-Test
18.2.1Native Menüs
18.2.2Native Dialoge
18.3Technische Anmerkung zum Testen von Electron-Anwendungen
19
Testen von Webdiensten
19.1REST Webservices
19.1.1Der HTTP Standard und Webdienste
19.1.2HTTP Anfragen
19.1.3Beispiele
20
Datengetriebenes Testen
20.1Beispiele für 'Datentreiber'
20.2Anwendung von 'Datentreibern'
20.3Beispiele für 'Datentreiber'
20.4Fortgeschrittene Anwendung
21
Reports und Testdokumentation
21.1Reports
21.1.1Reportkonzepte
21.1.2Inhalt von Reports
21.1.3Reports erstellen
21.1.4Individualisierung von Reports
21.2Testdoc Dokumentation für 'Testfallsätze' und 'Testfälle'
21.3Pkgdoc Dokumentation für 'Packages', 'Prozeduren' und 'Abhängigkeiten'
22
Testausführung
22.1Testausführung im Batchmodus
22.1.1Verwenden der Kommandozeile
22.1.2Windows Befehlsskript
3.0+22.1.3Groovy
22.2Testausführung im Daemonmodus
22.2.1Starten des Daemons
3.0+22.2.2Steuern des Daemons über die QF-Test Kommandozeile
22.2.3Steuern des Daemons über die Daemon API
4.1+22.3Erneute Ausführung von Knoten (Rerun)
22.3.1Erneute Ausführung aus dem Protokoll
22.3.2Fehlerhafte Knoten sofort wiederholen
23
Verteilte Entwicklung von Tests
23.1Der Aufruf einer 'Prozedur' in einer anderen Testsuite
23.2Die Verwaltung von 'Komponenten'
23.3Verschmelzen von Testsuiten
23.3.1Importieren von Komponenten
3.3+23.3.2 Importieren von Prozeduren und Testfällen
23.4Verteilte Entwicklung von Tests
3.1+23.5Statische Validierung von Testsuiten
23.5.1Ungültige Referenzen vermeiden
4.0.3+23.5.2Ungenutzte Prozeduren finden
3.0+
24
Automatisierte Erstellung von Basisprozeduren
24.1Einführung
24.2Die Verwendung vom Procedure Builder
24.3Konfiguration des Procedure Builder
24.3.1Die Procedure Builder Definitionsdatei
3.0+
25
Anbindung an Testmanagementtools
25.1HP ALM - Quality Center
25.1.1Einführung
25.1.2Schritt für Schritt Anleitung
25.1.3Fehlersuche
25.2Imbus TestBench
25.2.1Einführung
25.2.2Generieren von QF-Test Vorlage-Testsuiten aus den Interaktionen
25.2.3Importieren der Resultate
25.3QMetry
25.3.1Einführung
25.3.2Demokonfiguration Beispiel
25.4Klaros
25.4.1Einführung
25.4.2Importieren von QF-Test Ergebnissen in Klaros
25.5TestLink
25.5.1Einführung
25.5.2Generieren von QF-Test Vorlagen-Testsuiten aus den Testfällen
25.5.3Ausführung der Testfälle
25.5.4Importieren der QF-Test Resultate nach TestLink
26
Integration mit Entwickler-Tools
26.1Eclipse
26.1.1Installation
26.1.2Konfiguration
26.2Ant
26.3Maven
3.3+26.4Jenkins/Hudson
26.4.1Jenkins installieren und starten
26.4.2Voraussetzungen für GUI-Tests
26.4.3Installation des QF-Test Plugins
27
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
27.1Einführung
27.2Einfaches Keyword-Driven Testing mit QF-Test
27.2.1Fachliche Prozeduren
27.2.2Atomare Prozeduren
27.3Keyword-Driven Testing mit dynamischen/generischen Komponenten
27.4Behavior-Driven Testing (BDT)
27.4.1Behavior-Driven Testing (BDT) mit technischer Beschreibung
27.4.2Behavior-Driven Testing (BDT) mit fachlicher Beschreibung
27.5Szenariodateien
27.6Eigene Testbeschreibungen
27.7Anpassung an Ihre Software
28
Durchführung von Lasttests mit QF-Test
28.1Hintergrund und Vergleich mit anderen Techniken
28.2Lasttests mit QF-Test
28.2.1Bereitstellung der Testsysteme
28.2.2Konzeption des Testlaufes
28.2.3Vorbereiten der Testsysteme für den Testlauf
28.2.4Testausführung
28.2.5Testauswertung
28.3Spezielles zur Testausführung
28.3.1Synchronisierung
28.3.2Messen von End-to-End Zeiten
28.4Troubleshooting
28.5Web-Lasttests ohne sichtbare Browser-Fenster
3.0+
29
Ausführung manueller Tests mit QF-Test
29.1Einführung
29.2Schritt-für-Schritt Anleitung
29.3Aufbau der Excel Datei
29.4Die Ausführungstestsuite
29.5Die möglichen Zustände
II
Best Practices
30
Einführung
31
Wie beginnt man in einem Testprojekt?
31.1Infrastruktur und Testumgebung
31.2Speicherorte
31.2.1Netzwerkinstallation
31.3Wiedererkennung von Komponenten
32
Organisation von Testsuiten
32.1Organisation von Tests
32.2Modularisierung
32.3Parametrisierung
32.4Arbeiten in mehreren Testsuiten
32.5Rollen und Zuständigkeiten
32.6Komponenten in unterschiedlichen Ebenen verwalten
32.7Umgekehrte Includes
33
Effiziente Arbeitstechniken
3.5+33.1Arbeiten mit QF-Test Projekten
33.2Erstellung von Testsuiten
33.3Die Standardbibliothek qfs.qft
33.4Ablage von Komponenten
33.5Erweitern von Testsuiten
33.6Arbeiten mit dem Skripteditor
34
Wie erreicht man eine robuste Komponentenerkennung?
34.1Benutzen der Standardeinstellungen
34.2Die 'Name übertrifft alles' Einstellung benutzen
34.3Verwendung von regulären Ausdrücken oder Arbeiten mit dynamischen Fenstertiteln
34.4Beeinflussen von Namen mittels NameResolver
34.5Klassen von Komponenten
34.5.1Umgehen von Klassenänderungen durch 'Nur Systemklassen aufzeichnen'
34.6Nicht notwendige Aufzeichnungen ersparen oder generische Komponenten einsetzen
3.1+34.7 Optionen zur Laufzeit verändern
35
Aufsetzen von Testsystemen
35.1Einrichten von Prozessen und Services via Aufgabenplaner
35.2Fernzugriff auf Windowsrechner
35.3Automatische Anmeldung auf Windowsrechnern
35.4Testausführung unter Unix
36
Testausführung
36.1Abhängigkeiten
36.2Wartezeiten und Verzögerungen
36.3Was soll man tun, wenn das Protokoll einen Fehler enthält?
III
Referenzteil
37
Einstellungen
37.1Allgemeine Optionen
3.5+37.1.1Projekte
37.1.2Editieren
37.1.3Lesezeichen
37.1.4Externe Programme
37.1.5Sicherungskopien
37.1.6Bibliothekspfad
37.1.7Lizenz
37.1.8Updates
37.2Aufnahme
37.2.1Folgende Events aufnehmen
37.2.2Eventsequenzen packen
37.2.3Komponenten
37.2.4Unterelemente
37.2.5Prozeduren
37.3Wiedergabe
37.3.1Client Optionen
37.3.2Terminal Optionen
37.3.3Events
37.3.4Wiedererkennung
37.3.5Verzögerungen
37.3.6Automatische Timeouts
37.3.7Rückwärtskompatibilität
37.4Web Optionen
37.4.1HTTP Requests
37.4.2Rückwärtskompatibilität
37.5SWT Optionen
37.6Debugger Optionen
37.7Protokoll
37.7.1Allgemeine Protokoll Optionen
37.7.2Optionen für den Inhalt von Protokollen
4.0+37.7.3Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
37.8Variablen
37.9Nur zur Laufzeit
38
Bestandteile einer Testsuite
38.1Die Testsuite und ihre Struktur
38.1.1'Testsuite'
38.2Test und Sequenz Knoten
38.2.1'Testfall'
38.2.2'Testfallsatz'
38.2.3'Testaufruf'
38.2.4'Sequenz'
38.2.5'Testschritt'
38.2.6'Sequenz mit Zeitlimit'
38.2.7'Extrasequenzen'
38.3Abhängigkeiten
38.3.1'Abhängigkeit'
38.3.2'Bezug auf Abhängigkeit'
38.3.3'Vorbereitung'
38.3.4'Aufräumen'
38.3.5'Fehlerbehandlung'
38.4Datentreiber
38.4.1'Datentreiber'
38.4.2'Datentabelle'
38.4.3'Datenbank'
38.4.4'Excel Datei'
38.4.5'CSV Datei'
38.4.6'Datenschleife'
38.5Prozeduren
38.5.1'Prozedur'
38.5.2'Prozeduraufruf'
38.5.3'Return'
38.5.4'Package'
38.5.5'Prozeduren'
38.6Ablaufsteuerung
38.6.1'Schleife'
38.6.2'While'
38.6.3'Break'
38.6.4'If'
38.6.5'Elseif'
38.6.6'Else'
38.6.7'Try'
38.6.8'Catch'
38.6.9'Finally'
38.6.10'Throw'
38.6.11'Rethrow'
38.6.12'Server Skript'
38.6.13'SUT Skript'
38.7Prozesse
38.7.1'Java SUT Client starten'
38.7.2'SUT Client starten'
38.7.3'Programm starten'
38.7.4'Web-Engine starten'
38.7.5'Browser-Fenster öffnen'
38.7.6'Shellkommando ausführen'
38.7.7'PDF Client starten'
38.7.8'Windows Anwendung starten'
38.7.9'Windows Anwendung verbinden'
38.7.10'Warten auf Client'
38.7.11'Programm beenden'
38.7.12'Warten auf Programmende'
38.8Events
38.8.1'Mausevent'
38.8.2'Tastaturevent'
38.8.3'Texteingabe'
38.8.4'Fensterevent'
38.8.5'Komponentenevent'
38.8.6'Auswahl'
38.8.7'Dateiauswahl'
38.9Checks
38.9.1'Check Text'
38.9.2'Check Boolean'
38.9.3'Check Elemente'
38.9.4'Check selektierbare Elemente'
38.9.5'Check Abbild'
38.9.6'Check Geometrie'
38.10Abfragen
38.10.1'Text auslesen'
38.10.2'Index auslesen'
38.10.3'Geometrie auslesen'
38.11Verschiedenes
38.11.1'Kommentar'
38.11.2'Variable setzen'
38.11.3'Warten auf Komponente'
38.11.4'Warten auf Laden des Dokuments'
38.11.5'Warten auf Ende des Downloads'
38.11.6'Ressourcen laden'
38.11.7'Properties laden'
38.11.8'Unit Test'
38.12HTTP Requests
38.12.1'Server HTTP Request'
38.12.2'Browser HTTP Request'
38.13Fenster, Komponenten und Elemente
38.13.1'Fenster'
38.13.2'Webseite'
38.13.3'Komponente'
38.13.4'Element'
38.13.5'Fenstergruppe'
38.13.6'Komponentengruppe'
38.13.7'Fenster und Komponenten'
38.14Historische Knoten
38.14.1'Test'
39
Exceptions
IV
Technische Referenz
40
Kommandozeilenargumente und Rückgabewerte
40.1Aufrufsyntax
40.2Kommandozeilenargumente
40.2.1Argumente für das Startskript
40.2.2Argumente für die Java VM
40.2.3Argumente für QF-Test
40.2.4Platzhalter im Dateinamen für Protokoll und Report
40.3Rückgabewerte von QF-Test
41
GUI Engines
42
Starten einer Applikation aus QF-Test
42.1Verschiedene Methoden zum Starten des SUT
42.1.1Starten des SUT aus einem Skript oder ausführbaren Programm
42.1.2Starten des SUT mittels Java WebStart
42.1.3Starten des SUT als Applet in einem Web Browser
42.1.4 Starten des SUT mittels java -jar <Archiv>
42.1.5 Starten des SUT mittels java -classpath <Pfad> <Startklasse>
42.1.6 Starten einer Webanwendung im Browser
42.1.7Öffnen eines PDF Dokuments
43
JRE und SWT Instrumentierung
43.1Deinstrumentieren eines JRE
43.2SWT Instrumentierung
43.2.1Vorbereitung einer manuellen SWT Instrumentierung
43.2.2Manuelle SWT Instrumentierung für Eclipse basierte Anwendungen
43.2.3Manuelle Instrumentierung für eigenständige SWT Anwendungen
44
Technische Details zu verschiedenen Themen
44.1Drag&Drop
44.2Wiedererkennung von Komponenten
44.3Timing
44.4Reguläre Ausdrücke - Regexps
44.5Zeilenumbrüche in Unix und Windows
44.6Schützen von Sonderzeichen (quoting)
44.7Auflösen von Include Dateien
45
Skripting (Jython, Groovy und JavaScript)
45.1Pfad für das Laden der Module
45.2Das Plugin Verzeichnis
45.3Initialisierung (Jython)
45.4Die Namespace Umgebung für Skript Knoten (Jython)
45.5Das API des Runcontexts
45.6Das qf Modul
3.0+45.7Image API
45.7.1Die ImageWrapper Klasse
45.8Exceptions
45.9Debuggen von Skripten (Jython)
46
Web
46.1Verbesserte Komponentenerkennung mittels CustomWebResolver
46.1.1Generelle Konfigurationsmöglichkeiten
46.1.2Untersuchung einer Webseite
46.1.3Die Prozedur installCustomWebResolver
46.1.4installCustomWebResolver - Erweiterung eines Webframework-Resolvers
46.1.5installCustomWebResolver - Tabelle und TreeTable
46.1.6installCustomWebResolver - Baum und TreeTable
46.1.7installCustomWebResolver - Liste
46.1.8installCustomWebResolver - Combobox
46.1.9installCustomWebResolver - TabPanel und Accordion
46.1.10Beispiel für den WebCarConfigurator
46.2Besondere Unterstützung für verschiedene Webframeworks
46.2.1Konzepte für Webframework-Resolver
46.2.2Eindeutige Bezeichner setzen
46.3Browser Verbindungsmodus
46.3.1QF-Driver Verbindungsmodus
5.3+46.3.2CDP-Driver Verbindungsmodus
46.3.3WebDriver Verbindungsmodus
46.3.4Bekannte Einschränkungen des WebDriver Modus
46.4Microsoft Edge (bis Version 44) - Besonderheiten
46.5Safari - Besonderheiten
47
Steuern und Testen von nativen Windows Anwendungen - ohne Verwendung der QF-Test win Engine
47.1Vorgehensweise
47.1.1Start der Anwendung
47.1.2Auflistung aller GUI-Elemente eines Fensters
47.1.3Informationen zu einzelnen GUI-Elementen
47.1.4Zugriff auf GUI Elemente
47.1.5Ausführen von Aktionen auf GUI-Elementen
47.2Beispiel
47.2.1Start der Anwendung
47.2.2Übersicht über die GUI-Elemente der Anwendung
48
Steuern und Testen von nativen MacOS-Anwendungen
48.1Vorgehensweise
48.1.1Start der Anwendung
48.1.2Auflistung aller GUI-Elemente eines Fensters
48.1.3Informationen zu einzelnen GUI-Elementen
48.1.4Zugriff auf GUI Elemente
48.1.5Ausführen von Aktionen auf GUI-Elementen
49
APIs für Erweiterungen
49.1Das resolvers Modul
49.1.1Verwendung
49.1.2Implementierung
49.1.3addResolver
49.1.4removeResolver
49.1.5listNames
3.1+49.1.6 Das NameResolver Interface
3.1+49.1.7 Das ClassNameResolver Interface
4.0+49.1.8 Das GenericClassNameResolver Interface
3.1+49.1.9 Das FeatureResolver Interface
49.1.10Das ExtraFeatureResolver Interface
3.1+49.1.11 Das ItemNameResolver Interface
3.1+49.1.12 Das ItemValueResolver Interface
49.1.13Das TreeTableResolver Interface
49.1.14Das InterestingParentResolver Interface
4.1+49.1.15 Das TooltipResolver Interface
49.1.16Das IdResolver Interface
4.1+49.1.17 Das EnabledResolver Interface
4.1+49.1.18 Das VisibilityResolver Interface
4.1+49.1.19 Das MainTextResolver Interface
4.1+49.1.20 Der BusyPaneResolver Interfaces
4.1+49.1.21 Der GlassPaneResolver Interfaces
4.1+49.1.22 Das EventSynchronizer Interface
4.1+49.1.23 Das BusyApplicationDetector Interface
49.1.24Matcher
49.1.25Externe Implementierung
49.2Das webResolvers-Modul
49.2.1Allgemeine Informationen
49.2.2addResolver
49.2.3removeResolver
49.2.4listNames
49.2.5Beispiele
49.3Die ResolverRegistry
3.1+49.4 Implementierung eigener Unterelemente mit dem ItemResolver Interface
49.4.1ItemResolver Konzepte
49.4.2Das ItemResolver Interface
49.4.3Die Klasse SubItemIndex
49.4.4Die ItemRegistry
49.4.5Standard Repräsentation von Unterelementen
3.1+49.5 Implementierung eigener Checks mit dem Checker Interface
49.5.1Das Checker Interface
49.5.2Die Pair Klasse
49.5.3 Das CheckType Interface und seine Implementierung DefaultCheckType
49.5.4Die Klasse CheckDataType
49.5.5Die Klasse CheckData und ihre Unterklassen
49.5.6Die CheckerRegistry
49.5.7Beispiel für einen Checker
3.2+49.6 Das Eclipse Graphical Editing Framework (GEF)
49.6.1Aufnahme von GEF Elementen
49.6.2Implementierung eines ItemNameResolver2 für GEF
49.6.3Implementierung eines ItemValueResolver2 für GEF
3.1+49.7Listener für den aktuellen Testlauf
49.7.1Das TestRunListener Interface
49.7.2Die Klasse TestRunEvent
49.7.3Die Klasse TestSuiteNode
4.0.3+49.8ResetListener
49.9DOM Prozessoren
49.9.1Das DOMProcessor Interface
49.9.2Die DOMProcessorRegistry
49.9.3Fehlerbehandlung
3.0+49.10Image API Erweiterungen
49.10.1Die ImageRep Klasse
49.10.2Das ImageComparator Interface
49.11Pseudo DOM API für Webanwendungen
49.11.1Die abstrakte Klasse Node
49.11.2Die Klasse DocumentNode
49.11.3Die Klasse FrameNode
49.11.4Die Klasse DomNode
49.11.5Die Klasse DialogNode
4.1+49.12WebDriverConnection SUT API
49.12.1Die WebDriverConnection Klasse
5.0+49.13Windows Control API
49.13.1Die WinControl Klasse
50
Daemon Modus
50.1Daemon Konzepte
50.2Daemon API
50.2.1Der DaemonLocator
50.2.2Der Daemon
50.2.3Der TestRunDaemon
50.2.4Der DaemonRunContext
3.1+50.2.5Der DaemonTestRunListener
3.5+50.3Absicherung des QF-Test Daemon
50.3.1Erstellen einer eigenen Keystore-Datei
50.3.2Festlegen der Keystore-Datei
50.3.3Festlegen der Keystore-Datei auf der Client-Seite
51
Die Procedure Builder Definitionsdatei
51.1Platzhalter
4.1.3+51.1.1Rückgriffswerte für Platzhalter
51.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
51.3Auswertung der Komponentenhierarchie
3.4+51.4Details zu @CONDITION
52
Der ManualStepDialog
52.1Die ManualStepDialog API
3.1+
53
Details zu Knotenkonvertierungen
53.1Einführung
53.2Konvertierungen mit Typwechseln
53.3Zusätzliche Konvertierungen unter 'Extrasequenzen'
53.3.1Konvertierungen ohne Seiteneffekte
53.3.2Konvertierungen mit Seiteneffekten
3.3+
54
Details des Algorithmus zum Bildvergleich
54.1Einführung
54.2Beschreibung der Algorithmen
54.2.1Klassischer Bildvergleich
54.2.2Pixelbasierter Vergleich
54.2.3Pixelbasierte Ähnlichkeitsanalyse
54.2.4Blockbildung mit Vergleich
54.2.5Blockbildung mit Ähnlichkeitsanalyse
54.2.6Häufigkeitsanalyse mittels Histogramm
54.2.7Bildanalyse mittels Diskreter Kosinustransformation
54.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
54.2.9Bilinearer Filter
54.3Beschreibung der speziellen Funktionen
54.3.1Bild-in-Bild Suche
3.2+
55
Resultatslisten
55.1Einführung
55.2Spezielle Listenaktionen
55.2.1Alle Listen
55.2.2Ersetzen
55.2.3Fehlerliste
3.5+55.3Resultate exportieren und laden
4.0+
56
Generische Klassen
56.1Übersicht der generischen Klassen
56.2Eigenschaften von generischen Klassen
56.2.1Accordion
56.2.2BusyPane
56.2.3Button
56.2.4Calendar
56.2.5ColorPicker
56.2.6CheckBox
56.2.7Closer
56.2.8ComboBox
56.2.9Divider
56.2.10Expander
56.2.11FileChooser
56.2.12Graphics
56.2.13Icon
56.2.14Indicator
56.2.15Item
56.2.16Label
56.2.17Link
56.2.18List
56.2.19LoadingComponent
56.2.20Maximizer
56.2.21Menu
56.2.22MenuItem
56.2.23Minimizer
56.2.24Popup
56.2.25RadioButton
56.2.26Restore
56.2.27Panel
56.2.28ProgressBar
56.2.29ScrollBar
56.2.30Separator
56.2.31Sizer
56.2.32Slider
56.2.33Spacer
56.2.34Spinner
56.2.35SplitPanel
56.2.36Table
56.2.37TableCell
56.2.38TableFooter
56.2.39TableHeader
56.2.40TableHeaderCell
56.2.41TabPanel
56.2.42TableRow
56.2.43Text
56.2.44TextArea
56.2.45TextField
56.2.46Thumb
56.2.47ToggleButton
56.2.48ToolBar
56.2.49ToolBarItem
56.2.50ToolTip
56.2.51Tree
56.2.52TreeNode
56.2.53TreeTable
56.2.54Window
57
Doctags
57.1Doctags für Reporting und Dokumentation
4.2+57.1.1@noreport Doctag
57.2Doctags für die Ausführung
57.3Doctags für das Editieren
57.4Doctags für den Prozedurgenerator
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 5.3
B.1.1Version 5.3.3 - 14. September 2021
B.1.2Version 5.3.2 - 21. Juli 2021
B.1.3Version 5.3.1 - 15. Juni 2021
B.1.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.1.5Version 5.3.0 - 20. Mai 2021
B.2QF-Test Version 5.2
B.2.1Version 5.2.3 - 9. März 2021
B.2.2Version 5.2.2 - 12. Februar 2021
B.2.3Version 5.2.1 - 3. Dezember 2020
B.2.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.5Version 5.2.0 - 10. November 2020
B.3 QF-Test Version 5.1
B.3.1 Version 5.1.2 - 15. September 2020
B.3.2 Version 5.1.1 - 26. August 2020
B.3.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.3.4 Version 5.1.0 - 8. Juli 2020
B.4 QF-Test Version 5.0
B.4.1 Version 5.0.3 - 17. Juni 2020
B.4.2 Version 5.0.2 - 5. Mai 2020
B.4.3 Version 5.0.1 - 2. März 2020
B.4.4Wesentliche neue Features in Version 5
B.4.5 Version 5.0.0 - 6. Februar 2020
B.5QF-Test Version 4
B.5.1QF-Test Version 4.7
B.5.2QF-Test Version 4.6
B.5.3QF-Test Version 4.5
B.5.4QF-Test Version 4.4
B.5.5QF-Test Version 4.3
B.5.6QF-Test Version 4.2
B.5.7QF-Test Version 4.1
B.5.8QF-Test Version 4.0
B.6QF-Test Version 3
C
Tastaturkürzel
C.1Navigation und Editieren
C.2Aufnahme- und Wiedergabefunktionen
C.3Tastaturhelfer
D
Glossar
E
Datenschutz - Verarbeitung von personenbezogenen und anderen Daten
E.1Server-Daten für Versionsabfrage
E.2Direkter Versand von Support-Anfragen aus QF-Test heraus
E.3Anfragedaten beim Abruf von WebDriver-Dateien
E.4Client-Daten in QF-Test Protokolldateien
F
Benutzte Software