Table of contents

Table of contents
Preface
How to use this manual
I
User manual
1
Installation and startup
1.1System requirements
1.1.1Hard- and Software
1.1.2Supported technologies - QF-Test
1.1.3Supported technologies - System under Test
1.2Windows Installation
1.2.1Installing via the Windows setup file QF-Test-9.0.0.exe
1.2.2Unpacking the self-extracting archive QF-Test-9.0.0-sfx.exe
1.2.3Completing the installation and configuring Java
1.3Linux Installation
1.4macOS Installation
1.5The license file
1.6The configuration files
1.7Starting QF-Test
1.8Firewall Security Warning
2
The user interface
2.1The test suite
2.2Basic editing
2.2.1Navigating the tree
2.2.2Insertion marker
2.2.3Moving nodes
2.2.4Transforming nodes
2.2.5Tables
2.2.6Packing and Unpacking
2.2.7Sorting Nodes
2.3Advanced editing
2.3.1Searching
2.3.2Replacing
2.3.3Complex searches and replace operations
2.3.4Multiple views
2.3.5Hiding toolbar buttons
2.0+
3
Quickstart your application
3.1Setup sequence creation
3.2Executing the setup sequence
3.3In case the client does not connect ...
3.4Program output and the Clients menu
3.5An application started indirectly from an already connected SUT
4
Capture and replay
4.1Recording sequences
4.2Running tests
4.3Recording checks
4.4Fetching data from the UI
4.5Recording components
4.6Recording of HTTP requests (GET/POST)
5
Components
5.1Components of a GUI
5.2Component nodes versus SmartID
5.2.1Improved readability of tests
5.2.2Test-driven development
5.2.3Keyword-driven testing
5.2.4Stability of recognition
5.2.5Maintainability
5.2.6Performance
5.2.7Combining Component nodes and SmartIDs
5.3How to achieve robust component recognition
5.3.1How to judge robust component recognition
5.3.2Opportunities for optimization
5.4Recognition criteria
5.4.1Class
5.4.2Name
5.4.3Feature
5.4.4Extra features
5.4.5Index
5.4.6Geometry
5.4.7Component hierarchy
5.5Component node
5.6SmartID
5.6.1Use cases for SmartIDs
5.6.2SmartID syntax for Class name
5.6.3SmartID syntax for Name
5.6.4SmartID syntax for Feature
5.6.5SmartID syntax for Extra features
5.6.6SmartID with index
5.6.7SmartID syntax for component hierarchies
5.6.8Recording and replaying SmartIDs
5.6.9Component QF-Test ID as SmartID
5.7Scope
5.8Generic components
5.9Sub-items: Addressing relative to a parent component
5.9.1Addressing via index
5.9.2Addressing via QPath
5.9.3Addressing via XPath and/or CSS selectors
5.9.4Addressing via Items nodes
5.10Troubleshooting component recognition problems
5.10.1Timing synchronisation
5.10.2Recognition
5.11Component tree maintenance
5.11.1Clean up the component tree
5.11.2Update Components
3.1+5.12 Inspecting components
5.12.1Show methods
7.0+5.12.2UI Inspector
6
Variables
6.1Variable references
6.1.1Referencing simple variables
6.1.2Referencing group variables
6.1.3Referencing variables in scripts and script expressions
6.2Variable lookup
6.3Defining variables
6.4Variable levels
6.4.1Primary stack
6.4.2Seconday stack
6.5Displaying variables in debug mode – Example
6.6Data types of variables
6.6.1JSON data
6.7External data
6.8Special groups
3.0+6.9Immediate and lazy binding
7
Problem analysis and debugging
7.1The run log
7.1.1Error states
7.1.2Navigating the run log tree
7.1.3Run-time behavior
7.1.4Showing return values
7.1.5Accepting values of failed checks as good
3.0+7.1.6Split run logs
7.1.7Run log options
3.3+7.1.8Creating a test suite from the run log
4.1+7.1.9Merging run logs
7.2The debugger
7.2.1Entering the debugger
7.2.2Displaying the current variable values
7.2.3Debugger commands
7.2.4Manipulating breakpoints
7.2.5The debugger window
8
Organizing the test suite
8.1Test suite structure
8.2Test set and Test case nodes
2.0+8.2.1 Test management with Test set and Test case nodes
8.2.2Concept
8.2.3Variables and special attributes
8.3Sequence and Test step nodes
8.4Setup and Cleanup nodes
8.5Procedures and Packages
3.1+8.5.1Local Procedures and Packages
3.1+8.5.2Relative Procedures
8.5.3Inserting Procedure call nodes
3.1+8.5.4Parameterizing nodes
3.0+8.5.5Transforming a Sequence into a Procedure
8.6Dependency nodes
8.6.1Concept
8.6.2Usage of Dependencies
8.6.3Dependency execution and Dependency stack
8.6.4Characteristic variables
8.6.5Forced cleanup
8.6.6Rolling back Dependencies
8.6.7Error escalation
8.6.8Error handling
8.6.9Name spaces for Dependencies
8.7Documenting test suites
3.5+
9
Projects
10
The standard library
11
Scripting
11.1General
11.2Script expressions
11.3The run context rc
11.3.1Logging messages
11.3.2Performing checks
11.3.3Variables
11.3.4Accessing the SUT's GUI components
11.3.5Calling Procedures
3.1+11.3.6Setting options
11.3.7Override components
11.4Fundamentals of the Jython integration
11.4.1Jython Variables
11.4.2Modules
11.4.3Post-mortem debugging of Jython scripts
11.4.4Boolean type
11.4.5Jython strings and character encodings
11.4.6Getting the name of a Java class
11.4.7A complex example
11.5Scripting with Groovy
11.5.1Groovy packages
11.6Scripting with JavaScript
11.6.1JavaScript imports
11.6.2NPM modules
11.6.3Print statements
11.6.4Execution
12
Unit Tests
12.1Java Classes as the Source for the Unit Test
12.2Basics of the Test Scripts
12.2.1Groovy Unit Tests
12.2.2Jython Unit Tests
12.2.3JavaScript Unit test
12.3Injections
12.3.1Component-Injections
12.3.2WebDriver-Injections
12.4Unit Tests in Report
13
Testing Java desktop applications
14
Web testing
14.1Supported browsers
14.2General approach
14.3Browser connection
14.4Recognition of web components and toolkits
14.5Cross browser tests
14.6Emulation of mobile browsers
14.7Web-Tests in headless mode
14.8Integrating existing Selenium web tests
14.9Selecting the browser installation
5.0+
15
Testing native Windows applications
15.1Getting started
15.2Technical background
15.3Launching/Attaching to an application
15.4Recording
15.5Components
15.6Playback and Patterns
15.7Scripting
15.8Options
15.8.1Windows scaling
15.8.2Visibility
15.8.3Attaching to a window with a given class
15.8.4Child count limitation
15.9(Current) Limitations
15.10Links
6.0+
16
Testing Android applications
16.1Preconditions and known restrictions
16.1.1Preconditions
16.1.2Known restrictions
16.2Emulator or real device
16.3Installing Android Studio, emulator and virtual devices (AVD)
16.3.1Android Studio installation
16.3.2Android Studio virtual device configuration
16.4Connecting to a real Android device
16.5Create a QF-Test setup sequence for Android testing
16.5.1Usage of an Android emulator
16.5.2Usage of a real Android device
16.6Record actions and checks for Android
16.7Android utility procedures
6.0+
17
Testing iOS applications
17.1Preconditions and known restrictions
17.1.1Preconditions
17.1.2Known restrictions
17.2Installing Xcode, Simulators and IDB
17.2.1Xcode Installation
17.2.2iOS Development Bridge (idb) Installation
17.3Testing on a real iOS device
17.4Create a QF-Test Setup sequence for iOS testing
17.5Record actions and checks for iOS
17.6iOS utility procedures
18
Testing PDF documents
18.1PDF Client
18.1.1PDF Client start
18.1.2PDF Client window
18.2PDF events
18.2.1Open a PDF document
18.2.2Switch page
18.3Checks for PDF components
18.3.1Check text
18.3.2Check image
18.3.3'Check Font'
18.3.4'Check Font size'
18.4PDF component types
18.5PDF component recognition
9.0.0+
19
Accessibility Testing
19.1General parameters of the check functions
19.2Axe-checks with QF-Test
19.2.1Parameters of axe-checks
19.2.2Axe-core's "impact" rating
19.3Color contrast check for simple graphics
19.3.1Parameters of the color contrast check
19.4A11y run logs and reports
19.4.1Working with the run log
19.4.2Notes on generating reports
20
Testing Java desktop applications in a browser with Webswing and JPro
20.1Technical concepts of JiB for Webswing and JPro
21
Testing Electron applications
21.1Starting the Electron Client
21.1.1Electron settings for the quickstart wizard
21.2Electron specific functionality of QF-Test
21.2.1Native Menus
21.2.2Native Dialogs
21.2.3Extended Javascript-API
21.3Technical remarks on testing Electron applications in WebDriver connection mode
22
Testing web services
22.1RESTful web services
22.1.1HTTP standards and web services
22.1.2HTTP request
22.1.3Examples
23
Data-driven testing
23.1Data driver examples
23.2General use of Data drivers
23.3Examples for Data drivers
23.4Advanced use
24
Reports and test documentation
24.1Reports
24.1.1Report concepts
24.1.2Report contents
24.1.3Creating reports
24.1.4Customizing reports
24.2Testdoc documentation for Test sets and Test cases
24.3Pkgdoc documentation for Packages, Procedures and Dependencies
25
Test execution
25.1Test execution in batch mode
25.1.1Command line usage
25.1.2Windows batch script
3.0+25.1.3Groovy
25.2Executing tests in daemon mode
25.2.1Launching the daemon
3.0+25.2.2Controlling a daemon from QF-Test's command line
25.2.3Controlling a daemon with the daemon API
4.1+25.3Re-execution of nodes (Rerun)
25.3.1Triggering rerun from a run log
25.3.2Rerunning failing nodes immediately
26
Distributed test development
26.1Referencing nodes in another test suite
26.2Managing Components
26.3Merging test suites
26.3.1Importing Components
3.3+26.3.2 Importing Procedures and Testcases
26.4Strategies for distributed development
3.1+26.5Static validation of test suites
26.5.1Avoiding invalid references
4.0.3+26.5.2Unused procedures
3.0+
27
Automated Creation of Basic Procedures
27.1Introduction
27.2How to use the Procedure Builder
27.3Configuration of the Procedure Builder
27.3.1The Procedure Builder definition file
3.0+
28
Interaction with Test Management Tools
28.1HP ALM - Quality Center
28.1.1Introduction
28.1.2Step-by-step integration guide
28.1.3Troubleshooting
28.2Imbus TestBench
28.2.1Introduction
28.2.2Creating QF-Test template from interactions
28.2.3Importing test execution results
28.3QMetry
28.3.1Introduction
28.3.2Sample Configuration
28.4Klaros
28.4.1Introduction
28.4.2Importing QF-Test results into Klaros
28.5TestLink
28.5.1Introduction
28.5.2Generating template test suites for QF-Test from test cases
28.5.3Execution of test cases
28.5.4Importing QF-Test results into TestLink
29
Integration with Development Tools
29.1Eclipse
29.1.1Installation
29.1.2Configuration of the test nodes
29.2Ant
29.3Maven
3.3+29.4Jenkins
29.4.1Install and start Jenkins
29.4.2Requirements for GUI tests
29.4.3Install QF-Test Plugin
7.0+29.5JUnit 5 Jupiter
29.6TeamCity CI
6.0+
30
Integration with Robot Framework
30.1Introduction
30.2Prerequisites and installation
30.3Getting started
30.4Using the library
30.5Creating your own keywords
31
Keyword-driven testing with QF-Test
31.1Introduction
31.2Simple Keyword-driven testing with QF-Test
31.2.1Business-related Procedures
31.2.2Atomic component-oriented procedures
31.3Keyword-driven testing using dynamic or generic components
31.4Behavior-driven testing (BDT)
31.4.1Behavior-Driven Testing (BDT) from technical perspective
31.4.2Behavior-Driven Testing (BDT) from business perspective
31.5Scenario files
31.6Custom test case description
31.7Adapting to your software
32
Usage of QF-Test in Docker Environments
32.1What is Docker?
32.2QF-Test Docker Images
33
Performing GUI-based load tests
33.1Background and comparison with other techniques
33.2Load testing with QF-Test
33.2.1Provision of test systems
33.2.2Conception of the test run
33.2.3Preparing test systems prior to the test run
33.2.4Test execution
33.2.5Evaluating results
33.3Hints on test execution
33.3.1Synchronization
33.3.2Measuring end-to-end response times
33.4Troubleshooting
33.5Web load testing with headless browsers
3.0+
34
Executing Manual Tests in QF-Test
34.1Introduction
34.2Step-by-step Guide
34.3Structure of the Excel file
34.4The ManualTestRunner test suite
34.5Results
II
Best Practices
35
Introduction
36
How to start a testing project
36.1Infrastructure and testing environment
36.2Location of files
36.2.1Network installation
36.3Component Recognition
37
Organizing test suites
37.1Organizing tests
37.2Modularization
37.3Parameterization
37.4Working in multiple test suites
37.5Roles and responsibilities
37.6Managing components at different levels
37.7Reverse includes
38
Efficient working techniques
3.5+38.1Using QF-Test projects
38.2Creating test suites from scratch
38.3The standard library qfs.qft
38.4Component storage
38.5Extending test suites
38.6Working in the script editor
39
Hints on setting up test systems
39.1Using the task scheduler
39.2Remote access to Windows systems
39.3Automated logon on Windows systems
39.4Test execution on Linux
40
Test execution
40.1Dependencies
40.2Timeout vs. delay
40.3What to do if the run log contains an error
III
Reference manual
41
Options
41.1General options
3.5+41.1.1Project settings
7.0+41.1.2Saving test suites
41.1.3Display
41.1.4Editing
41.1.5Bookmarks
41.1.6External tools
41.1.7Backup files
41.1.8Library
41.1.9License
41.1.10Updates
41.2Recording options
41.2.1Events to record
41.2.2Events to pack
41.2.3Components
41.2.4Recording sub-items
6.0+41.2.5Recording Window
41.2.6Recording procedures
41.3Replay options
41.3.1Client options
41.3.2Terminal options
41.3.3Event handling
41.3.4Component recognition
41.3.5Delays
41.3.6Timeouts
41.3.7Backward compatibility
7.0+41.4SmartID und qfs:label
6.0+41.5Android
8.0+41.6iOS
41.7Web options
41.7.1HTTP Requests
41.7.2Backward compatibility
41.8SWT options
41.9UI Inspector options
41.10Debugger options
41.11Run log options
41.11.1General run log options
41.11.2Options for splitting run logs
41.11.3Options determining run log content
4.0+41.11.4Options for mapping between directories with test suites
41.12Variables
41.13Runtime only
42
Elements of a test suite
42.1The test suite and its structure
42.1.1Test suite
42.2Test and Sequence nodes
42.2.1Test case
42.2.2Test set
42.2.3Test call
42.2.4Sequence
42.2.5Test step
42.2.6Sequence with time limit
42.2.7Extras
42.3Dependencies
42.3.1Dependency
42.3.2Dependency reference
42.3.3Setup
42.3.4Cleanup
42.3.5Error handler
42.4Data driver
42.4.1Data driver
42.4.2Data table
42.4.3Database
42.4.4Excel data file
42.4.5CSV data file
42.4.6Data loop
42.5Procedures
42.5.1Procedure
42.5.2Procedure call
42.5.3Return
42.5.4Package
42.5.5Procedures
42.6Control structures
42.6.1Loop
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 script
42.6.13SUT script
42.7Processes
42.7.1Start Java SUT client
42.7.2Start SUT client
42.7.3Start process
42.7.4Execute shell command
42.7.5Start web engine
42.7.6Start PDF client
42.7.7Start windows application
42.7.8Attach to windows application
42.7.9Launch Android emulator
42.7.10Connect to Android device
42.7.11Connect to iOS device
42.7.12Wait for client to connect
42.7.13Wait for mobile device
42.7.14Open browser window
42.7.15Launch a mobile app
42.7.16Stop client
42.7.17Wait for process to terminate
42.8Events
42.8.1Mouse event
42.8.2Key event
42.8.3Text input
42.8.4Window event
42.8.5Component event
42.8.6Selection
42.8.7File selection
42.9Checks
42.9.1Check text
42.9.2Boolean check
42.9.3Check items
42.9.4Check selectable items
42.9.5Check image
42.9.6Check geometry
42.10Queries
42.10.1Fetch text
42.10.2Fetch index
42.10.3Fetch geometry
42.11Miscellaneous
42.11.1Comment
42.11.2Error
42.11.3Warning
42.11.4Message
42.11.5Set variable
42.11.6Wait for component to appear
42.11.7Wait for document to load
42.11.8Wait for download to finish
42.11.9Load resources
42.11.10Load properties
42.11.11Unit test
42.11.12Install CustomWebResolver
42.12HTTP Requests
42.12.1Server HTTP request
42.12.2Browser HTTP request
42.13Windows, Components and Items
42.13.1Window
42.13.2Web page
42.13.3Component
42.13.4Item
42.13.5Window group
42.13.6Component group
42.13.7Windows and components
42.14Deprecated nodes
42.14.1Test
42.14.2Procedure installCustomWebResolver
43
Exceptions
IV
Technical reference
44
Command line arguments and exit codes
44.1Call syntax
44.2Command line arguments
44.2.1Arguments for the starter script
44.2.2Arguments for the Java VM
44.2.3Arguments for QF-Test
44.2.4Placeholders in the filename parameter for run log and report
44.3Exit codes for QF-Test
45
GUI engines
46
Running an application from QF-Test
46.1Various methods to start the SUT
46.1.1A standalone script or executable file
46.1.2An application launched through Java WebStart
46.1.3An application started with java -jar <archive>
46.1.4 An application started with java -classpath <classpath> <class>
46.1.5 A web application in a browser
46.1.6Opening a PDF Document
47
JRE and SWT instrumentation
47.1JRE deinstrumentation
47.2SWT instrumentation
47.2.1Preparation for manual SWT instrumentation
47.2.2Manual SWT instrumentation for eclipse based applications
47.2.3Manual instrumentation for standalone SWT applications
48
Technical information about components
48.1Weighting of recognition features for recorded components
48.2Generating the component QF-Test ID
48.3SmartIDs - general syntax
48.4SmartIDs - special characters
48.5Android - list of trivial component identifiers
49
Technical details about miscellaneous issues
49.1Drag&Drop
49.2Timing
49.3Regular expressions
49.4Line breaks under Linux and Windows
49.5Quoting and escaping special characters
49.6Include file resolution
50
Scripting (Jython, Groovy and JavaScript)
50.1Module load-path
50.2The plugin directory
50.3Initialization (Jython)
50.4Namespace environment for script execution (Jython)
50.5Run context API
50.5.1The expand parameter
50.6The qf module
3.0+50.7Image API
50.7.1The ImageWrapper class
50.8The JSON module
50.9Natural Language Assertions
50.9.1Motivation
50.9.2API documentation
50.9.3Result handling
50.10Exception handling
50.11Debugging scripts (Jython)
51
Web
51.1Improving component recognition with a CustomWebResolver
51.1.1General configuration
51.1.2The Install CustomWebResolver node
51.1.3CustomWebResolver – Tables
51.1.4CustomWebResolver – Tree
51.1.5CustomWebResolver – TreeTable
51.1.6CustomWebResolver – Lists
51.1.7CustomWebResolver – Combo boxes
51.1.8CustomWebResolver – TabPanel and Accordion
51.1.9Example for "CarConfigurator Web" demo
51.2Special support for various web frameworks
51.2.1Web framework resolver concepts
51.2.2Setting unique IDs
51.3Browser connection mode
51.3.1QF-Driver connection mode
5.3+51.3.2CDP-Driver connection mode
51.3.3WebDriver in general
51.3.4Known limitations of the WebDriver mode
51.4Web – Pseudo Attributes
51.5Accessing hidden fields on a web page
51.6WebDriver with Safari
52
Controlling native Windows applications via the UIAuto module - without the QF-Test win engine
52.1Proceeding
52.1.1Starting the application
52.1.2Listing the GUI elements of a window
52.1.3Information on single GUI elements
52.1.4Identifiers for GUI elements
52.1.5Actions on GUI elements
52.2Example
52.2.1Starting the application
52.2.2GUI element information
53
Controlling and testing native MacOS applications
53.1Proceeding
53.1.1Starting the application
53.1.2Listing the GUI elements of a window
53.1.3Information on single GUI elements
53.1.4Identifiers for GUI elements
53.1.5Actions on GUI elements
54
Extension APIs
54.1The resolvers module
54.1.1Usage
54.1.2Implementation
54.1.3addResolver
54.1.4removeResolver
54.1.5listNames
54.1.6Accessing 'Best label'
3.1+54.1.7 The NameResolver Interface
4.0+54.1.8 The GenericClassNameResolver Interface
3.1+54.1.9 The ClassNameResolver Interface
3.1+54.1.10 The FeatureResolver Interface
54.1.11The ExtraFeatureResolver Interface
3.1+54.1.12 The ItemNameResolver Interface
3.1+54.1.13 The ItemValueResolver Interface
54.1.14The TreeTableResolver Interface
54.1.15The InterestingParentResolver Interface
4.1+54.1.16 The TooltipResolver Interface
54.1.17The IdResolver interface
4.1+54.1.18 The EnabledResolver Interface
4.1+54.1.19 The VisibilityResolver Interface
4.1+54.1.20 The MainTextResolver Interface
4.1+54.1.21 The WholeTextResolver Interface
4.1+54.1.22 The BusyPaneResolver Interfaces
4.1+54.1.23 The GlassPaneResolver Interfaces
8.0+54.1.24 The TreeIndentationResolver Interface
4.1+54.1.25 The EventSynchronizer Interface
4.1+54.1.26 The BusyApplicationDetector Interface
54.1.27Matcher
54.1.28External Implementation
54.2The ResolverRegistry
3.1+54.3 Implementing custom item types with the ItemResolver interface
54.3.1ItemResolver concepts
54.3.2The ItemResolver interface
54.3.3The class SubItemIndex
54.3.4The ItemRegistry
54.3.5Default item representations
3.1+54.4 Implementing custom checks with the Checker interface
54.4.1The Checker interface
54.4.2The class Pair
54.4.3 The CheckType interface and its implementation DefaultCheckType
54.4.4The class CheckDataType
54.4.5The class CheckData and its subclasses
54.4.6The CheckerRegistry
54.4.7Custom checker example
3.2+54.5 Working with the Eclipse Graphical Editing Framework (GEF)
54.5.1Recording GEF items
54.5.2Implementing a GEF ItemNameResolver2
54.5.3Implementing a GEF ItemValueResolver2
3.1+54.6Test run listeners
54.6.1The TestRunListener interface
54.6.2The class TestRunEvent
54.6.3The class TestSuiteNode
4.0.3+54.7ResetListener
54.8DOM processors
54.8.1The DOMProcessor interface
54.8.2The DOMProcessorRegistry
54.8.3Error handling
3.0+54.9Image API extensions
54.9.1The ImageRep class
54.9.2The ImageComparator interface
54.9.3The ImageRepDrawer class
54.10Pseudo DOM API
54.10.1The abstract Node class
54.10.2The DocumentNode class
54.10.3The FrameNode class
54.10.4The DomNode class
54.10.5The DialogNode class
4.1+54.11WebDriver SUT API
54.11.1The WebDriverConnection class
5.0+54.12Windows Control API
54.12.1The WinControl class
55
Daemon mode
55.1Daemon concepts
55.2Daemon API
55.2.1The DaemonLocator
55.2.2The Daemon
55.2.3The TestRunDaemon
55.2.4The DaemonRunContext
3.1+55.2.5The DaemonTestRunListener
3.5+55.3Daemon security considerations
55.3.1Creating your own keystore
55.3.2Specifying the keystore
55.3.3Specifying the keystore on the client side
56
The Procedure Builder definition file
56.1Placeholders
4.1.3+56.1.1Fallback values for placeholders
56.2Conditions for Package and Procedure Definition
56.3Interpretation of the Component Hierarchy
3.4+56.4Details about the @CONDITION tag
57
The ManualStepDialog
57.1The ManualStepDialog API
3.1+
58
Details about transforming nodes
58.1Introduction
58.2Transformation with type changes
58.3Additional transformations below the Extras node
58.3.1Transformations without side-effects
58.3.2Transformations with side-effects
3.3+
59
Details about the algorithm for image comparison
59.1Introduction
59.2Description of algorithms
59.2.1Classic image check
59.2.2Pixel-based identity check
59.2.3Pixel-based similarity check
59.2.4Block-based identity check
59.2.5Block-based similarity check
59.2.6Histogram check
59.2.7Analysis with Discrete Cosine Transformation
59.2.8Block-based analysis with Discrete Cosine Transformation
59.2.9Bilinear Filter
59.3Description of special functions
59.3.1Image-in-image search
3.2+
60
Result lists
60.1Introduction
60.2Specific list actions
60.2.1All types of lists
60.2.2Replacing
60.2.3Error list
3.5+60.3Exporting and loading results
4.0+
61
Generic classes
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 for reporting and documentation
4.2+62.1.1@noreport Doctag
62.2Doctags for Robot Framework
62.3Doctags for test execution
62.4Doctags for Editing
62.5Doctags influencing the procedure builder
A
FAQ - Frequently Asked Questions
B
Release notes
B.1QF-Test version 9.0
B.1.1Changes that can affect test execution
B.1.2Version 9.0.0 - February 20, 2025
B.2QF-Test version 8.0
B.2.1Version 8.0.2 - December 05, 2024
B.2.2Version 8.0.1 - September 11, 2024
B.2.3Changes that can affect test execution
B.2.4Version 8.0.0 - August 8, 2024
B.3QF-Test version 7.1
B.3.1Version 7.1.5 - July 16, 2024
B.3.2Version 7.1.4 - June 12, 2024
B.3.3Version 7.1.3 - April 24, 2024
B.3.4Version 7.1.2 - March 14, 2024
B.3.5Version 7.1.1 - February 27, 2024
B.3.6Changes that can affect test execution
B.3.7Version 7.1.0 - February 20, 2024
B.4QF-Test version 7.0
B.4.1Version 7.0.8 - December 5, 2023
B.4.2Version 7.0.7 - October 11, 2023
B.4.3Version 7.0.6 - September 29, 2023
B.4.4Version 7.0.5 - September 20, 2023
B.4.5Version 7.0.4 - August 30, 2023
B.4.6Version 7.0.3 - Juli 13, 2023
B.4.7Version 7.0.2 - June 22, 2023
B.4.8Version 7.0.1 - May 31, 2023
B.4.9Changes that can affect test execution
B.4.10Version 7.0.0 - April 27, 2023
B.5QF-Test version 6.0
B.5.1Version 6.0.5 - March 15, 2023
B.5.2Version 6.0.4 - November 29, 2022
B.5.3Version 6.0.3 - September 6, 2022
B.5.4Version 6.0.2 - July 20, 2022
B.5.5Version 6.0.1 - June 9, 2022
B.5.6Changes that can affect test execution
B.5.7Version 6.0.0 - May 17, 2022
B.6QF-Test Version 5.4
B.6.1Version 5.4.3 - March 11, 2022
B.6.2Version 5.4.2 - February 18, 2022
B.6.3Version 5.4.1 - January 20, 2022
B.6.4Changes that can affect test execution
B.6.5Version 5.4.0 - December 15, 2021
B.7QF-Test Version 5.3
B.7.1Version 5.3.4 - September 30, 2021
B.7.2Version 5.3.3 - September 14, 2021
B.7.3Version 5.3.2 - July 21, 2021
B.7.4Version 5.3.1 - June 15, 2021
B.7.5Changes that can affect test execution
B.7.6Version 5.3.0 - May 20, 2021
B.8QF-Test version 5.2
B.8.1Version 5.2.3 - March 9, 2021
B.8.2Version 5.2.2 - February 12, 2021
B.8.3Version 5.2.1 - December 3, 2020
B.8.4Changes that can affect test execution
B.8.5Version 5.2.0 - November 10, 2020
B.9 QF-Test version 5.1
B.9.1 Version 5.1.2 - September 15, 2020
B.9.2 Version 5.1.1 - August 26, 2020
B.9.3Changes that can affect test execution
B.9.4 Version 5.1.0 - July 8, 2020
B.10 QF-Test version 5.0
B.10.1 Version 5.0.3 - June 17, 2020
B.10.2 Version 5.0.2 - May 5, 2020
B.10.3 Version 5.0.1 - March 2, 2020
B.10.4Main new features in version 5
B.10.5 Version 5.0.0 - February 6, 2020
C
Keyboard shortcuts
C.1Navigation and editing
C.2UI Inspector
C.3Record and replay functions
C.4Keyboard helper
D
Glossary
E
Privacy
E.1Server data for version query
E.2Sending support requests from within QF-Test
E.3Context Information for Online Manual
E.4Request Data on WebDriver Download
E.5Client data in QF-Test log files
F
Third party software
List of figures
List of tables