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-6.0.4.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-6.0.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.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.1Komponenten eines GUI
5.2'Komponente' Knoten versus SmartID
5.2.1Verbesserte Lesbarkeit eines Tests
5.2.2Testgesteuerte Entwicklung
5.2.3Schlüsselwort-basierende Tests
5.2.4Wiedererkennungsstabilität
5.2.5Wartbarkeit
5.2.6Performanz
5.2.7Kombination von 'Komponente' Knoten und SmartIDs
5.3Wie erreicht man eine robuste Komponentenerkennung?
5.3.1Woran erkennt man eine robuste Komponentenerkennung?
5.3.2Welche Optimierungsmöglichkeiten gibt es?
5.4Wiedererkennungskriterien
5.4.1Klasse
5.4.2Name
5.4.3Merkmal
5.4.4Weitere Merkmale
5.4.5Index
5.4.6Geometrie
5.4.7Komponentenhierarchie
5.5'Komponente' Knoten
5.6SmartID (Preview)
5.6.1Anwendungsbereiche für SmartIDs
5.6.2SmartID-Syntax für 'Klasse'
5.6.3SmartID-Syntax für 'Name'
5.6.4SmartID-Syntax für 'Merkmal'
5.6.5SmartID-Syntax für 'Weitere Merkmale'
5.6.6SmartID mit Index
5.6.7SmartID-Syntax für Komponentenhierarchien
5.6.8Aufnehmen und Abspielen von SmartIDs
5.6.9'QF-Test ID' der Komponente als SmartID
5.7Geltungsbereich(Scope) (Preview)
5.8Generische Komponenten
5.9Unterelemente: Adressierung relativ zur übergeordneten Komponente
5.9.1Adressierung mittels Index
5.9.2Adressierung mit QPath
5.9.3Adressierung mit XPath und/oder CSS-Selektoren
5.9.4Adressierung mit 'Elemente' Knoten
5.10Lösung von Problemen bei der Wiedererkennung
5.10.1Zeitliche Synchronisierung
5.10.2Wiedererkennung
5.11Bereinigung und Wartung des Komponentenbaums
5.11.1Komponentenbaum bereinigen
5.11.2'Komponenten' aktualisieren
3.1+5.12 Untersuchung von Komponenten
6
Variablen
6.1Ermittlung des Wertes einer Variablen
6.2Definition von Variablen
6.3Variablen Beispiel
6.4Daten aus der GUI auslesen
6.5Externe Daten und spezielle Gruppen
6.6Berechnungen
3.0+6.7Immediate und Lazy Binding
7
Problemanalyse und Debugging
7.1Das Protokoll
7.1.1Fehlerzustände
7.1.2Navigation im Protokoll
7.1.3Laufzeitverhalten
7.1.4Werte von fehlgeschlagenen Checks als gültig akzeptieren
3.0+7.1.5Geteilte Protokolle
7.1.6Protokoll Optionen
3.3+7.1.7Eine Testsuite aus dem Protokoll erstellen
4.1+7.1.8Protokolle zusammenführen
7.2Der Debugger
7.2.1Aktivieren des Debuggers
7.2.2Das Debuggerfenster
7.2.3Debugger Kommandos
7.2.4Breakpoints setzen und löschen
8
Aufbau und Organisation einer Testsuite
8.1Struktur der Testsuite
8.2'Testfallsatz' und 'Testfall' Knoten
2.0+8.2.1 Verwaltung von Tests mit Hilfe von 'Testfallsatz' und 'Testfall' Knoten
8.2.2Konzepte
8.2.3Variablen und besondere Attribute
8.3'Sequenz' und 'Testschritt' Knoten
8.4'Vorbereitung' und 'Aufräumen' Knoten
8.5'Prozeduren' und 'Packages'
3.1+8.5.1Lokale 'Prozeduren' und 'Packages'
3.1+8.5.2Relative 'Prozeduren'
8.5.3Einfügen von 'Prozeduraufruf' Knoten
3.1+8.5.4Parametrisieren von Knoten
3.0+8.5.5Konvertieren von 'Sequenzen' und 'Testschritte' in 'Prozeduren'
8.6'Abhängigkeit' Knoten
8.6.1Funktionsweise
8.6.2Verwendung von 'Abhängigkeiten'
8.6.3'Abhängigkeiten' - Ausführung und Stapel von Abhängigkeiten
8.6.4'Charakteristische Variablen'
8.6.5'Aufräumen erzwingen'
8.6.6'Abhängigkeiten' abbauen
8.6.7Eskalation von Fehlern
8.6.8Fehlerbehandlung und Reaktion auf unerwartetes Verhalten
8.6.9Namensräume für Abhängigkeiten
8.7Dokumentieren von Testsuiten
3.5+
9
Projekte
10
Standardbibliothek
11
Skripting
11.1Allgemeines
11.2Der Runcontext rc
11.2.1Meldungen ausgeben
11.2.2Checks durchführen
11.2.3Variablen
11.2.4Zugriff auf die GUI Komponenten des SUT
11.2.5Aufruf von 'Prozeduren'
3.1+11.2.6Setzen von Optionen
11.2.7Komponenten bei Bedarf setzen
11.3Jython Skripting
11.3.1Module
11.3.2Post-mortem Fehleranalyse von Jython Skripten
11.3.3Boolean Typ
11.3.4Jython Strings und Zeichenkodierung
11.3.5Den Namen einer Java Klasse ermitteln
11.3.6Ein komplexes Beispiel
11.4Groovy Skripting
11.4.1Groovy Packages
11.5JavaScript Skripting
11.5.1Module
11.5.2Ausgaben
11.5.3Ausführung
12
Unit Tests
12.1Java-Klassen als Quelle für Unit Tests
12.2Grundlagen der Test-Skripte
12.2.1Groovy Unit Tests
12.2.2Jython Unit Tests
12.2.3JavaScript Unit Test
12.3Injections
12.3.1Komponenten in den Unit Tests verwenden
12.3.2WebDriver-Injections
12.4Unit Tests im Report
13
Testen von Webseiten
13.1Unterstützte Browser
13.2Allgemeine Vorgehensweise
13.3Die Verbindung zum Browser
13.4Erkennung von Web-Komponenten und Toolkits
13.5Cross-Browser Tests
13.6Testen von mobilen Webseiten
13.7Web-Testen im Headless-Modus
13.8Einbindung vorhandener Selenium Web-Tests
13.9Auswahl der Browser Installation
5.0+
14
Testen nativer Windows Anwendungen
14.1Einstieg
14.2Technischer Hintergrund
14.3Start/Anbindung einer Applikation
14.4Aufnahme
14.5Komponenten
14.6Wiedergabe und Patterns
14.7Skripting
14.8Optionen
14.8.1Windows Skalierung
14.8.2Sichtbarkeit
14.8.3Verbinden zu einem Fenster einer bestimmten Klasse
14.8.4Begrenzung der Anzahl von Kind-Elementen
14.9(Aktuelle) Einschränkungen
14.10Links
6.0+
15
Testen von Android Anwendungen
15.1Voraussetzungen und bekannte Einschränkungen
15.1.1Voraussetzungen
15.1.2Bekannte Einschränkungen
15.2Emulator oder echtes Gerät
15.3Installation des Android Studios, Emulators und virtueller Geräte
15.3.1Android Studio installation
15.3.2Android Studio AVD Konfiguration
15.4Verbinden mit einem echten Android Gerät
15.5Eine QF-Test Startsequenz für Android Tests erzeugen
15.5.1Nutzung eines Android Emulators
15.5.2Nutzung eines echten Android Gerätes
15.6Aktionen und Checks auf der Android App aufnehmen
15.7Android Hilfsprozeduren
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.2.3Erweiterte Javascript-API
18.3Technische Anmerkungen zum Testen von Electron-Anwendungen im WebDriver-Verbindungsmodus
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
Integration mit Robot Framework (Preview)
27.1Einführung
27.2Voraussetzungen und Installation
27.3Erste Schritte
27.4Nutzung der Bibliothek
27.5Erstellung eigener Keywords
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
Verwendung von QF-Test in Docker Umgebungen
29.1Was ist Docker?
29.2QF-Test Docker Images
30
Durchführung von Lasttests mit QF-Test
30.1Hintergrund und Vergleich mit anderen Techniken
30.2Lasttests mit QF-Test
30.2.1Bereitstellung der Testsysteme
30.2.2Konzeption des Testlaufes
30.2.3Vorbereiten der Testsysteme für den Testlauf
30.2.4Testausführung
30.2.5Testauswertung
30.3Spezielles zur Testausführung
30.3.1Synchronisierung
30.3.2Messen von End-to-End Zeiten
30.4Troubleshooting
30.5Web-Lasttests ohne sichtbare Browser-Fenster
3.0+
31
Ausführung manueller Tests mit QF-Test
31.1Einführung
31.2Schritt-für-Schritt Anleitung
31.3Aufbau der Excel Datei
31.4Die Ausführungstestsuite
31.5Die möglichen Zustände
II
Best Practices
32
Einführung
33
Wie beginnt man in einem Testprojekt?
33.1Infrastruktur und Testumgebung
33.2Speicherorte
33.2.1Netzwerkinstallation
33.3Wiedererkennung von Komponenten
34
Organisation von Testsuiten
34.1Organisation von Tests
34.2Modularisierung
34.3Parametrisierung
34.4Arbeiten in mehreren Testsuiten
34.5Rollen und Zuständigkeiten
34.6Komponenten in unterschiedlichen Ebenen verwalten
34.7Umgekehrte Includes
35
Effiziente Arbeitstechniken
3.5+35.1Arbeiten mit QF-Test Projekten
35.2Erstellung von Testsuiten
35.3Die Standardbibliothek qfs.qft
35.4Ablage von Komponenten
35.5Erweitern von Testsuiten
35.6Arbeiten mit dem Skripteditor
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
6.0+38.4Android
6.0+38.4.1Aufnahmefenster
38.5Web Optionen
38.5.1HTTP Requests
38.5.2Rückwärtskompatibilität
38.6SWT Optionen
38.7Debugger Optionen
38.8Protokoll
38.8.1Allgemeine Protokoll Optionen
38.8.2Optionen zur Aufteilung von Protokollen
38.8.3Optionen für den Inhalt von Protokollen
4.0+38.8.4Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
38.9Variablen
38.10Nur 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'Android Emulator starten'
39.7.11'Mit Android Gerät verbinden'
39.7.12'Android App starten'
39.7.13'Warten auf Client'
39.7.14'Warten auf Android Gerät'
39.7.15'Programm beenden'
39.7.16'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
Technisches zu Komponenten
45.1Gewichtung der Wiedererkennungsmerkmale bei aufgenommenen Komponenten
45.2Generierung der 'QF-Test ID' der Komponente
45.3SmartIDs - allgemeine Syntax
45.4SmartIDs: Sonderzeichen
45.5SmartID Optionen
45.5.1SmartID Option OPT_SMARTID_SMART_COMPONENT_CLASSES
45.6Android - Liste der trivialen Komponentenbezeichner
46
Technische Details zu verschiedenen Themen
46.1Drag&Drop
46.2Timing
46.3Reguläre Ausdrücke - Regexps
46.4Zeilenumbrüche in Unix und Windows
46.5Schützen von Sonderzeichen (quoting)
46.6Auflösen von Include Dateien
47
Skripting (Jython, Groovy und JavaScript)
47.1Pfad für das Laden der Module
47.2Das Plugin Verzeichnis
47.3Initialisierung (Jython)
47.4Die Namespace Umgebung für Skript Knoten (Jython)
47.5Das API des Runcontexts
47.6Das qf Modul
3.0+47.7Image API
47.7.1Die ImageWrapper Klasse
47.8Exceptions
47.9Debuggen von Skripten (Jython)
48
Web
48.1Verbesserte Komponentenerkennung mittels CustomWebResolver
48.1.1Generelle Konfigurationsmöglichkeiten
48.1.2Untersuchung einer Webseite
48.1.3Die Prozedur installCustomWebResolver
48.1.4installCustomWebResolver - Erweiterung eines Webframework-Resolvers
48.1.5installCustomWebResolver - Tabelle und TreeTable
48.1.6installCustomWebResolver - Baum und TreeTable
48.1.7installCustomWebResolver - Liste
48.1.8installCustomWebResolver - Combobox
48.1.9installCustomWebResolver - TabPanel und Accordion
48.1.10Beispiel für den WebCarConfigurator
48.2Besondere Unterstützung für verschiedene Webframeworks
48.2.1Konzepte für Webframework-Resolver
48.2.2Eindeutige Bezeichner setzen
48.3Browser Verbindungsmodus
48.3.1QF-Driver Verbindungsmodus
5.3+48.3.2CDP-Driver Verbindungsmodus
48.3.3WebDriver Verbindungsmodus
48.3.4Bekannte Einschränkungen des WebDriver Modus
48.4Zugriff auf unsichtbare Felder einer Webseite
48.5Safari - Besonderheiten
49
Steuern und Testen von nativen Windows Anwendungen - ohne Verwendung der QF-Test win Engine
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
49.2Beispiel
49.2.1Start der Anwendung
49.2.2Übersicht über die GUI-Elemente der Anwendung
50
Steuern und Testen von nativen MacOS-Anwendungen
50.1Vorgehensweise
50.1.1Start der Anwendung
50.1.2Auflistung aller GUI-Elemente eines Fensters
50.1.3Informationen zu einzelnen GUI-Elementen
50.1.4Zugriff auf GUI Elemente
50.1.5Ausführen von Aktionen auf GUI-Elementen
51
APIs für Erweiterungen
51.1Das resolvers Modul
51.1.1Verwendung
51.1.2Implementierung
51.1.3addResolver
51.1.4removeResolver
51.1.5listNames
3.1+51.1.6 Das NameResolver Interface
4.0+51.1.7 Das GenericClassNameResolver Interface
3.1+51.1.8 Das ClassNameResolver Interface
3.1+51.1.9 Das FeatureResolver Interface
51.1.10Das ExtraFeatureResolver Interface
3.1+51.1.11 Das ItemNameResolver Interface
3.1+51.1.12 Das ItemValueResolver Interface
51.1.13Das TreeTableResolver Interface
51.1.14Das InterestingParentResolver Interface
4.1+51.1.15 Das TooltipResolver Interface
51.1.16Das IdResolver Interface
4.1+51.1.17 Das EnabledResolver Interface
4.1+51.1.18 Das VisibilityResolver Interface
4.1+51.1.19 Das MainTextResolver Interface
4.1+51.1.20 Der BusyPaneResolver Interfaces
4.1+51.1.21 Der GlassPaneResolver Interfaces
4.1+51.1.22 Das EventSynchronizer Interface
4.1+51.1.23 Das BusyApplicationDetector Interface
51.1.24Matcher
51.1.25Externe Implementierung
51.2Das webResolvers-Modul
51.2.1Allgemeine Informationen
51.2.2addResolver
51.2.3removeResolver
51.2.4listNames
51.2.5Beispiele
51.3Die ResolverRegistry
3.1+51.4 Implementierung eigener Unterelemente mit dem ItemResolver Interface
51.4.1ItemResolver Konzepte
51.4.2Das ItemResolver Interface
51.4.3Die Klasse SubItemIndex
51.4.4Die ItemRegistry
51.4.5Standard Repräsentation von Unterelementen
3.1+51.5 Implementierung eigener Checks mit dem Checker Interface
51.5.1Das Checker Interface
51.5.2Die Pair Klasse
51.5.3 Das CheckType Interface und seine Implementierung DefaultCheckType
51.5.4Die Klasse CheckDataType
51.5.5Die Klasse CheckData und ihre Unterklassen
51.5.6Die CheckerRegistry
51.5.7Beispiel für einen Checker
3.2+51.6 Das Eclipse Graphical Editing Framework (GEF)
51.6.1Aufnahme von GEF Elementen
51.6.2Implementierung eines ItemNameResolver2 für GEF
51.6.3Implementierung eines ItemValueResolver2 für GEF
3.1+51.7Listener für den aktuellen Testlauf
51.7.1Das TestRunListener Interface
51.7.2Die Klasse TestRunEvent
51.7.3Die Klasse TestSuiteNode
4.0.3+51.8ResetListener
51.9DOM Prozessoren
51.9.1Das DOMProcessor Interface
51.9.2Die DOMProcessorRegistry
51.9.3Fehlerbehandlung
3.0+51.10Image API Erweiterungen
51.10.1Die ImageRep Klasse
51.10.2Das ImageComparator Interface
51.11Pseudo DOM API für Webanwendungen
51.11.1Die abstrakte Klasse Node
51.11.2Die Klasse DocumentNode
51.11.3Die Klasse FrameNode
51.11.4Die Klasse DomNode
51.11.5Die Klasse DialogNode
4.1+51.12WebDriverConnection SUT API
51.12.1Die WebDriverConnection Klasse
5.0+51.13Windows Control API
51.13.1Die WinControl Klasse
52
Daemon Modus
52.1Daemon Konzepte
52.2Daemon API
52.2.1Der DaemonLocator
52.2.2Der Daemon
52.2.3Der TestRunDaemon
52.2.4Der DaemonRunContext
3.1+52.2.5Der DaemonTestRunListener
3.5+52.3Absicherung des QF-Test Daemon
52.3.1Erstellen einer eigenen Keystore-Datei
52.3.2Festlegen der Keystore-Datei
52.3.3Festlegen der Keystore-Datei auf der Client-Seite
53
Die Procedure Builder Definitionsdatei
53.1Platzhalter
4.1.3+53.1.1Rückgriffswerte für Platzhalter
53.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
53.3Auswertung der Komponentenhierarchie
3.4+53.4Details zu @CONDITION
54
Der ManualStepDialog
54.1Die ManualStepDialog API
3.1+
55
Details zu Knotenkonvertierungen
55.1Einführung
55.2Konvertierungen mit Typwechseln
55.3Zusätzliche Konvertierungen unter 'Extrasequenzen'
55.3.1Konvertierungen ohne Seiteneffekte
55.3.2Konvertierungen mit Seiteneffekten
3.3+
56
Details des Algorithmus zum Bildvergleich
56.1Einführung
56.2Beschreibung der Algorithmen
56.2.1Klassischer Bildvergleich
56.2.2Pixelbasierter Vergleich
56.2.3Pixelbasierte Ähnlichkeitsanalyse
56.2.4Blockbildung mit Vergleich
56.2.5Blockbildung mit Ähnlichkeitsanalyse
56.2.6Häufigkeitsanalyse mittels Histogramm
56.2.7Bildanalyse mittels Diskreter Kosinustransformation
56.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
56.2.9Bilinearer Filter
56.3Beschreibung der speziellen Funktionen
56.3.1Bild-in-Bild Suche
3.2+
57
Resultatslisten
57.1Einführung
57.2Spezielle Listenaktionen
57.2.1Alle Listen
57.2.2Ersetzen
57.2.3Fehlerliste
3.5+57.3Resultate exportieren und laden
4.0+
58
Generische Klassen
58.1Übersicht der generischen Klassen
58.2Eigenschaften von generischen Klassen
58.2.1Accordion
58.2.2BusyPane
58.2.3Button
58.2.4Calendar
58.2.5ColorPicker
58.2.6CheckBox
58.2.7Closer
58.2.8ComboBox
58.2.9Divider
58.2.10Expander
58.2.11FileChooser
58.2.12Graphics
58.2.13Icon
58.2.14Indicator
58.2.15Item
58.2.16Label
58.2.17Link
58.2.18List
58.2.19LoadingComponent
58.2.20Maximizer
58.2.21Menu
58.2.22MenuItem
58.2.23Minimizer
58.2.24Popup
58.2.25RadioButton
58.2.26Restore
58.2.27Panel
58.2.28ProgressBar
58.2.29ScrollBar
58.2.30Separator
58.2.31Sizer
58.2.32Slider
58.2.33Spacer
58.2.34Spinner
58.2.35SplitPanel
58.2.36Table
58.2.37TableCell
58.2.38TableFooter
58.2.39TableHeader
58.2.40TableHeaderCell
58.2.41TabPanel
58.2.42TableRow
58.2.43Text
58.2.44TextArea
58.2.45TextField
58.2.46Thumb
58.2.47ToggleButton
58.2.48ToolBar
58.2.49ToolBarItem
58.2.50ToolTip
58.2.51Tree
58.2.52TreeNode
58.2.53TreeTable
58.2.54Window
59
Doctags
59.1Doctags für Reporting und Dokumentation
4.2+59.1.1@noreport Doctag
59.2Doctags für Robot Framework
59.3Doctags für die Ausführung
59.4Doctags für das Editieren
59.5Doctags für den Prozedurgenerator
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 6.0
B.1.1Version 6.0.4 - 29. November 2022
B.1.2Version 6.0.3 - 6. September 2022
B.1.3Version 6.0.2 - 20. Juli 2022
B.1.4Version 6.0.1 - 9. Juni 2022
B.1.5Änderungen mit möglichen Auswirkungen auf die Testausführung
B.1.6Version 6.0.0 - 17. Mai 2022
B.2QF-Test Version 5.4
B.2.1Version 5.4.3 - 11. März 2022
B.2.2Version 5.4.2 - 18. Februar 2022
B.2.3Version 5.4.1 - 20. Januar 2022
B.2.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.5Version 5.4.0 - 15. Dezember 2021
B.3QF-Test Version 5.3
B.3.1Version 5.3.4 - 30. September 2021
B.3.2Version 5.3.3 - 14. September 2021
B.3.3Version 5.3.2 - 21. Juli 2021
B.3.4Version 5.3.1 - 15. Juni 2021
B.3.5Änderungen mit möglichen Auswirkungen auf die Testausführung
B.3.6Version 5.3.0 - 20. Mai 2021
B.4QF-Test Version 5.2
B.4.1Version 5.2.3 - 9. März 2021
B.4.2Version 5.2.2 - 12. Februar 2021
B.4.3Version 5.2.1 - 3. Dezember 2020
B.4.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.4.5Version 5.2.0 - 10. November 2020
B.5 QF-Test Version 5.1
B.5.1 Version 5.1.2 - 15. September 2020
B.5.2 Version 5.1.1 - 26. August 2020
B.5.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.5.4 Version 5.1.0 - 8. Juli 2020
B.6 QF-Test Version 5.0
B.6.1 Version 5.0.3 - 17. Juni 2020
B.6.2 Version 5.0.2 - 5. Mai 2020
B.6.3 Version 5.0.1 - 2. März 2020
B.6.4Wesentliche neue Features in Version 5
B.6.5 Version 5.0.0 - 6. Februar 2020
B.7QF-Test Version 4
B.7.1QF-Test Version 4.7
B.7.2QF-Test Version 4.6
B.7.3QF-Test Version 4.5
B.7.4QF-Test Version 4.4
B.7.5QF-Test Version 4.3
B.7.6QF-Test Version 4.2
B.7.7QF-Test Version 4.1
B.7.8QF-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