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-7.1.2.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-7.1.2-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
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)
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
5.12.1Methoden anzeigen
7.0+5.12.2UI-Inspektor
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.4Rückgabewerte anzeigen
7.1.5Werte von fehlgeschlagenen Checks als gültig akzeptieren
3.0+7.1.6Geteilte Protokolle
7.1.7Protokoll-Optionen
3.3+7.1.8Eine Testsuite aus dem Protokoll erstellen
4.1+7.1.9Protokolle zusammenführen
7.2Der Debugger
7.2.1Aktivieren des Debuggers
7.2.2Das Debugger-Fenster
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 Java Desktop-Anwendungen
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
16.1Voraussetzungen und bekannte Einschränkungen
16.1.1Voraussetzungen
16.1.2Bekannte Einschränkungen
16.2Emulator oder echtes Gerät
16.3Installation des Android Studios, Emulators und virtueller Geräte
16.3.1Android Studio installation
16.3.2Android Studio AVD Konfiguration
16.4Verbinden mit einem echten Android-Gerät
16.5Eine QF-Test Startsequenz für Android Tests erzeugen
16.5.1Nutzung eines Android-Emulators
16.5.2Nutzung eines echten Android-Gerätes
16.6Aktionen und Checks auf der Android-App aufnehmen
16.7Android 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 Desktop-Anwendungen 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
7.0+27.5JUnit 5 Jupiter
27.6TeamCity CI
28
Integration mit Robot Framework (Preview)
28.1Einführung
28.2Voraussetzungen und Installation
28.3Erste Schritte
28.4Nutzung der Bibliothek
28.5Erstellung eigener Keywords
29
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
29.1Einführung
29.2Einfaches Keyword-Driven Testing mit QF-Test
29.2.1Fachliche Prozeduren
29.2.2Atomare Prozeduren
29.3Keyword-Driven Testing mit dynamischen/generischen Komponenten
29.4Behavior-Driven Testing (BDT)
29.4.1Behavior-Driven Testing (BDT) mit technischer Beschreibung
29.4.2Behavior-Driven Testing (BDT) mit fachlicher Beschreibung
29.5Szenariodateien
29.6Eigene Testbeschreibungen
29.7Anpassung an Ihre Software
30
Verwendung von QF-Test in Docker Umgebungen
30.1Was ist Docker?
30.2QF-Test Docker Images
31
Durchführung von Lasttests mit QF-Test
31.1Hintergrund und Vergleich mit anderen Techniken
31.2Lasttests mit QF-Test
31.2.1Bereitstellung der Testsysteme
31.2.2Konzeption des Testlaufes
31.2.3Vorbereiten der Testsysteme für den Testlauf
31.2.4Testausführung
31.2.5Testauswertung
31.3Spezielles zur Testausführung
31.3.1Synchronisierung
31.3.2Messen von End-to-End Zeiten
31.4Troubleshooting
31.5Web-Lasttests ohne sichtbare Browser-Fenster
3.0+
32
Ausführung manueller Tests mit QF-Test
32.1Einführung
32.2Schritt-für-Schritt Anleitung
32.3Aufbau der Excel-Datei
32.4Die Ausführungstestsuite
32.5Die möglichen Zustände
II
Best Practices
33
Einführung
34
Wie beginnt man in einem Testprojekt?
34.1Infrastruktur und Testumgebung
34.2Speicherorte
34.2.1Netzwerkinstallation
34.3Wiedererkennung von Komponenten
35
Organisation von Testsuiten
35.1Organisation von Tests
35.2Modularisierung
35.3Parametrisierung
35.4Arbeiten in mehreren Testsuiten
35.5Rollen und Zuständigkeiten
35.6Komponenten in unterschiedlichen Ebenen verwalten
35.7Umgekehrte Includes
36
Effiziente Arbeitstechniken
3.5+36.1Arbeiten mit QF-Test Projekten
36.2Erstellung von Testsuiten
36.3Die Standardbibliothek qfs.qft
36.4Ablage von Komponenten
36.5Erweitern von Testsuiten
36.6Arbeiten mit dem Skripteditor
37
Aufsetzen von Testsystemen
37.1Einrichten von Prozessen und Services via Aufgabenplaner
37.2Fernzugriff auf Windowsrechner
37.3Automatische Anmeldung auf Windowsrechnern
37.4Testausführung unter Unix
38
Testausführung
38.1Abhängigkeiten
38.2Wartezeiten und Verzögerungen
38.3Was soll man tun, wenn das Protokoll einen Fehler enthält?
III
Referenzteil
39
Einstellungen
39.1Allgemeine Optionen
3.5+39.1.1Einstellungen für Projekte
7.0+39.1.2Speichern von Testsuiten
39.1.3Darstellung
39.1.4Editieren
39.1.5Lesezeichen
39.1.6Externe Programme
39.1.7Sicherungskopien
39.1.8Bibliothekspfad
39.1.9Lizenz
39.1.10Updates
39.2Aufnahme
39.2.1Folgende Events aufnehmen
39.2.2Eventsequenzen packen
39.2.3Komponenten
39.2.4Unterelemente
39.2.5Prozeduren
39.3Wiedergabe
39.3.1Client Optionen
39.3.2Terminal Optionen
39.3.3Events
39.3.4Wiedererkennung
39.3.5Verzögerungen
39.3.6Automatische Timeouts
39.3.7Rückwärtskompatibilität
7.0+39.4SmartID und qfs:label
6.0+39.5Android
6.0+39.5.1Aufnahmefenster
39.6Web-Optionen
39.6.1HTTP-Requests
39.6.2Rückwärtskompatibilität
39.7SWT-Optionen
39.8Debugger-Optionen
39.9Protokoll
39.9.1Allgemeine Protokoll-Optionen
39.9.2Optionen zur Aufteilung von Protokollen
39.9.3Optionen für den Inhalt von Protokollen
4.0+39.9.4Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
39.10Variablen
39.11Nur zur Laufzeit
40
Bestandteile einer Testsuite
40.1Die Testsuite und ihre Struktur
40.1.1'Testsuite'
40.2Test- und Sequenz-Knoten
40.2.1'Testfall'
40.2.2'Testfallsatz'
40.2.3'Testaufruf'
40.2.4'Sequenz'
40.2.5'Testschritt'
40.2.6'Sequenz mit Zeitlimit'
40.2.7'Extrasequenzen'
40.3Abhängigkeiten
40.3.1'Abhängigkeit'
40.3.2'Bezug auf Abhängigkeit'
40.3.3'Vorbereitung'
40.3.4'Aufräumen'
40.3.5'Fehlerbehandlung'
40.4Datentreiber
40.4.1'Datentreiber'
40.4.2'Datentabelle'
40.4.3'Datenbank'
40.4.4'Excel-Datei'
40.4.5'CSV-Datei'
40.4.6'Datenschleife'
40.5Prozeduren
40.5.1'Prozedur'
40.5.2'Prozeduraufruf'
40.5.3'Return'
40.5.4'Package'
40.5.5'Prozeduren'
40.6Ablaufsteuerung
40.6.1'Schleife'
40.6.2'While'
40.6.3'Break'
40.6.4'If'
40.6.5'Elseif'
40.6.6'Else'
40.6.7'Try'
40.6.8'Catch'
40.6.9'Finally'
40.6.10'Throw'
40.6.11'Rethrow'
40.6.12'Server-Skript'
40.6.13'SUT-Skript'
40.7Prozesse
40.7.1'Java-SUT-Client starten'
40.7.2'SUT-Client starten'
40.7.3'Programm starten'
40.7.4'Web-Engine starten'
40.7.5'Browser-Fenster öffnen'
40.7.6'Shell-Kommando ausführen'
40.7.7'PDF-Client starten'
40.7.8'Windows-Anwendung starten'
40.7.9'Windows-Anwendung verbinden'
40.7.10'Android-Emulator starten'
40.7.11'Mit Android-Gerät verbinden'
40.7.12'Android-App starten'
40.7.13'Warten auf Client'
40.7.14'Warten auf Android-Gerät'
40.7.15'Programm beenden'
40.7.16'Warten auf Programmende'
40.8Events
40.8.1'Mausevent'
40.8.2'Tastaturevent'
40.8.3'Texteingabe'
40.8.4'Fensterevent'
40.8.5'Komponentenevent'
40.8.6'Auswahl'
40.8.7'Dateiauswahl'
40.9Checks
40.9.1'Check Text'
40.9.2'Check Boolean'
40.9.3'Check Elemente'
40.9.4'Check selektierbare Elemente'
40.9.5'Check Abbild'
40.9.6'Check Geometrie'
40.10Abfragen
40.10.1'Text auslesen'
40.10.2'Index auslesen'
40.10.3'Geometrie auslesen'
40.11Verschiedenes
40.11.1'Kommentar'
40.11.2'Fehler'
40.11.3'Warnung'
40.11.4'Nachricht'
40.11.5'Variable setzen'
40.11.6'Warten auf Komponente'
40.11.7'Warten auf Laden des Dokuments'
40.11.8'Warten auf Ende des Downloads'
40.11.9'Ressourcen laden'
40.11.10'Properties laden'
40.11.11'Unit-Test'
40.11.12'CustomWebResolver installieren'
40.12HTTP-Requests
40.12.1'Server-HTTP-Request'
40.12.2'Browser-HTTP-Request'
40.13Fenster, Komponenten und Elemente
40.13.1'Fenster'
40.13.2'Webseite'
40.13.3'Komponente'
40.13.4'Element'
40.13.5'Fenstergruppe'
40.13.6'Komponentengruppe'
40.13.7'Fenster und Komponenten'
40.14Historische Knoten
40.14.1'Test'
40.14.2Prozedur installCustomWebResolver
41
Exceptions
IV
Technische Referenz
42
Kommandozeilenargumente und Rückgabewerte
42.1Aufrufsyntax
42.2Kommandozeilenargumente
42.2.1Argumente für das Startskript
42.2.2Argumente für die Java-VM
42.2.3Argumente für QF-Test
42.2.4Platzhalter im Dateinamen für Protokoll und Report
42.3Rückgabewerte von QF-Test
43
GUI-Engines
44
Starten einer Applikation aus QF-Test
44.1Verschiedene Methoden zum Starten des SUT
44.1.1Starten des SUT aus einem Skript oder ausführbaren Programm
44.1.2Starten des SUT mittels Java WebStart
44.1.3 Starten des SUT mittels java -jar <Archiv>
44.1.4 Starten des SUT mittels java -classpath <Pfad> <Startklasse>
44.1.5 Starten einer Web-Anwendung im Browser
44.1.6Öffnen eines PDF-Dokuments
45
JRE und SWT-Instrumentierung
45.1Deinstrumentieren eines JRE
45.2SWT-Instrumentierung
45.2.1Vorbereitung einer manuellen SWT-Instrumentierung
45.2.2Manuelle SWT-Instrumentierung für Eclipse basierte Anwendungen
45.2.3Manuelle Instrumentierung für eigenständige SWT-Anwendungen
46
Technisches zu Komponenten
46.1Gewichtung der Wiedererkennungsmerkmale bei aufgenommenen Komponenten
46.2Generierung der 'QF-Test ID' der Komponente
46.3SmartIDs - allgemeine Syntax
46.4SmartIDs: Sonderzeichen
46.5Android - Liste der trivialen Komponentenbezeichner
47
Technische Details zu verschiedenen Themen
47.1Drag&Drop
47.2Timing
47.3Reguläre Ausdrücke - Regexps
47.4Zeilenumbrüche in Unix und Windows
47.5Schützen von Sonderzeichen (quoting)
47.6Auflösen von inkludierten Dateien
48
Skripting (Jython, Groovy und JavaScript)
48.1Pfad für das Laden der Module
48.2Das Plugin Verzeichnis
48.3Initialisierung (Jython)
48.4Die Namespace Umgebung für Skript-Knoten (Jython)
48.5Das API des Runcontexts
48.6Das qf Modul
3.0+48.7Image API
48.7.1Die ImageWrapper Klasse
48.8Exceptions
48.9Debuggen von Skripten (Jython)
49
Web
49.1Verbesserte Komponentenerkennung mittels CustomWebResolver
49.1.1Generelle Konfigurationsmöglichkeiten
49.1.2Der 'CustomWebResolver installieren' Knoten
49.1.3'CustomWebResolver' – Tabelle
49.1.4'CustomWebResolver' – Baum (Tree)
49.1.5'CustomWebResolver' – TreeTable
49.1.6'CustomWebResolver' – Liste
49.1.7'CustomWebResolver' – Combobox
49.1.8'CustomWebResolver' – TabPanel und Accordion
49.1.9Beispiel für den "CarConfigurator Web"
49.2Besondere Unterstützung für verschiedene Web-Komponentenbibliotheken
49.2.1Konzepte für Webframework-Resolver
49.2.2Eindeutige Bezeichner setzen
49.3Browser Verbindungsmodus
49.3.1QF-Driver Verbindungsmodus
5.3+49.3.2CDP-Driver Verbindungsmodus
49.3.3WebDriver Verbindungsmodus
49.3.4Bekannte Einschränkungen des WebDriver Modus
49.4Web – Pseudoattribute
49.5Zugriff auf unsichtbare Felder einer Webseite
49.6WebDriver mit Safari
50
Steuern und Testen von nativen Windows-Anwendungen - ohne Verwendung der QF-Test win Engine
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
50.2Beispiel
50.2.1Start der Anwendung
50.2.2Übersicht über die GUI-Elemente der Anwendung
51
Steuern und Testen von nativen MacOS-Anwendungen
51.1Vorgehensweise
51.1.1Start der Anwendung
51.1.2Auflistung aller GUI-Elemente eines Fensters
51.1.3Informationen zu einzelnen GUI-Elementen
51.1.4Zugriff auf GUI Elemente
51.1.5Ausführen von Aktionen auf GUI-Elementen
52
APIs für Erweiterungen
52.1Das resolvers Modul
52.1.1Verwendung
52.1.2Implementierung
52.1.3addResolver
52.1.4removeResolver
52.1.5listNames
52.1.6Zugriff auf die beste Beschriftung
3.1+52.1.7 Das NameResolver Interface
4.0+52.1.8 Das GenericClassNameResolver Interface
3.1+52.1.9 Das ClassNameResolver Interface
3.1+52.1.10 Das FeatureResolver Interface
52.1.11Das ExtraFeatureResolver Interface
3.1+52.1.12 Das ItemNameResolver Interface
3.1+52.1.13 Das ItemValueResolver Interface
52.1.14Das TreeTableResolver Interface
52.1.15Das InterestingParentResolver Interface
4.1+52.1.16 Das TooltipResolver Interface
52.1.17Das IdResolver Interface
4.1+52.1.18 Das EnabledResolver Interface
4.1+52.1.19 Das VisibilityResolver Interface
4.1+52.1.20 Das MainTextResolver Interface
4.1+52.1.21 Das WholeTextResolver Interface
4.1+52.1.22 Der BusyPaneResolver Interfaces
4.1+52.1.23 Der GlassPaneResolver Interfaces
4.1+52.1.24 Das EventSynchronizer Interface
4.1+52.1.25 Das BusyApplicationDetector Interface
52.1.26Matcher
52.1.27Externe Implementierung
52.2Das webResolvers-Modul
52.2.1Allgemeine Informationen
52.2.2addResolver
52.2.3removeResolver
52.2.4listNames
52.2.5Beispiele
52.3Die ResolverRegistry
3.1+52.4 Implementierung eigener Unterelemente mit dem ItemResolver Interface
52.4.1ItemResolver Konzepte
52.4.2Das ItemResolver Interface
52.4.3Die Klasse SubItemIndex
52.4.4Die ItemRegistry
52.4.5Standard Repräsentation von Unterelementen
3.1+52.5 Implementierung eigener Checks mit dem Checker Interface
52.5.1Das Checker Interface
52.5.2Die Pair Klasse
52.5.3 Das CheckType Interface und seine Implementierung DefaultCheckType
52.5.4Die Klasse CheckDataType
52.5.5Die Klasse CheckData und ihre Unterklassen
52.5.6Die CheckerRegistry
52.5.7Beispiel für einen Checker
3.2+52.6 Das Eclipse Graphical Editing Framework (GEF)
52.6.1Aufnahme von GEF Elementen
52.6.2Implementierung eines ItemNameResolver2 für GEF
52.6.3Implementierung eines ItemValueResolver2 für GEF
3.1+52.7Listener für den aktuellen Testlauf
52.7.1Das TestRunListener Interface
52.7.2Die Klasse TestRunEvent
52.7.3Die Klasse TestSuiteNode
4.0.3+52.8ResetListener
52.9DOM Prozessoren
52.9.1Das DOMProcessor Interface
52.9.2Die DOMProcessorRegistry
52.9.3Fehlerbehandlung
3.0+52.10Image API Erweiterungen
52.10.1Die ImageRep Klasse
52.10.2Das ImageComparator Interface
52.10.3Die ImageRepDrawer Klasse
52.11Pseudo DOM API für Web-Anwendungen
52.11.1Die abstrakte Klasse Node
52.11.2Die Klasse DocumentNode
52.11.3Die Klasse FrameNode
52.11.4Die Klasse DomNode
52.11.5Die Klasse DialogNode
4.1+52.12WebDriverConnection SUT API
52.12.1Die WebDriverConnection Klasse
5.0+52.13Windows Control API
52.13.1Die WinControl Klasse
53
Daemon-Modus
53.1Daemon Konzepte
53.2Daemon API
53.2.1Der DaemonLocator
53.2.2Der Daemon
53.2.3Der TestRunDaemon
53.2.4Der DaemonRunContext
3.1+53.2.5Der DaemonTestRunListener
3.5+53.3Absicherung des QF-Test Daemon
53.3.1Erstellen einer eigenen Keystore-Datei
53.3.2Festlegen der Keystore-Datei
53.3.3Festlegen der Keystore-Datei auf der Client-Seite
54
Die Procedure Builder Definitionsdatei
54.1Platzhalter
4.1.3+54.1.1Rückgriffswerte für Platzhalter
54.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
54.3Auswertung der Komponentenhierarchie
3.4+54.4Details zu @CONDITION
55
Der ManualStepDialog
55.1Die ManualStepDialog API
3.1+
56
Details zu Knotenkonvertierungen
56.1Einführung
56.2Konvertierungen mit Typwechseln
56.3Zusätzliche Konvertierungen unter 'Extrasequenzen'
56.3.1Konvertierungen ohne Seiteneffekte
56.3.2Konvertierungen mit Seiteneffekten
3.3+
57
Details des Algorithmus zum Bildvergleich
57.1Einführung
57.2Beschreibung der Algorithmen
57.2.1Klassischer Bildvergleich
57.2.2Pixelbasierter Vergleich
57.2.3Pixelbasierte Ähnlichkeitsanalyse
57.2.4Blockbildung mit Vergleich
57.2.5Blockbildung mit Ähnlichkeitsanalyse
57.2.6Häufigkeitsanalyse mittels Histogramm
57.2.7Bildanalyse mittels Diskreter Kosinustransformation
57.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
57.2.9Bilinearer Filter
57.3Beschreibung der speziellen Funktionen
57.3.1Bild-in-Bild Suche
3.2+
58
Resultatslisten
58.1Einführung
58.2Spezielle Listenaktionen
58.2.1Alle Listen
58.2.2Ersetzen
58.2.3Fehlerliste
3.5+58.3Resultate exportieren und laden
4.0+
59
Generische Klassen
59.1Accordion
59.2BusyPane
59.3Button
59.4Calendar
59.5CheckBox
59.6Closer
59.7ColorPicker
59.8ComboBox
59.9Divider
59.10Expander
59.11FileChooser
59.12Graphics
59.13Icon
59.14Indicator
59.15Item
59.16Label
59.17Link
59.18List
59.19LoadingComponent
59.20Maximizer
59.21Menu
59.22MenuItem
59.23Minimizer
59.24Panel
59.25Popup
59.26ProgressBar
59.27RadioButton
59.28Restore
59.29ScrollBar
59.30Separator
59.31Sizer
59.32Slider
59.33Spacer
59.34Spinner
59.35SplitPanel
59.36Table
59.37TableCell
59.38TableFooter
59.39TableHeader
59.40TableHeaderCell
59.41TableRow
59.42TabPanel
59.43Text
59.44TextArea
59.45TextField
59.46Thumb
59.47ToggleButton
59.48ToolBar
59.49ToolBarItem
59.50ToolTip
59.51Tree
59.52TreeNode
59.53TreeTable
59.54Window
60
Doctags
60.1Doctags für Reporting und Dokumentation
4.2+60.1.1@noreport Doctag
60.2Doctags für Robot Framework
60.3Doctags für die Ausführung
60.4Doctags für das Editieren
60.5Doctags für den Prozedurgenerator
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 7.1
B.1.1Version 7.1.2 - 14. März 2024
B.1.2Version 7.1.1 - 27. February, 2024
B.1.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.1.4Version 7.1.0 - 20. Februar 2024
B.2QF-Test Version 7.0
B.2.1Version 7.0.8 - 5. Dezember 2023
B.2.2Version 7.0.7 - 11. Oktober 2023
B.2.3Version 7.0.6 - 29. September 2023
B.2.4Version 7.0.5 - 20. September 2023
B.2.5Version 7.0.4 - 30. August 2023
B.2.6Version 7.0.3 - 13. Juli 2023
B.2.7Version 7.0.2 - 22. Juni 2023
B.2.8Version 7.0.1 - 31. Mai 2023
B.2.9Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.10Version 7.0.0 - 27. April 2023
B.3QF-Test Version 6.0
B.3.1Version 6.0.5 - 15. März 2023
B.3.2Version 6.0.4 - 29. November 2022
B.3.3Version 6.0.3 - 6. September 2022
B.3.4Version 6.0.2 - 20. Juli 2022
B.3.5Version 6.0.1 - 9. Juni 2022
B.3.6Änderungen mit möglichen Auswirkungen auf die Testausführung
B.3.7Version 6.0.0 - 17. Mai 2022
B.4QF-Test Version 5.4
B.4.1Version 5.4.3 - 11. März 2022
B.4.2Version 5.4.2 - 18. Februar 2022
B.4.3Version 5.4.1 - 20. Januar 2022
B.4.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.4.5Version 5.4.0 - 15. Dezember 2021
B.5QF-Test Version 5.3
B.5.1Version 5.3.4 - 30. September 2021
B.5.2Version 5.3.3 - 14. September 2021
B.5.3Version 5.3.2 - 21. Juli 2021
B.5.4Version 5.3.1 - 15. Juni 2021
B.5.5Änderungen mit möglichen Auswirkungen auf die Testausführung
B.5.6Version 5.3.0 - 20. Mai 2021
B.6QF-Test Version 5.2
B.6.1Version 5.2.3 - 9. März 2021
B.6.2Version 5.2.2 - 12. Februar 2021
B.6.3Version 5.2.1 - 3. Dezember 2020
B.6.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.6.5Version 5.2.0 - 10. November 2020
B.7 QF-Test Version 5.1
B.7.1 Version 5.1.2 - 15. September 2020
B.7.2 Version 5.1.1 - 26. August 2020
B.7.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.7.4 Version 5.1.0 - 8. Juli 2020
B.8 QF-Test Version 5.0
B.8.1 Version 5.0.3 - 17. Juni 2020
B.8.2 Version 5.0.2 - 5. Mai 2020
B.8.3 Version 5.0.1 - 2. März 2020
B.8.4Wesentliche neue Features in Version 5
B.8.5 Version 5.0.0 - 6. Februar 2020
B.9QF-Test Version 4
B.9.1QF-Test Version 4.7
B.9.2QF-Test Version 4.6
B.9.3QF-Test Version 4.5
B.9.4QF-Test Version 4.4
B.9.5QF-Test Version 4.3
B.9.6QF-Test Version 4.2
B.9.7QF-Test Version 4.1
B.9.8QF-Test Version 4.0
B.10QF-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.3Kontext-Informationen für Online-Handbuch
E.4Anfragedaten beim Abruf von WebDriver-Dateien
E.5Client-Daten in QF-Test Protokolldateien
F
Benutzte Software