Inhaltsverzeichnis

Inhaltsverzeichnis
Vorwort
Hinweise zur Benutzung dieses Handbuchs
I
Anwenderhandbuch
1
Installation und Start
1.1Systemvoraussetzungen
1.1.1Hard- und Software
1.1.2Unterstützte Technologien - QF-Test
1.1.3Unterstützte Technologien - zu testende Systeme
1.2Windows Installation
1.2.1Installation mit dem Windows Setup-Programm QF-Test-9.0.0.exe
1.2.2Auspacken des selbstextrahierenden Archivs QF-Test-9.0.0-sfx.exe
1.2.3Abschluss der Installation und Java-Konfiguration
1.3Linux 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.4Daten aus der GUI auslesen
4.5Komponenten aufnehmen
4.6HTTP-Requests aufnehmen (GET/POST)
5
Komponenten
5.1Komponenten eines GUI
5.2Komponente-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.5Komponente-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.9QF-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.2Komponenten aktualisieren
3.1+5.12 Komponenten untersuchen
5.12.1Methoden anzeigen
7.0+5.12.2UI-Inspektor
6
Variablen
6.1Variablenreferenzen
6.1.1Referenzierung einfacher Variablen
6.1.2Referenzierung von Gruppenvariablen
6.1.3Referenzierung von Variablen in Skripten und Skriptausdrücken
6.2Ermittlung des Wertes einer Variablen
6.3Definition von Variablen
6.4Variablenebenen
6.4.1Primärstapel
6.4.2Sekundärstapel
6.5Anzeige der Variablen im Debug-Modus – Beispiel
6.6Datentypen von Variablen
6.6.1JSON-Daten
6.7Externe Daten
6.8Spezielle Gruppen
3.0+6.9Immediate 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.2Anzeige der aktuellen Variablenwerte
7.2.3Debugger Kommandos
7.2.4Breakpoints setzen und löschen
7.2.5Das separate Debugger-Fenster
8
Aufbau und Organisation einer Testsuite
8.1Struktur der Testsuite
8.2Testfallsatz 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.3Sequenz und Testschritt Knoten
8.4Vorbereitung und Aufräumen Knoten
8.5Prozeduren 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.6Abhängigkeit Knoten
8.6.1Funktionsweise
8.6.2Verwendung von Abhängigkeiten
8.6.3Abhängigkeiten - Ausführung und Stapel von Abhängigkeiten
8.6.4Charakteristische Variablen
8.6.5Aufräumen erzwingen
8.6.6Abhä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.2Skriptausdrücke
11.3Der Runcontext rc
11.3.1Meldungen ausgeben
11.3.2Checks durchführen
11.3.3Variablen
11.3.4Zugriff auf die GUI-Komponenten des SUT
11.3.5Aufruf von Prozeduren
3.1+11.3.6Setzen von Optionen
11.3.7Komponenten bei Bedarf explizit setzen
11.4Jython-Skripting
11.4.1Jython-Variablen
11.4.2Module
11.4.3Post-mortem Fehleranalyse von Jython-Skripten
11.4.4Boolean-Typ
11.4.5Jython Strings und Zeichenkodierung
11.4.6Den Namen einer Java-Klasse ermitteln
11.4.7Ein komplexes Beispiel
11.5Groovy-Skripting
11.5.1Groovy Packages
11.6JavaScript-Skripting
11.6.1Module
11.6.2Ausgaben
11.6.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
8.0+
17
Testen von iOS-Anwendungen
17.1Voraussetzungen und bekannte Einschränkungen
17.1.1Voraussetzungen
17.1.2Bekannte Einschränkungen
17.2Xcode, Simulatoren und IDB installieren
17.2.1Xcode installieren
17.2.2iOS Development Bridge (idb) installieren
17.3Auf einem echten iOS-Gerät testen
17.4QF-Test Vorbereitung Sequenz für iOS Tests
17.5Aufnamen und Checks bei iOS
17.6iOS Hilfsprozeduren
18
Testen von PDF-Dokumenten
18.1PDF-Client
18.1.1PDF-Client starten
18.1.2Das Fenster des PDF-Client
18.2PDF Events
18.2.1PDF-Dokument öffnen
18.2.2Seite wechseln
18.3Checks für PDF-Komponenten
18.3.1Check Text
18.3.2Check Abbild
18.3.3'Check Font'
18.3.4'Check Font-Größe'
18.4PDF Komponententypen
18.5PDF Komponentenerkennung
9.0.0+
19
Testen von Barrierefreiheit
19.1Allgemeine Parameter der Check-Funktionen
19.2Axe-Checks mit QF-Test
19.2.1Parameter des Axe-Checks
19.2.2Die "impact"-Bewertung von axe-core
19.3Farbkontrast-Check für einfache Grafikobjekte
19.3.1Parameter des Farbkontrast-Checks
19.4A11y Protokolle und Reports
19.4.1Arbeiten mit dem Protokoll
19.4.2Hinweise zur Reportgenerierung
20
Testen von Java Desktop-Anwendungen im Browser mit Webswing oder JPro
20.1Technische Konzepte von JiB für Webswing und JPro
21
Testen von Electron-Anwendungen
21.1Electron Client starten
21.1.1Electron Einstellungen im Schnellstart-Assistenten
21.2Electron spezifische Funktionalität in QF-Test
21.2.1Native Menüs
21.2.2Native Dialoge
21.2.3Erweiterte Javascript-API
21.3Technische Anmerkungen zum Testen von Electron-Anwendungen im WebDriver-Verbindungsmodus
22
Testen von Webdiensten
22.1REST Webservices
22.1.1Der HTTP Standard und Webdienste
22.1.2HTTP Anfragen
22.1.3Beispiele
23
Datengetriebenes Testen
23.1Beispiele für Datentreiber
23.2Anwendung von Datentreibern
23.3Beispiele für Datentreiber
23.4Fortgeschrittene Anwendung
24
Reports und Testdokumentation
24.1Reports
24.1.1Reportkonzepte
24.1.2Inhalt von Reports
24.1.3Reports erstellen
24.1.4Individualisierung von Reports
24.2Testdoc-Dokumentation für Testfallsätze und Testfälle
24.3Pkgdoc-Dokumentation für Packages, Prozeduren und Abhängigkeiten
25
Testausführung
25.1Testausführung im Batchmodus
25.1.1Verwenden der Kommandozeile
25.1.2Windows Befehlsskript
3.0+25.1.3Groovy
25.2Testausführung im Daemonmodus
25.2.1Starten des Daemons
3.0+25.2.2Steuern des Daemons über die QF-Test Kommandozeile
25.2.3Steuern des Daemons über die Daemon API
4.1+25.3Erneute Ausführung von Knoten (Rerun)
25.3.1Erneute Ausführung aus dem Protokoll
25.3.2Fehlerhafte Knoten sofort wiederholen
26
Verteilte Entwicklung von Tests
26.1Der Aufruf einer Prozedur in einer anderen Testsuite
26.2Die Verwaltung von Komponenten
26.3Verschmelzen von Testsuiten
26.3.1Importieren von Komponenten
3.3+26.3.2 Importieren von Prozeduren und Testfällen
26.4Verteilte Entwicklung von Tests
3.1+26.5Statische Validierung von Testsuiten
26.5.1Ungültige Referenzen vermeiden
4.0.3+26.5.2Ungenutzte Prozeduren finden
3.0+
27
Automatisierte Erstellung von Basisprozeduren
27.1Einführung
27.2Die Verwendung vom Procedure Builder
27.3Konfiguration des Procedure Builder
27.3.1Die Procedure Builder Definitionsdatei
3.0+
28
Anbindung an Testmanagementtools
28.1HP ALM - Quality Center
28.1.1Einführung
28.1.2Schritt für Schritt Anleitung
28.1.3Fehlersuche
28.2Imbus TestBench
28.2.1Einführung
28.2.2Generieren von QF-Test Vorlage-Testsuiten aus den Interaktionen
28.2.3Importieren der Resultate
28.3QMetry
28.3.1Einführung
28.3.2Demokonfiguration Beispiel
28.4Klaros
28.4.1Einführung
28.4.2Importieren von QF-Test Ergebnissen in Klaros
28.5TestLink
28.5.1Einführung
28.5.2Generieren von QF-Test Vorlagen-Testsuiten aus den Testfällen
28.5.3Ausführung der Testfälle
28.5.4Importieren der QF-Test Resultate nach TestLink
29
Integration mit Entwickler-Tools
29.1Eclipse
29.1.1Installation
29.1.2Konfiguration
29.2Ant
29.3Maven
3.3+29.4Jenkins
29.4.1Jenkins installieren und starten
29.4.2Voraussetzungen für GUI-Tests
29.4.3Installation des QF-Test Plugins
7.0+29.5JUnit 5 Jupiter
29.6TeamCity CI
6.0+
30
Integration mit Robot Framework
30.1Einführung
30.2Voraussetzungen und Installation
30.3Erste Schritte
30.4Nutzung der Bibliothek
30.5Erstellung eigener Keywords
31
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
31.1Einführung
31.2Einfaches Keyword-Driven Testing mit QF-Test
31.2.1Fachliche Prozeduren
31.2.2Atomare Prozeduren
31.3Keyword-Driven Testing mit dynamischen/generischen Komponenten
31.4Behavior-Driven Testing (BDT)
31.4.1Behavior-Driven Testing (BDT) mit technischer Beschreibung
31.4.2Behavior-Driven Testing (BDT) mit fachlicher Beschreibung
31.5Szenariodateien
31.6Eigene Testbeschreibungen
31.7Anpassung an Ihre Software
32
Verwendung von QF-Test in Docker Umgebungen
32.1Was ist Docker?
32.2QF-Test Docker Images
33
Durchführung von Lasttests mit QF-Test
33.1Hintergrund und Vergleich mit anderen Techniken
33.2Lasttests mit QF-Test
33.2.1Bereitstellung der Testsysteme
33.2.2Konzeption des Testlaufes
33.2.3Vorbereiten der Testsysteme für den Testlauf
33.2.4Testausführung
33.2.5Testauswertung
33.3Spezielles zur Testausführung
33.3.1Synchronisierung
33.3.2Messen von End-to-End Zeiten
33.4Troubleshooting
33.5Web-Lasttests ohne sichtbare Browser-Fenster
3.0+
34
Ausführung manueller Tests mit QF-Test
34.1Einführung
34.2Schritt-für-Schritt Anleitung
34.3Aufbau der Excel-Datei
34.4Die Ausführungstestsuite
34.5Die möglichen Zustände
II
Best Practices
35
Einführung
36
Wie beginnt man in einem Testprojekt?
36.1Infrastruktur und Testumgebung
36.2Speicherorte
36.2.1Netzwerkinstallation
36.3Wiedererkennung von Komponenten
37
Organisation von Testsuiten
37.1Organisation von Tests
37.2Modularisierung
37.3Parametrisierung
37.4Arbeiten in mehreren Testsuiten
37.5Rollen und Zuständigkeiten
37.6Komponenten in unterschiedlichen Ebenen verwalten
37.7Umgekehrte Includes
38
Effiziente Arbeitstechniken
3.5+38.1Arbeiten mit QF-Test Projekten
38.2Erstellung von Testsuiten
38.3Die Standardbibliothek qfs.qft
38.4Ablage von Komponenten
38.5Erweitern von Testsuiten
38.6Arbeiten mit dem Skripteditor
39
Aufsetzen von Testsystemen
39.1Einrichten von Prozessen und Services via Aufgabenplaner
39.2Fernzugriff auf Windowsrechner
39.3Automatische Anmeldung auf Windowsrechnern
39.4Testausführung unter Linux
40
Testausführung
40.1Abhängigkeiten
40.2Wartezeiten und Verzögerungen
40.3Was soll man tun, wenn das Protokoll einen Fehler enthält?
III
Referenzteil
41
Einstellungen
41.1Allgemeine Optionen
3.5+41.1.1Einstellungen für Projekte
7.0+41.1.2Speichern von Testsuiten
41.1.3Darstellung
41.1.4Editieren
41.1.5Lesezeichen
41.1.6Externe Programme
41.1.7Sicherungskopien
41.1.8Bibliothek
41.1.9Lizenz
41.1.10Updates
41.2Aufnahme
41.2.1Folgende Events aufnehmen
41.2.2Eventsequenzen packen
41.2.3Komponenten
41.2.4Unterelemente
6.0+41.2.5Aufnahmefenster
41.2.6Prozeduren
41.3Wiedergabe
41.3.1Client Optionen
41.3.2Terminal Optionen
41.3.3Events
41.3.4Wiedererkennung
41.3.5Verzögerungen
41.3.6Automatische Timeouts
41.3.7Rückwärtskompatibilität
7.0+41.4SmartID und qfs:label
6.0+41.5Android
8.0+41.6iOS
41.7Web-Optionen
41.7.1HTTP-Requests
41.7.2Rückwärtskompatibilität
41.8SWT-Optionen
41.9UI-Inspektor-Optionen
41.10Debugger-Optionen
41.11Protokoll
41.11.1Allgemeine Protokoll-Optionen
41.11.2Optionen zur Aufteilung von Protokollen
41.11.3Optionen für den Inhalt von Protokollen
4.0+41.11.4Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
41.12Variablen
41.13Nur zur Laufzeit
42
Bestandteile einer Testsuite
42.1Die Testsuite und ihre Struktur
42.1.1Testsuite
42.2Test- und Sequenz-Knoten
42.2.1Testfall
42.2.2Testfallsatz
42.2.3Testaufruf
42.2.4Sequenz
42.2.5Testschritt
42.2.6Sequenz mit Zeitlimit
42.2.7Extrasequenzen
42.3Abhängigkeiten
42.3.1Abhängigkeit
42.3.2Bezug auf Abhängigkeit
42.3.3Vorbereitung
42.3.4Aufräumen
42.3.5Fehlerbehandlung
42.4Datentreiber
42.4.1Datentreiber
42.4.2Datentabelle
42.4.3Datenbank
42.4.4Excel-Datei
42.4.5CSV-Datei
42.4.6Datenschleife
42.5Prozeduren
42.5.1Prozedur
42.5.2Prozeduraufruf
42.5.3Return
42.5.4Package
42.5.5Prozeduren
42.6Ablaufsteuerung
42.6.1Schleife
42.6.2While
42.6.3Break
42.6.4If
42.6.5Elseif
42.6.6Else
42.6.7Try
42.6.8Catch
42.6.9Finally
42.6.10Throw
42.6.11Rethrow
42.6.12Server-Skript
42.6.13SUT-Skript
42.7Prozesse
42.7.1Java-SUT-Client starten
42.7.2SUT-Client starten
42.7.3Programm starten
42.7.4Shell-Kommando ausführen
42.7.5Web-Engine starten
42.7.6PDF-Client starten
42.7.7Windows-Anwendung starten
42.7.8Windows-Anwendung verbinden
42.7.9Android-Emulator starten
42.7.10Mit Android-Gerät verbinden
42.7.11Mit iOS-Gerät verbinden
42.7.12Warten auf Client
42.7.13Warten auf Mobil-Gerät
42.7.14Browser-Fenster öffnen
42.7.15Mobile-App starten
42.7.16Programm beenden
42.7.17Warten auf Programmende
42.8Events
42.8.1Mausevent
42.8.2Tastaturevent
42.8.3Texteingabe
42.8.4Fensterevent
42.8.5Komponentenevent
42.8.6Auswahl
42.8.7Dateiauswahl
42.9Checks
42.9.1Check Text
42.9.2Check Boolean
42.9.3Check Elemente
42.9.4Check selektierbare Elemente
42.9.5Check Abbild
42.9.6Check Geometrie
42.10Abfragen
42.10.1Text auslesen
42.10.2Index auslesen
42.10.3Geometrie auslesen
42.11Verschiedenes
42.11.1Kommentar
42.11.2Fehler
42.11.3Warnung
42.11.4Nachricht
42.11.5Variable setzen
42.11.6Warten auf Komponente
42.11.7Warten auf Laden des Dokuments
42.11.8Warten auf Ende des Downloads
42.11.9Ressourcen laden
42.11.10Properties laden
42.11.11Unit-Test
42.11.12CustomWebResolver installieren
42.12HTTP-Requests
42.12.1Server-HTTP-Request
42.12.2Browser-HTTP-Request
42.13Fenster, Komponenten und Elemente
42.13.1Fenster
42.13.2Webseite
42.13.3Komponente
42.13.4Element
42.13.5Fenstergruppe
42.13.6Komponentengruppe
42.13.7Fenster und Komponenten
42.14Historische Knoten
42.14.1Test
42.14.2Prozedur installCustomWebResolver
43
Exceptions
IV
Technische Referenz
44
Kommandozeilenargumente und Rückgabewerte
44.1Aufrufsyntax
44.2Kommandozeilenargumente
44.2.1Argumente für das Startskript
44.2.2Argumente für die Java-VM
44.2.3Argumente für QF-Test
44.2.4Platzhalter im Dateinamen für Protokoll und Report
44.3Rückgabewerte von QF-Test
45
GUI-Engines
46
Starten einer Applikation aus QF-Test
46.1Verschiedene Methoden zum Starten des SUT
46.1.1Starten des SUT aus einem Skript oder ausführbaren Programm
46.1.2Starten des SUT mittels Java WebStart
46.1.3 Starten des SUT mittels java -jar <Archiv>
46.1.4 Starten des SUT mittels java -classpath <Pfad> <Startklasse>
46.1.5 Starten einer Web-Anwendung im Browser
46.1.6Öffnen eines PDF-Dokuments
47
JRE und SWT-Instrumentierung
47.1Deinstrumentieren eines JRE
47.2SWT-Instrumentierung
47.2.1Vorbereitung einer manuellen SWT-Instrumentierung
47.2.2Manuelle SWT-Instrumentierung für Eclipse basierte Anwendungen
47.2.3Manuelle Instrumentierung für eigenständige SWT-Anwendungen
48
Technisches zu Komponenten
48.1Gewichtung der Wiedererkennungsmerkmale bei aufgenommenen Komponenten
48.2Generierung der QF-Test ID der Komponente
48.3SmartIDs - allgemeine Syntax
48.4SmartIDs: Sonderzeichen
48.5Android - Liste der trivialen Komponentenbezeichner
49
Technische Details zu verschiedenen Themen
49.1Drag&Drop
49.2Timing
49.3Reguläre Ausdrücke - Regexps
49.4Zeilenumbrüche in Linux und Windows
49.5Schützen von Sonderzeichen (quoting)
49.6Auflösen von inkludierten Dateien
50
Skripting (Jython, Groovy und JavaScript)
50.1Pfad für das Laden der Module
50.2Das Plugin Verzeichnis
50.3Initialisierung (Jython)
50.4Die Namespace Umgebung für Skript-Knoten (Jython)
50.5Die API des Runcontexts
50.5.1Der Parameter expand
50.6Das qf Modul
3.0+50.7Image API
50.7.1Die ImageWrapper Klasse
50.8Das JSON Modul
50.9Sprechende Prüfausdrücke (Assertions)
50.9.1Motivation
50.9.2API-Dokumentation
50.9.3Ergebnisbehandlung
50.10Exceptions
50.11Debuggen von Skripten (Jython)
51
Web
51.1Verbesserte Komponentenerkennung mittels CustomWebResolver
51.1.1Generelle Konfigurationsmöglichkeiten
51.1.2Der CustomWebResolver installieren Knoten
51.1.3CustomWebResolver – Tabelle
51.1.4CustomWebResolver – Baum (Tree)
51.1.5CustomWebResolver – TreeTable
51.1.6CustomWebResolver – Liste
51.1.7CustomWebResolver – Combobox
51.1.8CustomWebResolver – TabPanel und Accordion
51.1.9Beispiel für den "CarConfigurator Web"
51.2Besondere Unterstützung für verschiedene Web-Komponentenbibliotheken
51.2.1Konzepte für Webframework-Resolver
51.2.2Eindeutige Bezeichner setzen
51.3Browser Verbindungsmodus
51.3.1QF-Driver Verbindungsmodus
5.3+51.3.2CDP-Driver Verbindungsmodus
51.3.3WebDriver Verbindungsmodus
51.3.4Bekannte Einschränkungen des WebDriver Modus
51.4Web – Pseudoattribute
51.5Zugriff auf unsichtbare Felder einer Webseite
51.6WebDriver mit Safari
52
Steuern und Testen von nativen Windows-Anwendungen - ohne Verwendung der QF-Test win Engine
52.1Vorgehensweise
52.1.1Start der Anwendung
52.1.2Auflistung aller GUI-Elemente eines Fensters
52.1.3Informationen zu einzelnen GUI-Elementen
52.1.4Zugriff auf GUI Elemente
52.1.5Ausführen von Aktionen auf GUI-Elementen
52.2Beispiel
52.2.1Start der Anwendung
52.2.2Übersicht über die GUI-Elemente der Anwendung
53
Steuern und Testen von nativen MacOS-Anwendungen
53.1Vorgehensweise
53.1.1Start der Anwendung
53.1.2Auflistung aller GUI-Elemente eines Fensters
53.1.3Informationen zu einzelnen GUI-Elementen
53.1.4Zugriff auf GUI Elemente
53.1.5Ausführen von Aktionen auf GUI-Elementen
54
APIs für Erweiterungen
54.1Das resolvers Modul
54.1.1Verwendung
54.1.2Implementierung
54.1.3addResolver
54.1.4removeResolver
54.1.5listNames
54.1.6Zugriff auf die beste Beschriftung
3.1+54.1.7 Das NameResolver Interface
4.0+54.1.8 Das GenericClassNameResolver Interface
3.1+54.1.9 Das ClassNameResolver Interface
3.1+54.1.10 Das FeatureResolver Interface
54.1.11Das ExtraFeatureResolver Interface
3.1+54.1.12 Das ItemNameResolver Interface
3.1+54.1.13 Das ItemValueResolver Interface
54.1.14Das TreeTableResolver Interface
54.1.15Das InterestingParentResolver Interface
4.1+54.1.16 Das TooltipResolver Interface
54.1.17Das IdResolver Interface
4.1+54.1.18 Das EnabledResolver Interface
4.1+54.1.19 Das VisibilityResolver Interface
4.1+54.1.20 Das MainTextResolver Interface
4.1+54.1.21 Das WholeTextResolver Interface
4.1+54.1.22 Der BusyPaneResolver Interfaces
4.1+54.1.23 Der GlassPaneResolver Interfaces
8.0+54.1.24 Das TreeIndentationResolver Interface
4.1+54.1.25 Das EventSynchronizer Interface
4.1+54.1.26 Das BusyApplicationDetector Interface
54.1.27Matcher
54.1.28Externe Implementierung
54.2Die ResolverRegistry
3.1+54.3 Implementierung eigener Unterelemente mit dem ItemResolver Interface
54.3.1ItemResolver Konzepte
54.3.2Das ItemResolver Interface
54.3.3Die Klasse SubItemIndex
54.3.4Die ItemRegistry
54.3.5Standard Repräsentation von Unterelementen
3.1+54.4 Implementierung eigener Checks mit dem Checker Interface
54.4.1Das Checker Interface
54.4.2Die Pair Klasse
54.4.3 Das CheckType Interface und seine Implementierung DefaultCheckType
54.4.4Die Klasse CheckDataType
54.4.5Die Klasse CheckData und ihre Unterklassen
54.4.6Die CheckerRegistry
54.4.7Beispiel für einen Checker
3.2+54.5 Das Eclipse Graphical Editing Framework (GEF)
54.5.1Aufnahme von GEF Elementen
54.5.2Implementierung eines ItemNameResolver2 für GEF
54.5.3Implementierung eines ItemValueResolver2 für GEF
3.1+54.6Listener für den aktuellen Testlauf
54.6.1Das TestRunListener Interface
54.6.2Die Klasse TestRunEvent
54.6.3Die Klasse TestSuiteNode
4.0.3+54.7ResetListener
54.8DOM Prozessoren
54.8.1Das DOMProcessor Interface
54.8.2Die DOMProcessorRegistry
54.8.3Fehlerbehandlung
3.0+54.9Image API Erweiterungen
54.9.1Die ImageRep Klasse
54.9.2Das ImageComparator Interface
54.9.3Die ImageRepDrawer Klasse
54.10Pseudo DOM API für Web-Anwendungen
54.10.1Die abstrakte Klasse Node
54.10.2Die Klasse DocumentNode
54.10.3Die Klasse FrameNode
54.10.4Die Klasse DomNode
54.10.5Die Klasse DialogNode
4.1+54.11WebDriverConnection SUT API
54.11.1Die WebDriverConnection Klasse
5.0+54.12Windows Control API
54.12.1Die WinControl Klasse
55
Daemon-Modus
55.1Daemon Konzepte
55.2Daemon API
55.2.1Der DaemonLocator
55.2.2Der Daemon
55.2.3Der TestRunDaemon
55.2.4Der DaemonRunContext
3.1+55.2.5Der DaemonTestRunListener
3.5+55.3Absicherung des QF-Test Daemon
55.3.1Erstellen einer eigenen Keystore-Datei
55.3.2Festlegen der Keystore-Datei
55.3.3Festlegen der Keystore-Datei auf der Client-Seite
56
Die Procedure Builder Definitionsdatei
56.1Platzhalter
4.1.3+56.1.1Rückgriffswerte für Platzhalter
56.2Spezielle Bedingungen für die Definition von Packages und Prozeduren
56.3Auswertung der Komponentenhierarchie
3.4+56.4Details zu @CONDITION
57
Der ManualStepDialog
57.1Die ManualStepDialog API
3.1+
58
Details zu Knotenkonvertierungen
58.1Einführung
58.2Konvertierungen mit Typwechseln
58.3Zusätzliche Konvertierungen unter Extrasequenzen
58.3.1Konvertierungen ohne Seiteneffekte
58.3.2Konvertierungen mit Seiteneffekten
3.3+
59
Details des Algorithmus zum Bildvergleich
59.1Einführung
59.2Beschreibung der Algorithmen
59.2.1Klassischer Bildvergleich
59.2.2Pixelbasierter Vergleich
59.2.3Pixelbasierte Ähnlichkeitsanalyse
59.2.4Blockbildung mit Vergleich
59.2.5Blockbildung mit Ähnlichkeitsanalyse
59.2.6Häufigkeitsanalyse mittels Histogramm
59.2.7Bildanalyse mittels Diskreter Kosinustransformation
59.2.8Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
59.2.9Bilinearer Filter
59.3Beschreibung der speziellen Funktionen
59.3.1Bild-in-Bild Suche
3.2+
60
Resultatslisten
60.1Einführung
60.2Spezielle Listenaktionen
60.2.1Alle Listen
60.2.2Ersetzen
60.2.3Fehlerliste
3.5+60.3Resultate exportieren und laden
4.0+
61
Generische Klassen
61.1Accordion
61.2BusyPane
61.3Button
61.4Calendar
61.5CheckBox
61.6Closer
61.7ColorPicker
61.8ComboBox
61.9Divider
61.10Expander
61.11FileChooser
61.12Graphics
61.13Icon
61.14Indicator
61.15Item
61.16Label
61.17Link
61.18List
61.19LoadingComponent
61.20Maximizer
61.21Menu
61.22MenuItem
61.23Minimizer
61.24ModalOverlay
61.25Panel
61.26Popup
61.27ProgressBar
61.28RadioButton
61.29Restore
61.30ScrollBar
61.31Separator
61.32Sizer
61.33Slider
61.34Spacer
61.35Spinner
61.36SplitPanel
61.37Table
61.38TableCell
61.39TableFooter
61.40TableHeader
61.41TableHeaderCell
61.42TableRow
61.43TabPanel
61.44Text
61.45TextArea
61.46TextField
61.47Thumb
61.48ToggleButton
61.49ToolBar
61.50ToolBarItem
61.51ToolTip
61.52Tree
61.53TreeNode
61.54TreeTable
61.55Window
62
Doctags
62.1Doctags für Reporting und Dokumentation
4.2+62.1.1@noreport Doctag
62.2Doctags für Robot Framework
62.3Doctags für die Ausführung
62.4Doctags für das Editieren
62.5Doctags für den Prozedurgenerator
A
FAQ - Häufig gestellte Fragen
B
Release Notes
B.1QF-Test Version 9.0
B.1.1Änderungen mit möglichen Auswirkungen auf die Testausführung
B.1.2Version 9.0.0 - 20. Februar 2025
B.2QF-Test Version 8.0
B.2.1Version 8.0.2 - 5. Dezember 2024
B.2.2Version 8.0.1 - 11. September 2024
B.2.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.2.4Version 8.0.0 - 8. August 2024
B.3QF-Test Version 7.1
B.3.1Version 7.1.5 - 16. Juli 2024
B.3.2Version 7.1.4 - 12. Juni 2024
B.3.3Version 7.1.3 - 24. April 2024
B.3.4Version 7.1.2 - 14. März 2024
B.3.5Version 7.1.1 - 27. Februar, 2024
B.3.6Änderungen mit möglichen Auswirkungen auf die Testausführung
B.3.7Version 7.1.0 - 20. Februar 2024
B.4QF-Test Version 7.0
B.4.1Version 7.0.8 - 5. Dezember 2023
B.4.2Version 7.0.7 - 11. Oktober 2023
B.4.3Version 7.0.6 - 29. September 2023
B.4.4Version 7.0.5 - 20. September 2023
B.4.5Version 7.0.4 - 30. August 2023
B.4.6Version 7.0.3 - 13. Juli 2023
B.4.7Version 7.0.2 - 22. Juni 2023
B.4.8Version 7.0.1 - 31. Mai 2023
B.4.9Änderungen mit möglichen Auswirkungen auf die Testausführung
B.4.10Version 7.0.0 - 27. April 2023
B.5QF-Test Version 6.0
B.5.1Version 6.0.5 - 15. März 2023
B.5.2Version 6.0.4 - 29. November 2022
B.5.3Version 6.0.3 - 6. September 2022
B.5.4Version 6.0.2 - 20. Juli 2022
B.5.5Version 6.0.1 - 9. Juni 2022
B.5.6Änderungen mit möglichen Auswirkungen auf die Testausführung
B.5.7Version 6.0.0 - 17. Mai 2022
B.6QF-Test Version 5.4
B.6.1Version 5.4.3 - 11. März 2022
B.6.2Version 5.4.2 - 18. Februar 2022
B.6.3Version 5.4.1 - 20. Januar 2022
B.6.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.6.5Version 5.4.0 - 15. Dezember 2021
B.7QF-Test Version 5.3
B.7.1Version 5.3.4 - 30. September 2021
B.7.2Version 5.3.3 - 14. September 2021
B.7.3Version 5.3.2 - 21. Juli 2021
B.7.4Version 5.3.1 - 15. Juni 2021
B.7.5Änderungen mit möglichen Auswirkungen auf die Testausführung
B.7.6Version 5.3.0 - 20. Mai 2021
B.8QF-Test Version 5.2
B.8.1Version 5.2.3 - 9. März 2021
B.8.2Version 5.2.2 - 12. Februar 2021
B.8.3Version 5.2.1 - 3. Dezember 2020
B.8.4Änderungen mit möglichen Auswirkungen auf die Testausführung
B.8.5Version 5.2.0 - 10. November 2020
B.9 QF-Test Version 5.1
B.9.1 Version 5.1.2 - 15. September 2020
B.9.2 Version 5.1.1 - 26. August 2020
B.9.3Änderungen mit möglichen Auswirkungen auf die Testausführung
B.9.4 Version 5.1.0 - 8. Juli 2020
B.10 QF-Test Version 5.0
B.10.1 Version 5.0.3 - 17. Juni 2020
B.10.2 Version 5.0.2 - 5. Mai 2020
B.10.3 Version 5.0.1 - 2. März 2020
B.10.4Wesentliche neue Features in Version 5
B.10.5 Version 5.0.0 - 6. Februar 2020
C
Tastaturkürzel
C.1Navigation und Editieren
C.2UI-Inspektor
C.3Aufnahme- und Wiedergabefunktionen
C.4Tastaturhelfer
D
Glossar
E
Datenschutz
E.1Serverdaten 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
Abbildungsverzeichnis
Tabellenverzeichnis