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.4.1.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-5.4.1-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
6.0+
16
Testen von Android Anwendungen (Preview)
16.1Voraussetzungen und bekannte Einschränkungen
16.1.1Voraussetzungen
16.1.2Liste der unterstützten Android Versionen
16.1.3Bekannte Einschränkungen
16.2Installation des Android Studio für Emulator und virtuelles Gerät (AVD)
16.2.1Android Studio installation
16.2.2Android Studio AVD Konfiguration
16.3Verbinden mit einem echten Android Gerät
16.4Eine QF-Test Startsequenz für Android Tests erzeugen
16.4.1Nutzung eines Android Emulators
16.4.2Nutzung eines echten Android Gerätes via USB
16.5Aktionen und Checks auf der Android App aufnehmen
16.6Android Hilfsprozeduren
17
Testen von PDF Dokumenten
17.1PDF Client
17.1.1PDF Client starten
17.1.2Das Fenster des PDF Client
17.2PDF Events
17.2.1PDF Dokument öffnen
17.2.2Seite wechseln
17.3Checks für PDF-Komponenten
17.3.1'Check Text'
17.3.2'Check Abbild'
17.3.3'Check Font'
17.3.4'Check Font Größe'
17.4PDF Komponententypen
17.5PDF Komponentenerkennung
18
Testen von Java Desktopanwendungen im Browser mit Webswing oder JPro
18.1Technische Konzepte von JiB für Webswing und JPro
19
Testen von Electron Anwendungen
19.1Electron Client starten
19.1.1Electron Einstellungen im Schnellstart-Assistenten
19.2Electron spezifische Funktionalität in QF-Test
19.2.1Native Menüs
19.2.2Native Dialoge
19.2.3Erweiterte Javascript-API
19.3Technische Anmerkungen zum Testen von Electron-Anwendungen im WebDriver-Verbindungsmodus
20
Testen von Webdiensten
20.1REST Webservices
20.1.1Der HTTP Standard und Webdienste
20.1.2HTTP Anfragen
20.1.3Beispiele
21
Datengetriebenes Testen
21.1Beispiele für 'Datentreiber'
21.2Anwendung von 'Datentreibern'
21.3Beispiele für 'Datentreiber'
21.4Fortgeschrittene Anwendung
22
Reports und Testdokumentation
22.1Reports
22.1.1Reportkonzepte
22.1.2Inhalt von Reports
22.1.3Reports erstellen
22.1.4Individualisierung von Reports
22.2Testdoc Dokumentation für 'Testfallsätze' und 'Testfälle'
22.3Pkgdoc Dokumentation für 'Packages', 'Prozeduren' und 'Abhängigkeiten'
23
Testausführung
23.1Testausführung im Batchmodus
23.1.1Verwenden der Kommandozeile
23.1.2Windows Befehlsskript
3.0+23.1.3Groovy
23.2Testausführung im Daemonmodus
23.2.1Starten des Daemons
3.0+23.2.2Steuern des Daemons über die QF-Test Kommandozeile
23.2.3Steuern des Daemons über die Daemon API
4.1+23.3Erneute Ausführung von Knoten (Rerun)
23.3.1Erneute Ausführung aus dem Protokoll
23.3.2Fehlerhafte Knoten sofort wiederholen
24
Verteilte Entwicklung von Tests
24.1Der Aufruf einer 'Prozedur' in einer anderen Testsuite
24.2Die Verwaltung von 'Komponenten'
24.3Verschmelzen von Testsuiten
24.3.1Importieren von Komponenten
3.3+24.3.2 Importieren von Prozeduren und Testfällen
24.4Verteilte Entwicklung von Tests
3.1+24.5Statische Validierung von Testsuiten
24.5.1Ungültige Referenzen vermeiden
4.0.3+24.5.2Ungenutzte Prozeduren finden
3.0+
25
Automatisierte Erstellung von Basisprozeduren
25.1Einführung
25.2Die Verwendung vom Procedure Builder
25.3Konfiguration des Procedure Builder
25.3.1Die Procedure Builder Definitionsdatei
3.0+
26
Anbindung an Testmanagementtools
26.1HP ALM - Quality Center
26.1.1Einführung
26.1.2Schritt für Schritt Anleitung
26.1.3Fehlersuche
26.2Imbus TestBench
26.2.1Einführung
26.2.2Generieren von QF-Test Vorlage-Testsuiten aus den Interaktionen
26.2.3Importieren der Resultate
26.3QMetry
26.3.1Einführung
26.3.2Demokonfiguration Beispiel
26.4Klaros
26.4.1Einführung
26.4.2Importieren von QF-Test Ergebnissen in Klaros
26.5TestLink
26.5.1Einführung
26.5.2Generieren von QF-Test Vorlagen-Testsuiten aus den Testfällen
26.5.3Ausführung der Testfälle
26.5.4Importieren der QF-Test Resultate nach TestLink
27
Integration mit Entwickler-Tools
27.1Eclipse
27.1.1Installation
27.1.2Konfiguration
27.2Ant
27.3Maven
3.3+27.4Jenkins/Hudson
27.4.1Jenkins installieren und starten
27.4.2Voraussetzungen für GUI-Tests
27.4.3Installation des QF-Test Plugins
28
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
28.1Einführung
28.2Einfaches Keyword-Driven Testing mit QF-Test
28.2.1Fachliche Prozeduren
28.2.2Atomare Prozeduren
28.3Keyword-Driven Testing mit dynamischen/generischen Komponenten
28.4Behavior-Driven Testing (BDT)
28.4.1Behavior-Driven Testing (BDT) mit technischer Beschreibung
28.4.2Behavior-Driven Testing (BDT) mit fachlicher Beschreibung
28.5Szenariodateien
28.6Eigene Testbeschreibungen
28.7Anpassung an Ihre Software
29
Durchführung von Lasttests mit QF-Test
29.1Hintergrund und Vergleich mit anderen Techniken
29.2Lasttests mit QF-Test
29.2.1Bereitstellung der Testsysteme
29.2.2Konzeption des Testlaufes
29.2.3Vorbereiten der Testsysteme für den Testlauf
29.2.4Testausführung
29.2.5Testauswertung
29.3Spezielles zur Testausführung
29.3.1Synchronisierung
29.3.2Messen von End-to-End Zeiten
29.4Troubleshooting
29.5Web-Lasttests ohne sichtbare Browser-Fenster
3.0+
30
Ausführung manueller Tests mit QF-Test
30.1Einführung
30.2Schritt-für-Schritt Anleitung
30.3Aufbau der Excel Datei
30.4Die Ausführungstestsuite
30.5Die möglichen Zustände
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
3.5+38.1.1Projekte
38.1.2Editieren
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
38.9Nur zur Laufzeit
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 Anwendung starten'
39.7.9'Windows Anwendung verbinden'
39.7.10'Warten auf Client'
39.7.11'Programm beenden'
39.7.12'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'Kommentar'
39.11.2'Variable setzen'
39.11.3'Warten auf Komponente'
39.11.4'Warten auf Laden des Dokuments'
39.11.5'Warten auf Ende des Downloads'
39.11.6'Ressourcen laden'
39.11.7'Properties laden'
39.11.8'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
JRE und SWT Instrumentierung
44.1Deinstrumentieren eines JRE
44.2SWT Instrumentierung
44.2.1Vorbereitung einer manuellen SWT Instrumentierung
44.2.2Manuelle SWT Instrumentierung für Eclipse basierte Anwendungen
44.2.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.3Initialisierung (Jython)
46.4Die Namespace Umgebung für Skript Knoten (Jython)
46.5Das API des Runcontexts
46.6Das qf Modul
3.0+46.7Image API
46.7.1Die ImageWrapper Klasse
46.8Exceptions
46.9Debuggen von Skripten (Jython)
47
Web
47.1Verbesserte Komponentenerkennung mittels CustomWebResolver
47.1.1Generelle Konfigurationsmöglichkeiten
47.1.2Untersuchung einer Webseite
47.1.3Die Prozedur installCustomWebResolver
47.1.4installCustomWebResolver - Erweiterung eines Webframework-Resolvers
47.1.5installCustomWebResolver - Tabelle und TreeTable
47.1.6installCustomWebResolver - Baum und TreeTable
47.1.7installCustomWebResolver - Liste
47.1.8installCustomWebResolver - Combobox
47.1.9installCustomWebResolver - TabPanel und Accordion
47.1.10Beispiel für den WebCarConfigurator
47.2Besondere Unterstützung für verschiedene Webframeworks
47.2.1Konzepte für Webframework-Resolver
47.2.2Eindeutige Bezeichner setzen
47.3Browser Verbindungsmodus
47.3.1QF-Driver Verbindungsmodus
5.3+47.3.2CDP-Driver Verbindungsmodus
47.3.3WebDriver Verbindungsmodus
47.3.4Bekannte Einschränkungen des WebDriver Modus
47.4Safari - Besonderheiten
48
Steuern und Testen von nativen Windows Anwendungen - ohne Verwendung der QF-Test win Engine
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
48.2Beispiel
48.2.1Start der Anwendung
48.2.2Übersicht über die GUI-Elemente der Anwendung
49
Steuern und Testen von nativen MacOS-Anwendungen
49.1Vorgehensweise
49.1.1Start der Anwendung
49.1.2Auflistung aller GUI-Elemente eines Fensters
49.1.3Informationen zu einzelnen GUI-Elementen
49.1.4Zugriff auf GUI Elemente
49.1.5Ausführen von Aktionen auf GUI-Elementen
50
APIs für Erweiterungen
50.1Das resolvers Modul
50.1.1Verwendung
50.1.2Implementierung
50.1.3addResolver
50.1.4removeResolver
50.1.5listNames
3.1+50.1.6 Das NameResolver Interface
4.0+50.1.7 Das GenericClassNameResolver Interface
3.1+50.1.8 Das ClassNameResolver Interface
3.1+50.1.9 Das FeatureResolver Interface
50.1.10Das ExtraFeatureResolver Interface
3.1+50.1.11 Das ItemNameResolver Interface
3.1+50.1.12 Das ItemValueResolver Interface
50.1.13Das TreeTableResolver Interface
50.1.14Das InterestingParentResolver Interface
4.1+50.1.15 Das TooltipResolver Interface
50.1.16Das IdResolver Interface
4.1+50.1.17 Das EnabledResolver Interface
4.1+50.1.18 Das VisibilityResolver Interface
4.1+50.1.19 Das MainTextResolver Interface
4.1+50.1.20 Der BusyPaneResolver Interfaces
4.1+50.1.21 Der GlassPaneResolver Interfaces
4.1+50.1.22 Das EventSynchronizer Interface
4.1+50.1.23 Das BusyApplicationDetector Interface
50.1.24Matcher
50.1.25Externe Implementierung
50.2Das webResolvers-Modul
50.2.1Allgemeine Informationen
50.2.2addResolver
50.2.3removeResolver
50.2.4listNames
50.2.5Beispiele
50.3Die ResolverRegistry
3.1+50.4 Implementierung eigener Unterelemente mit dem ItemResolver Interface
50.4.1ItemResolver Konzepte
50.4.2Das ItemResolver Interface
50.4.3Die Klasse SubItemIndex
50.4.4Die ItemRegistry
50.4.5Standard Repräsentation von Unterelementen
3.1+50.5 Implementierung eigener Checks mit dem Checker Interface
50.5.1Das Checker Interface
50.5.2Die Pair Klasse
50.5.3 Das CheckType Interface und seine Implementierung DefaultCheckType
50.5.4Die Klasse CheckDataType
50.5.5Die Klasse CheckData und ihre Unterklassen
50.5.6Die CheckerRegistry
50.5.7Beispiel für einen Checker
3.2+50.6 Das Eclipse Graphical Editing Framework (GEF)
50.6.1Aufnahme von GEF Elementen
50.6.2Implementierung eines ItemNameResolver2 für GEF
50.6.3Implementierung eines ItemValueResolver2 für GEF
3.1+50.7Listener für den aktuellen Testlauf
50.7.1Das TestRunListener Interface
50.7.2Die Klasse TestRunEvent
50.7.3Die Klasse TestSuiteNode
4.0.3+50.8ResetListener
50.9DOM Prozessoren
50.9.1Das DOMProcessor Interface
50.9.2Die DOMProcessorRegistry
50.9.3Fehlerbehandlung
3.0+50.10Image API Erweiterungen
50.10.1Die ImageRep Klasse
50.10.2Das ImageComparator Interface
50.11Pseudo DOM API für Webanwendungen
50.11.1Die abstrakte Klasse Node
50.11.2Die Klasse DocumentNode
50.11.3Die Klasse FrameNode
50.11.4Die Klasse DomNode
50.11.5Die Klasse DialogNode
4.1+50.12WebDriverConnection SUT API
50.12.1Die WebDriverConnection Klasse
5.0+50.13Windows Control API
50.13.1Die WinControl Klasse
51
Daemon Modus
51.1Daemon Konzepte
51.2Daemon API
51.2.1Der DaemonLocator
51.2.2Der Daemon
51.2.3Der TestRunDaemon
51.2.4Der DaemonRunContext
3.1+51.2.5Der DaemonTestRunListener
3.5+51.3Absicherung des QF-Test Daemon
51.3.1Erstellen einer eigenen Keystore-Datei
51.3.2Festlegen der Keystore-Datei
51.3.3Festlegen der Keystore-Datei auf der Client-Seite
52
Die Procedure Builder Definitionsdatei
52.1Platzhalter
4.1.3+52.1.1Rückgriffswerte für Platzhalter
52.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
52.3Auswertung der Komponentenhierarchie
3.4+52.4Details zu @CONDITION
53
Der ManualStepDialog
53.1Die ManualStepDialog API
3.1+
54
Details zu Knotenkonvertierungen
54.1Einführung
54.2Konvertierungen mit Typwechseln
54.3Zusätzliche Konvertierungen unter 'Extrasequenzen'
54.3.1Konvertierungen ohne Seiteneffekte
54.3.2Konvertierungen mit Seiteneffekten
3.3+
55
Details des Algorithmus zum Bildvergleich
55.1Einführung
55.2Beschreibung der Algorithmen
55.2.1Klassischer Bildvergleich
55.2.2Pixelbasierter Vergleich
55.2.3Pixelbasierte Ähnlichkeitsanalyse
55.2.4Blockbildung mit Vergleich
55.2.5Blockbildung mit Ähnlichkeitsanalyse
55.2.6Häufigkeitsanalyse mittels Histogramm
55.2.7Bildanalyse mittels Diskreter Kosinustransformation
55.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
55.2.9Bilinearer Filter
55.3Beschreibung der speziellen Funktionen
55.3.1Bild-in-Bild Suche
3.2+
56
Resultatslisten
56.1Einführung
56.2Spezielle Listenaktionen
56.2.1Alle Listen
56.2.2Ersetzen
56.2.3Fehlerliste
3.5+56.3Resultate exportieren und laden
4.0+
57
Generische Klassen
57.1Übersicht der generischen Klassen
57.2Eigenschaften von generischen Klassen
57.2.1Accordion
57.2.2BusyPane
57.2.3Button
57.2.4Calendar
57.2.5ColorPicker
57.2.6CheckBox
57.2.7Closer
57.2.8ComboBox
57.2.9Divider
57.2.10Expander
57.2.11FileChooser
57.2.12Graphics
57.2.13Icon
57.2.14Indicator
57.2.15Item
57.2.16Label
57.2.17Link
57.2.18List
57.2.19LoadingComponent
57.2.20Maximizer
57.2.21Menu
57.2.22MenuItem
57.2.23Minimizer
57.2.24Popup
57.2.25RadioButton
57.2.26Restore
57.2.27Panel
57.2.28ProgressBar
57.2.29ScrollBar
57.2.30Separator
57.2.31Sizer
57.2.32Slider
57.2.33Spacer
57.2.34Spinner
57.2.35SplitPanel
57.2.36Table
57.2.37TableCell
57.2.38TableFooter
57.2.39TableHeader
57.2.40TableHeaderCell
57.2.41TabPanel
57.2.42TableRow
57.2.43Text
57.2.44TextArea
57.2.45TextField
57.2.46Thumb
57.2.47ToggleButton
57.2.48ToolBar
57.2.49ToolBarItem
57.2.50ToolTip
57.2.51Tree
57.2.52TreeNode
57.2.53TreeTable
57.2.54Window
58
Doctags
58.1Doctags für Reporting und Dokumentation
4.2+58.1.1@noreport Doctag
58.2Doctags für die Ausführung
58.3Doctags für das Editieren
58.4Doctags für den Prozedurgenerator
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 5.4
B.1.1Änderungen mit möglichen Auswirkungen auf die Testausführung
B.1.2Version 5.4.1 - 20. Januar 2022
B.1.3Version 5.4.0 - 15. Dezember 2021
B.2QF-Test Version 5.3
B.2.1Version 5.3.4 - 30. September 2021
B.2.2Version 5.3.3 - 14. September 2021
B.2.3Version 5.3.2 - 21. Juli 2021
B.2.4Version 5.3.1 - 15. Juni 2021
B.2.5Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.6Version 5.3.0 - 20. Mai 2021
B.3QF-Test Version 5.2
B.3.1Version 5.2.3 - 9. März 2021
B.3.2Version 5.2.2 - 12. Februar 2021
B.3.3Version 5.2.1 - 3. Dezember 2020
B.3.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.3.5Version 5.2.0 - 10. November 2020
B.4 QF-Test Version 5.1
B.4.1 Version 5.1.2 - 15. September 2020
B.4.2 Version 5.1.1 - 26. August 2020
B.4.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.4.4 Version 5.1.0 - 8. Juli 2020
B.5 QF-Test Version 5.0
B.5.1 Version 5.0.3 - 17. Juni 2020
B.5.2 Version 5.0.2 - 5. Mai 2020
B.5.3 Version 5.0.1 - 2. März 2020
B.5.4Wesentliche neue Features in Version 5
B.5.5 Version 5.0.0 - 6. Februar 2020
B.6QF-Test Version 4
B.6.1QF-Test Version 4.7
B.6.2QF-Test Version 4.6
B.6.3QF-Test Version 4.5
B.6.4QF-Test Version 4.4
B.6.5QF-Test Version 4.3
B.6.6QF-Test Version 4.2
B.6.7QF-Test Version 4.1
B.6.8QF-Test Version 4.0
B.7QF-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