Handbuch

Inhaltsverzeichnis
Vorwort
Hinweise zur Benutzung dieses Handbuchs
Inhaltsverzeichnis
Abbildungsverzeichnis
Tabellenverzeichnis
I
Anwenderhandbuch
1
Installation und Start
1.1Systemvoraussetzungen
1.1.1Primäre Voraussetzungen
1.1.2Unterstützte Technologieversionen
1.2Windows Installation
1.2.1Installation mit dem Windows Setup-Programm QF-Test-4.6.0.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-4.6.0-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.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.4Zeichenkodierung
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.1Testen mit Hilfe des QF-Driver Verbindungsmodus
14.2Testen mit Hilfe der WebDriver Anbindung
14.2.1WebDriver allgemein
14.2.2WebDriver mit Microsoft Edge (bis Edge Version 44)
14.2.3WebDriver mit Safari
14.2.4Bekannte Einschränkungen des WebDriver Modus
14.3Web-Testen ohne sichtbares Fenster
14.4Emulation von Browsern in mobilen Geräten
5.0+
15
Testen nativer Windows Anwendungen (Preview)
15.1Einstieg
15.2Technischer Hintergrund
15.3Start/Anbindung einer Applikation
15.4Aufnahme
15.5Komponenten
15.6Wiedergabe und Patterns
15.7Skripting
15.8Optionen
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 Electron Anwendungen
17.1Electron Client starten
17.1.1Electron Einstellungen im Schnellstart-Assistenten
17.2Electron spezifische Funktionalität in QF-Test
17.2.1Native Menüs
17.3Technische Anmerkung zum Testen von Electron-Anwendungen
18
Testen von Webdiensten
18.1REST Webservices
18.1.1Der HTTP Standard und Webdienste
18.1.2HTTP Anfragen
18.1.3Beispiele
19
Datengetriebenes Testen
19.1Beispiele für 'Datentreiber'
19.2Anwendung von 'Datentreibern'
19.3Beispiele für 'Datentreiber'
19.4Fortgeschrittene Anwendung
20
Reports und Testdokumentation
20.1Reports
20.1.1Reportkonzepte
20.1.2Inhalt von Reports
20.1.3Reports erstellen
20.2Testdoc Dokumentation für 'Testfallsätze' und 'Testfälle'
20.3Pkgdoc Dokumentation für 'Packages', 'Prozeduren' und 'Abhängigkeiten'
21
Testausführung
21.1Testausführung im Batchmodus
21.1.1Verwenden der Kommandozeile
21.1.2Windows Befehlsskript
3.0+21.1.3Groovy
21.2Testausführung im Daemonmodus
21.2.1Starten des Daemons
3.0+21.2.2Steuern des Daemons über die QF-Test Kommandozeile
21.2.3Steuern des Daemons über die Daemon API
4.1+21.3Erneute Ausführung von Knoten (Rerun)
21.3.1Erneute Ausführung aus dem Protokoll
21.3.2Fehlerhafte Knoten sofort wiederholen
22
Verteilte Entwicklung von Tests
22.1Der Aufruf einer 'Prozedur' in einer anderen Testsuite
22.2Die Verwaltung von 'Komponenten'
22.3Verschmelzen von Testsuiten
22.3.1Importieren von Komponenten
3.3+22.3.2 Importieren von Prozeduren und Testfällen
22.4Verteilte Entwicklung von Tests
3.1+22.5Statische Validierung von Testsuiten
22.5.1Ungültige Referenzen vermeiden
4.0.3+22.5.2Ungenutzte Prozeduren finden
3.0+
23
Automatisierte Erstellung von Basisprozeduren
23.1Einführung
23.2Die Verwendung vom Procedure Builder
23.3Konfiguration des Procedure Builder
23.3.1Die Procedure Builder Definitionsdatei
3.0+
24
Anbindung an Testmanagementtools
24.1HP ALM - Quality Center
24.1.1Einführung
24.1.2Schritt für Schritt Anleitung
24.1.3Fehlersuche
24.2Imbus TestBench
24.2.1Einführung
24.2.2Generieren von QF-Test Vorlage-Testsuiten aus den Interaktionen
24.2.3Importieren der Resultate
24.3QMetry
24.3.1Einführung
24.3.2Demokonfiguration Beispiel
24.4Klaros
24.4.1Einführung
24.4.2Importieren von QF-Test Ergebnissen in Klaros
24.5SQS-TEST/Professional
24.5.1Einführung
24.5.2Integration
24.6TestLink
24.6.1Einführung
24.6.2Generieren von QF-Test Vorlagen-Testsuiten aus den Testfällen
24.6.3Ausführung der Testfälle
24.6.4Importieren der QF-Test Resultate nach TestLink
25
Integration mit Entwickler-Tools
25.1Eclipse
25.1.1Installation
25.1.2Konfiguration
25.2Ant
25.3Maven
3.3+25.4Jenkins/Hudson
25.4.1Jenkins installieren und starten
25.4.2Voraussetzungen für GUI-Tests
25.4.3Installation des QF-Test Plugins
25.4.4Konfiguration eines Jobs für QF-Test
26
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
26.1Einführung
26.2Einfaches Keyword-Driven Testing mit QF-Test
26.2.1Fachliche Prozeduren
26.2.2Atomare Prozeduren
26.3Keyword-Driven Testing mit dynamischen/generischen Komponenten
26.4Behavior-Driven Testing (BDT)
26.4.1Behavior-Driven Testing (BDT) mit technischer Beschreibung
26.4.2Behavior-Driven Testing (BDT) mit fachlicher Beschreibung
26.5Szenariodateien
26.6Eigene Testbeschreibungen
26.7Anpassung an Ihre Software
27
Durchführung von Lasttests mit QF-Test
27.1Hintergrund und Vergleich mit anderen Techniken
27.2Lasttests mit QF-Test
27.2.1Bereitstellung der Testsysteme
27.2.2Konzeption des Testlaufes
27.2.3Vorbereiten der Testsysteme für den Testlauf
27.2.4Testausführung
27.2.5Testauswertung
27.3Spezielles zur Testausführung
27.3.1Synchronisierung
27.3.2Messen von End-to-End Zeiten
27.4Troubleshooting
27.5Web-Lasttests ohne sichtbare Browser-Fenster
3.0+
28
Ausführung manueller Tests mit QF-Test
28.1Einführung
28.2Schritt-für-Schritt Anleitung
28.3Aufbau der Excel Datei
28.4Die Ausführungstestsuite
28.5Die möglichen Zustände
29
Steuern und Testen von nativen Windows Anwendungen
29.1Vorgehensweise
29.1.1Start der Anwendung
29.1.2Auflistung aller GUI-Elemente eines Fensters
29.1.3Informationen zu einzelnen GUI-Elementen
29.1.4Zugriff auf GUI Elemente
29.1.5Ausführen von Aktionen auf GUI-Elementen
29.2Beispiel
29.2.1Start der Anwendung
29.2.2Übersicht über die GUI-Elemente der Anwendung
29.2.3Ausführen von Aktionen auf GUI-Elementen
30
Steuern und Testen von nativen MacOS-Anwendungen
30.1Vorgehensweise
30.1.1Start der Anwendung
30.1.2Auflistung aller GUI-Elemente eines Fensters
30.1.3Informationen zu einzelnen GUI-Elementen
30.1.4Zugriff auf GUI Elemente
30.1.5Ausführen von Aktionen auf GUI-Elementen
II
Best Practices
31
Einführung
32
Wie beginnt man in einem Testprojekt?
32.1Infrastruktur und Testumgebung
32.2Speicherorte
32.2.1Netzwerkinstallation
32.3Wiedererkennung von Komponenten
33
Organisation von Testsuiten
33.1Organisation von Tests
33.2Modularisierung
33.3Parametrisierung
33.4Arbeiten in mehreren Testsuiten
33.5Rollen und Zuständigkeiten
33.6Komponenten in unterschiedlichen Ebenen verwalten
33.7Umgekehrte Includes
34
Effiziente Arbeitstechniken
3.5+34.1Arbeiten mit QF-Test Projekten
34.2Erstellung von Testsuiten
34.3Die Standardbibliothek qfs.qft
34.4Ablage von Komponenten
34.5Erweitern von Testsuiten
34.6Arbeiten mit dem Skripteditor
35
Wie erreicht man eine robuste Komponentenerkennung?
35.1Benutzen der Standardeinstellungen
35.2Die 'Name übertrifft alles' Einstellung benutzen
35.3Verwendung von regulären Ausdrücken oder Arbeiten mit dynamischen Fenstertiteln
35.4Beeinflussen von Namen mittels NameResolver
35.5Klassen von Komponenten
35.5.1Umgehen von Klassenänderungen durch 'Nur Systemklassen aufzeichnen'
35.6Nicht notwendige Aufzeichnungen ersparen oder generische Komponenten einsetzen
3.1+35.7 Optionen zur Laufzeit verändern
36
Aufsetzen von Testsystemen
36.1Einrichten von Prozessen und Services via Aufgabenplaner
36.2Fernzugriff auf Windowsrechner
36.3Automatische Anmeldung auf Windowsrechnern
36.4Testausführung unter Unix
37
Testausführung
37.1Abhängigkeiten
37.2Wartezeiten und Verzögerungen
37.3Was soll man tun, wenn das Protokoll einen Fehler enthält?
III
Referenzteil
38
Einstellungen
38.1Allgemeine Optionen
38.1.1Editieren
38.1.2Projekte
38.1.3Lesezeichen
38.1.4Externe Programme
38.1.5Sicherungskopien
38.1.6Bibliothekspfad
38.1.7Lizenz
38.1.8Updates
38.2Aufnahme
38.2.1Folgende Events aufnehmen
38.2.2Eventsequenzen packen
38.2.3Komponenten
38.2.4Unterelemente
38.2.5Prozeduren
38.3Wiedergabe
38.3.1Client Optionen
38.3.2Terminal Optionen
38.3.3Events
38.3.4Wiedererkennung
38.3.5Verzögerungen
38.3.6Automatische Timeouts
38.3.7Rückwärtskompatibilität
38.4Web Optionen
38.4.1HTTP Requests
38.4.2Rückwärtskompatibilität
38.5SWT Optionen
38.6Debugger Optionen
38.7Protokoll
38.7.1Allgemeine Protokoll Optionen
38.7.2Optionen für den Inhalt von Protokollen
4.0+38.7.3Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
38.8Variablen
39
Bestandteile einer Testsuite
39.1Die Testsuite und ihre Struktur
39.1.1'Testsuite'
39.2Test und Sequenz Knoten
39.2.1'Testfall'
39.2.2'Testfallsatz'
39.2.3'Testaufruf'
39.2.4'Sequenz'
39.2.5'Testschritt'
39.2.6'Sequenz mit Zeitlimit'
39.2.7'Extrasequenzen'
39.3Abhängigkeiten
39.3.1'Abhängigkeit'
39.3.2'Bezug auf Abhängigkeit'
39.3.3'Vorbereitung'
39.3.4'Aufräumen'
39.3.5'Fehlerbehandlung'
39.4Datentreiber
39.4.1'Datentreiber'
39.4.2'Datentabelle'
39.4.3'Datenbank'
39.4.4'Excel Datei'
39.4.5'CSV Datei'
39.4.6'Datenschleife'
39.5Prozeduren
39.5.1'Prozedur'
39.5.2'Prozeduraufruf'
39.5.3'Return'
39.5.4'Package'
39.5.5'Prozeduren'
39.6Ablaufsteuerung
39.6.1'Schleife'
39.6.2'While'
39.6.3'Break'
39.6.4'If'
39.6.5'Elseif'
39.6.6'Else'
39.6.7'Try'
39.6.8'Catch'
39.6.9'Finally'
39.6.10'Throw'
39.6.11'Rethrow'
39.6.12'Server Skript'
39.6.13'SUT Skript'
39.7Prozesse
39.7.1'Java SUT Client starten'
39.7.2'SUT Client starten'
39.7.3'Programm starten'
39.7.4'Web-Engine starten'
39.7.5'Browser-Fenster öffnen'
39.7.6'Shellkommando ausführen'
39.7.7'PDF Client starten'
39.7.8'Windows Client starten'
39.7.9'Warten auf Client'
39.7.10'Programm beenden'
39.7.11'Warten auf Programmende'
39.8Events
39.8.1'Mausevent'
39.8.2'Tastaturevent'
39.8.3'Texteingabe'
39.8.4'Fensterevent'
39.8.5'Komponentenevent'
39.8.6'Auswahl'
39.8.7'Dateiauswahl'
39.9Checks
39.9.1'Check Text'
39.9.2'Check Boolean'
39.9.3'Check Elemente'
39.9.4'Check selektierbare Elemente'
39.9.5'Check Abbild'
39.9.6'Check Geometrie'
39.10Abfragen
39.10.1'Text auslesen'
39.10.2'Index auslesen'
39.10.3'Geometrie auslesen'
39.11Verschiedenes
39.11.1'Variable setzen'
39.11.2'Warten auf Komponente'
39.11.3'Warten auf Laden des Dokuments'
39.11.4'Warten auf Ende des Downloads'
39.11.5'Ressourcen laden'
39.11.6'Properties laden'
39.11.7'Unit Test'
39.12HTTP Requests
39.12.1'Server HTTP Request'
39.12.2'Browser HTTP Request'
39.13Fenster, Komponenten und Elemente
39.13.1'Fenster'
39.13.2'Webseite'
39.13.3'Komponente'
39.13.4'Element'
39.13.5'Fenstergruppe'
39.13.6'Komponentengruppe'
39.13.7'Fenster und Komponenten'
39.14Historische Knoten
39.14.1'Test'
40
Exceptions
IV
Technische Referenz
41
Kommandozeilenargumente und Rückgabewerte
41.1Aufrufsyntax
41.2Kommandozeilenargumente
41.2.1Argumente für das Startskript
41.2.2Argumente für die Java VM
41.2.3Argumente für QF-Test
41.2.4Platzhalter im Dateinamen für Protokoll und Report
41.3Rückgabewerte von QF-Test
42
GUI Engines
43
Starten einer Applikation aus QF-Test
43.1Verschiedene Methoden zum Starten des SUT
43.1.1Starten des SUT aus einem Skript oder ausführbaren Programm
43.1.2Starten des SUT mittels Java WebStart
43.1.3Starten des SUT als Applet in einem Web Browser
43.1.4 Starten des SUT mittels java -jar <Archiv>
43.1.5 Starten des SUT mittels java -classpath <Pfad> <Startklasse>
43.1.6 Starten einer Webanwendung im Browser
43.1.7Öffnen eines PDF Dokuments
44
JDK und SWT Instrumentierung
44.1 Verbindung mit einem JDK
44.2Details zur JDK Instrumentierung
44.2.1Änderungen am JDK
44.2.2Ergebnis der Instrumentierung
44.3SWT Instrumentierung
44.3.1Vorbereitung einer manuellen SWT Instrumentierung
44.3.2Manuelle SWT Instrumentierung für Eclipse basierte Anwendungen
44.3.3Manuelle Instrumentierung für eigenständige SWT Anwendungen
45
Technische Details zu verschiedenen Themen
45.1Drag&Drop
45.2Wiedererkennung von Komponenten
45.3Timing
45.4Reguläre Ausdrücke - Regexps
45.5Zeilenumbrüche in Unix und Windows
45.6Schützen von Sonderzeichen (quoting)
45.7Auflösen von Include Dateien
46
Skripting (Jython, Groovy und JavaScript)
46.1Pfad für das Laden der Module
46.2Das Plugin Verzeichnis
46.3Der Package Cache (Jython)
46.4Initialisierung (Jython)
46.5Die Namespace Umgebung für Skript Knoten (Jython)
46.6Das API des Runcontexts
46.7Das qf Modul
3.0+46.8Image API
46.8.1Die ImageWrapper Klasse
46.9Exceptions
46.10Debuggen von Skripten (Jython)
47
Besondere Features für Webanwendungen
47.1Pseudo DOM API für Webanwendungen
47.1.1Die abstrakte Klasse Node
47.1.2Die Klasse DocumentNode
47.1.3Die Klasse FrameNode
47.1.4Die Klasse DomNode
47.1.5Die Klasse DialogNode
4.1+47.2WebDriverConnection SUT API
47.2.1Die WebDriverConnection Klasse
47.3Besondere Unterstützung für verschiedene AJAX Toolkits
47.3.1Konzepte für AJAX Resolver
47.3.2Unterstützte AJAX Toolkits
47.3.3Eindeutige Bezeichner setzen
47.3.4Verwendung älterer AJAX Resolver für Ihr Projekt
47.4QF-Test an Ihr AJAX Toolkit anpassen per CustomWebResolver
47.4.1Untersuchung einer Webseite
47.4.2Beispiel für den WebCarConfigurator
48
APIs für Erweiterungen
48.1Das resolvers Modul
48.1.1Verwendung
48.1.2Implementierung
48.1.3addResolver
48.1.4removeResolver
48.1.5listNames
3.1+48.1.6 Das NameResolver Interface
3.1+48.1.7 Das ClassNameResolver Interface
4.0+48.1.8 Das GenericClassNameResolver Interface
3.1+48.1.9 Das FeatureResolver Interface
48.1.10Das ExtraFeatureResolver Interface
3.1+48.1.11 Das ItemNameResolver Interface
3.1+48.1.12 Das ItemValueResolver Interface
48.1.13Das TreeTableResolver Interface
48.1.14Das InterestingParentResolver Interface
4.1+48.1.15 Das TooltipResolver Interface
48.1.16Das IdResolver Interface
4.1+48.1.17 Das EnabledResolver Interface
4.1+48.1.18 Das VisibilityResolver Interface
4.1+48.1.19 Das MainTextResolver Interface
4.1+48.1.20 Der BusyPaneResolver Interfaces
4.1+48.1.21 Der GlassPaneResolver Interfaces
4.1+48.1.22 Das EventSynchronizer Interface
4.1+48.1.23 Das BusyApplicationDetector Interface
48.1.24Matcher
48.1.25Externe Implementierung
48.2Das webResolvers-Modul
48.2.1Allgemeine Informationen
48.2.2addResolver
48.2.3removeResolver
48.2.4listNames
48.2.5Beispiele
48.3Die ResolverRegistry
3.1+48.4 Implementierung eigener Unterelemente mit dem ItemResolver Interface
48.4.1ItemResolver Konzepte
48.4.2Das ItemResolver Interface
48.4.3Die Klasse SubItemIndex
48.4.4Die ItemRegistry
48.4.5Standard Repräsentation von Unterelementen
3.1+48.5 Implementierung eigener Checks mit dem Checker Interface
48.5.1Das Checker Interface
48.5.2Die Pair Klasse
48.5.3 Das CheckType Interface und seine Implementierung DefaultCheckType
48.5.4Die Klasse CheckDataType
48.5.5Die Klasse CheckData und ihre Unterklassen
48.5.6Die CheckerRegistry
48.5.7Beispiel für einen Checker
3.2+48.6 Das Eclipse Graphical Editing Framework (GEF)
48.6.1Aufnahme von GEF Elementen
48.6.2Implementierung eines ItemNameResolver2 für GEF
48.6.3Implementierung eines ItemValueResolver2 für GEF
3.1+48.7Listener für den aktuellen Testlauf
48.7.1Das TestRunListener Interface
48.7.2Die Klasse TestRunEvent
48.7.3Die Klasse TestSuiteNode
4.0.3+48.8ResetListener
48.9DOM Prozessoren
48.9.1Das DOMProcessor Interface
48.9.2Die DOMProcessorRegistry
48.9.3Fehlerbehandlung
3.0+48.10Image API Erweiterungen
48.10.1Die ImageRep Klasse
48.10.2Das ImageComparator Interface
49
Daemon Modus
49.1Daemon Konzepte
49.2Daemon API
49.2.1Der DaemonLocator
49.2.2Der Daemon
49.2.3Der TestRunDaemon
49.2.4Der DaemonRunContext
3.1+49.2.5Der DaemonTestRunListener
3.5+49.3Absicherung des QF-Test Daemon
49.3.1Erstellen einer eigenen Keystore-Datei
49.3.2Festlegen der Keystore-Datei
49.3.3Festlegen der Keystore-Datei auf der Client-Seite
50
Die Procedure Builder Definitionsdatei
50.1Platzhalter
4.1.3+50.1.1Rückgriffswerte für Platzhalter
50.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
50.3Auswertung der Komponentenhierarchie
3.4+50.4Details zu @CONDITION
51
Der ManualStepDialog
51.1Die ManualStepDialog API
3.1+
52
Details zu Knotenkonvertierungen
52.1Einführung
52.2Konvertierungen mit Typwechseln
52.3Zusätzliche Konvertierungen unter 'Extrasequenzen'
52.3.1Konvertierungen ohne Seiteneffekte
52.3.2Konvertierungen mit Seiteneffekten
3.3+
53
Details des Algorithmus zum Bildvergleich
53.1Einführung
53.2Beschreibung der Algorithmen
53.2.1Klassischer Bildvergleich
53.2.2Pixelbasierter Vergleich
53.2.3Pixelbasierte Ähnlichkeitsanalyse
53.2.4Blockbildung mit Vergleich
53.2.5Blockbildung mit Ähnlichkeitsanalyse
53.2.6Häufigkeitsanalyse mittels Histogramm
53.2.7Bildanalyse mittels Diskreter Kosinustransformation
53.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
53.2.9Bilinearer Filter
53.3Beschreibung der speziellen Funktionen
53.3.1Bild-in-Bild Suche
3.2+
54
Resultatslisten
54.1Einführung
54.2Spezielle Listenaktionen
54.2.1Alle Listen
54.2.2Ersetzen
54.2.3Fehlerliste
3.5+54.3Resultate exportieren und laden
4.0+
55
Generische Klassen
55.1Übersicht der generischen Klassen
55.2Mapping von komplexen Komponenten
55.2.1Mapping von ComboBoxen
55.2.2Mapping von Listen
55.2.3Mapping von TabPanel bzw. Accordions
55.2.4Mapping von Tabellen und TreeTablen
55.2.5Mapping von Bäumen
55.3Eigenschaften von generischen Klassen
55.3.1Accordion
55.3.2BusyPane
55.3.3Button
55.3.4Calendar
55.3.5ColorPicker
55.3.6CheckBox
55.3.7Closer
55.3.8Divider
55.3.9ComboBox
55.3.10Expander
55.3.11FileChooser
55.3.12Graphics
55.3.13Icon
55.3.14Indicator
55.3.15Item
55.3.16Label
55.3.17Link
55.3.18List
55.3.19LoadingComponent
55.3.20Maximizer
55.3.21Menu
55.3.22MenuItem
55.3.23Minimizer
55.3.24Popup
55.3.25RadioButton
55.3.26Restore
55.3.27Panel
55.3.28ProgressBar
55.3.29ScrollBar
55.3.30Separator
55.3.31Sizer
55.3.32Slider
55.3.33Spacer
55.3.34Spinner
55.3.35SplitPanel
55.3.36Table
55.3.37TableCell
55.3.38TableFooter
55.3.39TableHeader
55.3.40TableHeaderCell
55.3.41TabPanel
55.3.42TableRow
55.3.43Text
55.3.44TextArea
55.3.45TextField
55.3.46Thumb
55.3.47ToggleButton
55.3.48ToolBar
55.3.49ToolBarItem
55.3.50ToolTip
55.3.51Tree
55.3.52TreeNode
55.3.53TreeTable
55.3.54Window
56
Doctags
56.1Doctags für Reporting und Dokumentation
4.2+56.1.1@noreport Doctag
56.2Doctags für die Ausführung
56.3Doctags für das Editieren
56.4Doctags für den Prozedurgenerator
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 4.6
B.1.1Version 4.6.0 - 18. Juni 2019
B.2QF-Test Version 4.5
B.2.1Version 4.5.2 - 20. März 2019
B.2.2Version 4.5.1 - 27. Februar 2019
B.2.3Highlights in Version 4.5
B.2.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.5Nicht mehr unterstützte Software
B.2.6Version 4.5.0 - 14. Februar 2019
B.3QF-Test Version 4.4
B.3.1Version 4.4.2 - 11. Dezember 2018
B.3.2Version 4.4.1 - 26. Oktober 2018
B.3.3Version 4.4.0 - 11. Oktober 2018
B.4QF-Test Version 4.3
B.4.1Version 4.3.2 - 11. September 2018
B.4.2Version 4.3.1 - 28. August 2018
B.4.3Kürzere QF-Test Release-Zyklen
B.4.4Version 4.3.0 - 26. Juli 2018
B.5QF-Test Version 4.2
B.5.1Version 4.2.5 - 11. Juli 2018
B.5.2Version 4.2.4 - 14. Juni 2018
B.5.3Version 4.2.3 - 3. Mai 2018
B.5.4Version 4.2.2 - 9. März 2018
B.5.5Version 4.2.1 - 26. Februar 2018
B.5.6Highlights in Version 4.2
B.5.7Änderungen mit möglichen Auswirkungen auf die Testausführung
B.5.8Nicht mehr unterstützte Software
B.5.9Version 4.2.0 - 10. Januar 2018
B.6QF-Test Version 4.1
B.6.1Version 4.1.6 - 27. Oktober 2017
B.6.2Version 4.1.5 - 9. August 2017
B.6.3Version 4.1.4 - 1. Juni 2017
B.6.4Version 4.1.3 - 29. März 2017
B.6.5Version 4.1.2 - 13. Januar 2017
B.6.6Version 4.1.1 - 23. November 2016
B.6.7Highlights
B.6.8Änderungen mit möglichen Auswirkungen auf die Testausführung
B.6.9Nicht mehr unterstützte Software
B.6.10Version 4.1.0 - 6. Oktober 2016
B.6.11Version 4.1.0-rc2 - 2. September 2016
B.6.12Version 4.1.0-rc1 - 29. Juli 2016
B.7QF-Test Version 4.0
B.8QF-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