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.2.4.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-4.2.4-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
2.0+3.1Schnellstart-Assistent
3.1.1Erzeugung der Startsequenz
3.1.2Ausführen der Startsequenz
3.1.3Fehlersuche
3.2Programmausgaben und das Clients Menü
3.3 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
14.2.3WebDriver mit Safari
14.2.4Bekannte Einschränkungen des WebDriver Modus
14.3Web-Testen ohne sichtbares Fenster
15
Testen von PDF Dokumenten
15.1PDF Client
15.1.1PDF Client starten
15.1.2Das Fenster des PDF Client
15.2PDF Events
15.2.1PDF Dokument öffnen
15.2.2Seite wechseln
15.3Checks für PDF-Komponenten
15.3.1'Check Text'
15.3.2'Check Abbild'
15.3.3'Check Font'
15.3.4'Check Font Größe'
15.4PDF Komponententypen
15.5PDF Komponentenerkennung
16
Datengetriebenes Testen
16.1Beispiele für 'Datentreiber'
16.2Anwendung von 'Datentreibern'
16.3Beispiele für 'Datentreiber'
16.4Fortgeschrittene Anwendung
17
Reports und Testdokumentation
17.1Reports
17.1.1Reportkonzepte
17.1.2Inhalt von Reports
17.1.3Reports erstellen
17.2Testdoc Dokumentation für 'Testfallsätze' und 'Testfälle'
17.3Pkgdoc Dokumentation für 'Packages', 'Prozeduren' und 'Abhängigkeiten'
18
Testausführung
18.1Testausführung im Batchmodus
18.1.1Verwenden der Kommandozeile
18.1.2Windows Befehlsskript
3.0+18.1.3Groovy
18.2Testausführung im Daemonmodus
18.2.1Starten des Daemons
3.0+18.2.2Steuern des Daemons über die QF-Test Kommandozeile
18.2.3Steuern des Daemons über die Daemon API
4.1+18.3Erneute Ausführung von Knoten (Rerun)
18.3.1Erneute Ausführung aus dem Protokoll
18.3.2Fehlerhafte Knoten sofort wiederholen
19
Verteilte Entwicklung von Tests
19.1Der Aufruf einer 'Prozedur' in einer anderen Testsuite
19.2Die Verwaltung von 'Komponenten'
19.3Verschmelzen von Testsuiten
19.3.1Importieren von Komponenten
3.3+19.3.2 Importieren von Prozeduren und Testfällen
19.4Verteilte Entwicklung von Tests
3.1+19.5Statische Validierung von Testsuiten
19.5.1Ungültige Referenzen vermeiden
4.0.3+19.5.2Ungenutzte Prozeduren finden
3.0+
20
Automatisierte Erstellung von Basisprozeduren
20.1Einführung
20.2Die Verwendung vom Procedure Builder
20.3Konfiguration des Procedure Builder
20.3.1Die Procedure Builder Definitionsdatei
3.0+
21
Anbindung an Testmanagementtools
21.1HP ALM - Quality Center
21.1.1Einführung
21.1.2Schritt für Schritt Anleitung
21.1.3Fehlersuche
21.2Imbus TestBench
21.2.1Einführung
21.2.2Generieren von QF-Test Vorlage-Testsuiten aus den Interaktionen
21.2.3Importieren der Resultate
21.3QMetry
21.3.1Einführung
21.3.2Demokonfiguration Beispiel
21.4Klaros
21.4.1Einführung
21.4.2Importieren von QF-Test Ergebnissen in Klaros
21.5SQS-TEST/Professional
21.5.1Einführung
21.5.2Integration
21.6TestLink
21.6.1Einführung
21.6.2Generieren von QF-Test Vorlagen-Testsuiten aus den Testfällen
21.6.3Ausführung der Testfälle
21.6.4Importieren der QF-Test Resultate nach TestLink
22
Integration mit Entwickler-Tools
22.1Eclipse
22.1.1Installation
22.1.2Konfiguration
22.2Ant
22.3Maven
3.3+22.4Jenkins/Hudson
22.4.1Jenkins installieren und starten
22.4.2Voraussetzungen für GUI-Tests
22.4.3Installation des QF-Test Plugins
22.4.4Konfiguration eines Jobs für QF-Test
23
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
23.1Einführung
23.2Einfaches Keyword-Driven Testing mit QF-Test
23.2.1Fachliche Prozeduren
23.2.2Atomare Prozeduren
23.3Keyword-Driven Testing mit dynamischen/generischen Komponenten
23.4Behavior-Driven Testing (BDT)
23.4.1Behavior-Driven Testing (BDT) mit technischer Beschreibung
23.4.2Behavior-Driven Testing (BDT) mit fachlicher Beschreibung
23.5Szenariodateien
23.6Eigene Testbeschreibungen
23.7Anpassung an Ihre Software
24
Durchführung von Lasttests mit QF-Test
24.1Hintergrund und Vergleich mit anderen Techniken
24.2Lasttests mit QF-Test
24.2.1Bereitstellung der Testsysteme
24.2.2Konzeption des Testlaufes
24.2.3Vorbereiten der Testsysteme für den Testlauf
24.2.4Testausführung
24.2.5Testauswertung
24.3Spezielles zur Testausführung
24.3.1Synchronisierung
24.3.2Messen von End-to-End Zeiten
24.4Troubleshooting
3.0+
25
Ausführung manueller Tests mit QF-Test
25.1Einführung
25.2Schritt-für-Schritt Anleitung
25.3Aufbau der Excel Datei
25.4Die Ausführungstestsuite
25.5Die möglichen Zustände
26
Steuern und Testen von nativen Windows Anwendungen
26.1Vorgehensweise
26.1.1Start der Anwendung
26.1.2Auflistung aller GUI-Elemente eines Fensters
26.1.3Informationen zu einzelnen GUI-Elementen
26.1.4Zugriff auf GUI Elemente
26.1.5Ausführen von Aktionen auf GUI-Elementen
26.2Beispiel
26.2.1Start der Anwendung
26.2.2Übersicht über die GUI-Elemente der Anwendung
26.2.3Ausführen von Aktionen auf GUI-Elementen
II
Best Practices
27
Einführung
28
Wie beginnt man in einem Testprojekt?
28.1Infrastruktur und Testumgebung
28.2Speicherorte
28.2.1Netzwerkinstallation
28.3Wiedererkennung von Komponenten
29
Organisation von Testsuiten
29.1Organisation von Tests
29.2Modularisierung
29.3Parametrisierung
29.4Arbeiten in mehreren Testsuiten
29.5Rollen und Zuständigkeiten
29.6Komponenten in unterschiedlichen Ebenen verwalten
29.7Umgekehrte Includes
30
Effiziente Arbeitstechniken
3.5+30.1Arbeiten mit QF-Test Projekten
30.2Erstellung von Testsuiten
30.3Die Standardbibliothek qfs.qft
30.4Ablage von Komponenten
30.5Erweitern von Testsuiten
30.6Arbeiten mit dem Skripteditor
31
Wie erreicht man eine robuste Komponentenerkennung?
31.1Benutzen der Standardeinstellungen
31.2Die 'Name übertrifft alles' Einstellung benutzen
31.3Verwendung von regulären Ausdrücken oder Arbeiten mit dynamischen Fenstertiteln
31.4Beeinflussen von Namen mittels NameResolver
31.5Klassen von Komponenten
31.5.1Umgehen von Klassenänderungen durch 'Nur Systemklassen aufzeichnen'
31.6Nicht notwendige Aufzeichnungen ersparen oder generische Komponenten einsetzen
3.1+31.7 Optionen zur Laufzeit verändern
32
Aufsetzen von Testsystemen
32.1Einrichten von Prozessen und Services via Aufgabenplaner
32.2Fernzugriff auf Windowsrechner
32.3Automatische Anmeldung auf Windowsrechnern
32.4Testausführung unter Unix
33
Testausführung
33.1Abhängigkeiten
33.2Wartezeiten und Verzögerungen
33.3Was soll man tun, wenn das Protokoll einen Fehler enthält?
III
Referenzteil
34
Einstellungen
34.1Allgemeine Optionen
34.1.1Editieren
34.1.2Projekte
34.1.3Lesezeichen
34.1.4Externe Programme
34.1.5Sicherungskopien
34.1.6Bibliothekspfad
34.1.7Lizenz
34.2Aufnahme
34.2.1Folgende Events aufnehmen
34.2.2Eventsequenzen packen
34.2.3Komponenten
34.2.4Unterelemente
34.2.5Prozeduren
34.3Wiedergabe
34.3.1Client Optionen
34.3.2Terminal Optionen
34.3.3Events
34.3.4Wiedererkennung
34.3.5Verzögerungen
34.3.6Automatische Timeouts
34.3.7Rückwärtskompatibilität
34.4Web Optionen
34.4.1HTTP Requests
34.4.2Rückwärtskompatibilität
34.5Debugger Optionen
34.6Protokoll
34.6.1Allgemeine Protokoll Optionen
34.6.2Optionen für den Inhalt von Protokollen
4.0+34.6.3Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
34.7Variablen
35
Bestandteile einer Testsuite
35.1Die Testsuite und ihre Struktur
35.1.1'Testsuite'
35.2Test und Sequenz Knoten
35.2.1'Testfall'
35.2.2'Testfallsatz'
35.2.3'Testaufruf'
35.2.4'Sequenz'
35.2.5'Testschritt'
35.2.6'Sequenz mit Zeitlimit'
35.2.7'Extrasequenzen'
35.3Abhängigkeiten
35.3.1'Abhängigkeit'
35.3.2'Bezug auf Abhängigkeit'
35.3.3'Vorbereitung'
35.3.4'Aufräumen'
35.3.5'Fehlerbehandlung'
35.4Datentreiber
35.4.1'Datentreiber'
35.4.2'Datentabelle'
35.4.3'Datenbank'
35.4.4'Excel Datei'
35.4.5'CSV Datei'
35.4.6'Datenschleife'
35.5Prozeduren
35.5.1'Prozedur'
35.5.2'Prozeduraufruf'
35.5.3'Return'
35.5.4'Package'
35.5.5'Prozeduren'
35.6Ablaufsteuerung
35.6.1'Schleife'
35.6.2'While'
35.6.3'Break'
35.6.4'If'
35.6.5'Elseif'
35.6.6'Else'
35.6.7'Try'
35.6.8'Catch'
35.6.9'Finally'
35.6.10'Throw'
35.6.11'Rethrow'
35.6.12'Server Skript'
35.6.13'SUT Skript'
35.7Prozesse
35.7.1'Java SUT Client starten'
35.7.2'SUT Client starten'
35.7.3'Programm starten'
35.7.4'Web-Engine starten'
35.7.5'Browser-Fenster öffnen'
35.7.6'Shellkommando ausführen'
35.7.7'PDF Client starten'
35.7.8'Warten auf Client'
35.7.9'Programm beenden'
35.7.10'Warten auf Programmende'
35.8Events
35.8.1'Mausevent'
35.8.2'Tastaturevent'
35.8.3'Texteingabe'
35.8.4'Fensterevent'
35.8.5'Komponentenevent'
35.8.6'Auswahl'
35.8.7'Dateiauswahl'
35.9Checks
35.9.1'Check Text'
35.9.2'Check Boolean'
35.9.3'Check Elemente'
35.9.4'Check selektierbare Elemente'
35.9.5'Check Abbild'
35.9.6'Check Geometrie'
35.10Abfragen
35.10.1'Text auslesen'
35.10.2'Index auslesen'
35.10.3'Geometrie auslesen'
35.11Verschiedenes
35.11.1'Variable setzen'
35.11.2'Warten auf Komponente'
35.11.3'Warten auf Laden des Dokuments'
35.11.4'Warten auf Ende des Downloads'
35.11.5'Ressourcen laden'
35.11.6'Properties laden'
35.11.7'Unit Test'
35.12HTTP Requests
35.12.1'Server HTTP Request'
35.12.2'Browser HTTP Request'
35.13Fenster, Komponenten und Elemente
35.13.1'Fenster'
35.13.2'Webseite'
35.13.3'Komponente'
35.13.4'Element'
35.13.5'Fenstergruppe'
35.13.6'Komponentengruppe'
35.13.7'Fenster und Komponenten'
35.14Historische Knoten
35.14.1'Test'
36
Exceptions
IV
Technische Referenz
37
Kommandozeilenargumente und Rückgabewerte
37.1Aufrufsyntax
37.2Kommandozeilenargumente
37.2.1Argumente für das Startskript
37.2.2Argumente für die Java VM
37.2.3Argumente für QF-Test
37.2.4Platzhalter im Dateinamen für Protokoll und Report
37.3Rückgabewerte von QF-Test
38
GUI Engines
39
Starten einer Applikation aus QF-Test
39.1Verschiedene Methoden zum Starten des SUT
39.1.1Starten des SUT aus einem Skript oder ausführbaren Programm
39.1.2Starten des SUT mittels Java WebStart
39.1.3Starten des SUT als Applet in einem Web Browser
39.1.4 Starten des SUT mittels java -jar <Archiv>
39.1.5 Starten des SUT mittels java -classpath <Pfad> <Startklasse>
39.1.6 Starten einer Webanwendung im Browser
39.1.7Öffnen eines PDF Dokuments
40
JDK und SWT Instrumentierung
40.1 Verbindung mit einem JDK
40.2Details zur JDK Instrumentierung
40.2.1Änderungen am JDK
40.2.2Ergebnis der Instrumentierung
40.3SWT Instrumentierung
40.3.1Vorbereitung einer manuellen SWT Instrumentierung
40.3.2Manuelle SWT Instrumentierung für Eclipse basierte Anwendungen
40.3.3Manuelle Instrumentierung für eigenständige SWT Anwendungen
41
Technische Details zu verschiedenen Themen
41.1Drag&Drop
41.2Wiedererkennung von Komponenten
41.3Timing
41.4Reguläre Ausdrücke - Regexps
41.5Zeilenumbrüche in Unix und Windows
41.6Schützen von Sonderzeichen (quoting)
41.7Auflösen von Include Dateien
42
Skripting (Jython, Groovy und JavaScript)
42.1Pfad für das Laden der Module
42.2Das Plugin Verzeichnis
42.3Der Package Cache (Jython)
42.4Initialisierung (Jython)
42.5Die Namespace Umgebung für Skript Knoten (Jython)
42.6Das API des Runcontexts
42.7Das qf Modul
3.0+42.8Image API
42.8.1Die ImageWrapper Klasse
42.9Exceptions
42.10Debuggen von Skripten (Jython)
43
Besondere Features für Webanwendungen
43.1Pseudo DOM API für Webanwendungen
43.1.1Die abstrakte Klasse Node
43.1.2Die Klasse DocumentNode
43.1.3Die Klasse FrameNode
43.1.4Die Klasse DomNode
43.1.5Die Klasse DialogNode
4.1+43.2WebDriverConnection SUT API
43.2.1Die WebDriverConnection Klasse
43.3Besondere Unterstützung für verschiedene AJAX Toolkits
43.3.1Konzepte für AJAX Resolver
43.3.2Unterstützte AJAX Toolkits
43.3.3Eindeutige Bezeichner setzen
43.3.4Verwendung älterer AJAX Resolver für Ihr Projekt
43.4QF-Test an Ihr AJAX Toolkit anpassen per CustomWebResolver
43.4.1Untersuchung einer Webseite
43.4.2Beispiel für den WebCarConfigurator
44
APIs für Erweiterungen
44.1Das resolvers Modul
44.1.1Verwendung
44.1.2Implementierung
44.1.3addResolver
44.1.4removeResolver
44.1.5listNames
3.1+44.1.6 Das NameResolver Interface
3.1+44.1.7 Das ClassNameResolver Interface
4.0+44.1.8 Das GenericClassNameResolver Interface
3.1+44.1.9 Das FeatureResolver Interface
44.1.10Das ExtraFeatureResolver Interface
3.1+44.1.11 Das ItemNameResolver Interface
3.1+44.1.12 Das ItemValueResolver Interface
44.1.13Das TreeTableResolver Interface
44.1.14Das InterestingParentResolver Interface
4.1+44.1.15 Das TooltipResolver Interface
44.1.16Das IdResolver Interface
4.1+44.1.17 Das EnabledResolver Interface
4.1+44.1.18 Das VisibilityResolver Interface
4.1+44.1.19 Das MainTextResolver Interface
4.1+44.1.20 Der BusyPaneResolver Interfaces
4.1+44.1.21 Der GlassPaneResolver Interfaces
4.1+44.1.22 Das EventSynchronizer Interface
4.1+44.1.23 Das BusyApplicationDetector Interface
44.1.24Matcher
44.2Das webResolvers-Modul
44.2.1Allgemeine Informationen
44.2.2addResolver
44.2.3removeResolver
44.2.4listNames
44.2.5Beispiele
44.3Die ResolverRegistry
3.1+44.4 Implementierung eigener Unterelemente mit dem ItemResolver Interface
44.4.1ItemResolver Konzepte
44.4.2Das ItemResolver Interface
44.4.3Die Klasse SubItemIndex
44.4.4Die ItemRegistry
44.4.5Standard Repräsentation von Unterelementen
3.1+44.5 Implementierung eigener Checks mit dem Checker Interface
44.5.1Das Checker Interface
44.5.2Die Pair Klasse
44.5.3 Das CheckType Interface und seine Implementierung DefaultCheckType
44.5.4Die Klasse CheckDataType
44.5.5Die Klasse CheckData und ihre Unterklassen
44.5.6Die CheckerRegistry
44.5.7Beispiel für einen Checker
3.2+44.6 Das Eclipse Graphical Editing Framework (GEF)
44.6.1Aufnahme von GEF Elementen
44.6.2Implementierung eines ItemNameResolver2 für GEF
44.6.3Implementierung eines ItemValueResolver2 für GEF
3.1+44.7Listener für den aktuellen Testlauf
44.7.1Das TestRunListener Interface
44.7.2Die Klasse TestRunEvent
44.7.3Die Klasse TestSuiteNode
4.0.3+44.8ResetListener
44.9DOM Prozessoren
44.9.1Das DOMProcessor Interface
44.9.2Die DOMProcessorRegistry
44.9.3Fehlerbehandlung
3.0+44.10Image API Erweiterungen
44.10.1Die ImageRep Klasse
44.10.2Das ImageComparator Interface
45
Daemon Modus
45.1Daemon Konzepte
45.2Daemon API
45.2.1Der DaemonLocator
45.2.2Der Daemon
45.2.3Der TestRunDaemon
45.2.4Der DaemonRunContext
3.1+45.2.5Der DaemonTestRunListener
3.5+45.3Absicherung des QF-Test Daemon
45.3.1Erstellen einer eigenen Keystore-Datei
45.3.2Festlegen der Keystore-Datei
45.3.3Festlegen der Keystore-Datei auf der Client-Seite
46
Die Procedure Builder Definitionsdatei
46.1Platzhalter
4.1.3+46.1.1Rückgriffswerte für Platzhalter
46.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
46.3Auswertung der Komponentenhierarchie
3.4+46.4Details zu @CONDITION
47
Der ManualStepDialog
47.1Die ManualStepDialog API
3.1+
48
Details zu Knotenkonvertierungen
48.1Einführung
48.2Konvertierungen mit Typwechseln
48.3Zusätzliche Konvertierungen unter 'Extrasequenzen'
48.3.1Konvertierungen ohne Seiteneffekte
48.3.2Konvertierungen mit Seiteneffekten
3.3+
49
Details des Algorithmus zum Bildvergleich
49.1Einführung
49.2Beschreibung der Algorithmen
49.2.1Klassischer Bildvergleich
49.2.2Pixelbasierter Vergleich
49.2.3Pixelbasierte Ähnlichkeitsanalyse
49.2.4Blockbildung mit Vergleich
49.2.5Blockbildung mit Ähnlichkeitsanalyse
49.2.6Häufigkeitsanalyse mittels Histogramm
49.2.7Bildanalyse mittels Diskreter Kosinustransformation
49.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
49.2.9Bilinearer Filter
49.3Beschreibung der speziellen Funktionen
49.3.1Bild-in-Bild Suche
3.2+
50
Resultatslisten
50.1Einführung
50.2Spezielle Listenaktionen
50.2.1Alle Listen
50.2.2Ersetzen
50.2.3Fehlerliste
3.5+50.3Resultate exportieren und laden
4.0+
51
Generische Klassen
51.1Übersicht der generischen Klassen
51.2Mapping von komplexen Komponenten
51.2.1Mapping von ComboBoxen
51.2.2Mapping von Listen
51.2.3Mapping von TabPanel bzw. Accordions
51.2.4Mapping von Tabellen und TreeTablen
51.2.5Mapping von Bäumen
51.3Eigenschaften von generischen Klassen
51.3.1Accordion
51.3.2BusyPane
51.3.3Button
51.3.4Calendar
51.3.5ColorPicker
51.3.6CheckBox
51.3.7Closer
51.3.8Divider
51.3.9ComboBox
51.3.10Expander
51.3.11FileChooser
51.3.12Graphics
51.3.13Icon
51.3.14Indicator
51.3.15Item
51.3.16Label
51.3.17Link
51.3.18List
51.3.19LoadingComponent
51.3.20Maximizer
51.3.21Menu
51.3.22MenuItem
51.3.23Minimizer
51.3.24Popup
51.3.25RadioButton
51.3.26Restore
51.3.27Panel
51.3.28ProgressBar
51.3.29ScrollBar
51.3.30Separator
51.3.31Sizer
51.3.32Slider
51.3.33Spacer
51.3.34Spinner
51.3.35SplitPanel
51.3.36Table
51.3.37TableCell
51.3.38TableFooter
51.3.39TableHeader
51.3.40TableHeaderCell
51.3.41TabPanel
51.3.42TableRow
51.3.43Text
51.3.44TextArea
51.3.45TextField
51.3.46Thumb
51.3.47ToggleButton
51.3.48ToolBar
51.3.49ToolBarItem
51.3.50ToolTip
51.3.51Tree
51.3.52TreeNode
51.3.53TreeTable
51.3.54Window
52
Doctags
52.1Doctags für Reporting und Dokumentation
4.2+52.1.1@noreport Doctag
52.2Doctags für die Ausführung
52.3Doctags für das Editieren
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 4.2
B.1.1Version 4.2.4 - 14. Juni 2018
B.1.2Version 4.2.3 - 3. Mai 2018
B.1.3Version 4.2.2 - 9. März 2018
B.1.4Version 4.2.1 - 26. Februar 2018
B.1.5Highlights
B.1.6Änderungen mit möglichen Auswirkungen auf die Testausführung
B.1.7Nicht mehr unterstützte Software
B.1.8Version 4.2.0 - 10. Januar 2018
B.2QF-Test Version 4.1
B.2.1Version 4.1.6 - 27. Oktober 2017
B.2.2Version 4.1.5 - 9. August 2017
B.2.3Version 4.1.4 - 1. Juni 2017
B.2.4Version 4.1.3 - 29. März 2017
B.2.5Version 4.1.2 - 13. Januar 2017
B.2.6Version 4.1.1 - 23. November 2016
B.2.7Highlights
B.2.8Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.9Nicht mehr unterstützte Software
B.2.10Version 4.1.0 - 6. Oktober 2016
B.2.11Version 4.1.0-rc2 - 2. September 2016
B.2.12Version 4.1.0-rc1 - 29. Juli 2016
B.3QF-Test Version 4.0
B.4QF-Test Version 3
C
Tastaturkürzel
C.1Navigation und Editieren
C.2Aufnahme- und Wiedergabefunktionen
C.3Tastaturhelfer
D
Glossar
E
Benutzte Software