Table of contents
Preface
How to use this manual
Table of contents
List of figures
List of tables
I
User manual
1
Installation and startup
1.1System requirements
1.1.1Prime precondition
1.1.2Supported technology versions
1.2Windows Installation
1.2.1Installing via the Windows setup file QF-Test-5.2.2.exe
1.2.2Unpacking the self-extracting archive QF-Test-5.2.2-sfx.exe
1.2.3Completing the installation and configuring Java
1.3Linux/Unix 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.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.4Recording components
4.5Recording of HTTP Requests (GET/POST)
5
Components
5.1GUI component hierarchy
5.2'Components' in QF-Test
5.3'QF-Test IDs'
5.4Component class
4.0+5.4.1Generic classes
5.4.2Class hierarchy for web applications
5.4.3Settings for class recording
3.1+5.5 Component inspection
5.6The importance of naming components
5.7Considerations for setting names
5.8Updating 'Components'
5.9Troubleshooting component recognition problems
5.10Accessing hidden fields on a web page
6
Sub-items of complex GUI components
6.1'Item' nodes
6.2The 'QF-Test ID' of an 'Item'
6.3Special 'QF-Test ID'-syntax for direct element access
6.3.1Accessing simple subcomponents
4.0+6.3.2Addressing multi-level sub-items
6.4Activating item recording for web tables
7
Variables
7.1Variable lookup
7.2Defining variables
7.3Variable example
7.4Fetching data from the GUI
7.5External data and special groups
7.6Expressions
3.0+7.7Immediate and lazy binding
8
Problem analysis and debugging
8.1The run-log
8.1.1Error states
8.1.2Navigating the run-log tree
8.1.3Accepting values of failed checks as good
3.0+8.1.4Split run-logs
8.1.5Run-log options
3.3+8.1.6Creating a test-suite from the run-log
4.1+8.1.7Merging run-logs
8.2The debugger
8.2.1Entering the debugger
8.2.2The debugger window
8.2.3Debugger commands
8.2.4Manipulating breakpoints
9
Organizing the test-suite
9.1Test-suite structure
9.2'Test-set' and 'Test-case' nodes
2.0+9.2.1 Test management with 'Test-set' and 'Test-case' nodes
9.2.2Concept
9.2.3Variables and special attributes
9.3'Sequence' and 'Test-step' nodes
9.4'Setup' and 'Cleanup' nodes
9.5'Procedures' and 'Packages'
3.1+9.5.1Local 'Procedures' and 'Packages'
3.1+9.5.2Relative 'Procedures'
9.5.3Inserting 'Procedure call' nodes
3.1+9.5.4Parameterizing nodes
3.0+9.5.5Transforming a 'Sequence' into a 'Procedure'
9.6'Dependency' nodes
9.6.1Concept
9.6.2Usage of 'Dependencies'
9.6.3'Dependency' execution and 'Dependency' stack
9.6.4'Characteristic variables'
9.6.5'Forced cleanup'
9.6.6Rolling back 'Dependencies'
9.6.7Error escalation
9.6.8Error handling
9.6.9Name spaces for Dependencies
9.7Documenting test-suites
3.5+
10
Projects
11
The standard library
12
Scripting
12.1General
12.2The run-context rc
12.2.1Logging messages
12.2.2Performing checks
12.2.3Variables
12.2.4Accessing the SUT's GUI components
12.2.5Calling 'Procedures'
3.1+12.2.6Setting options
12.2.7Override components
12.3Fundamentals of the Jython integration
12.3.1Modules
12.3.2Post-mortem debugging of Jython scripts
12.3.3Boolean type
12.3.4Character encodings
12.3.5Getting the name of a Java class
12.3.6A complex example
12.4Scripting with Groovy
12.4.1Groovy packages
12.5Scripting with JavaScript
12.5.1JavaScript imports
12.5.2NPM modules
12.5.3Print statements
12.5.4Execution
13
Unit Tests
13.1Java Classes as the Source for the Unit Test
13.2Basics of the Test Scripts
13.2.1Groovy Unit Tests
13.2.2Jython Unit Tests
13.2.3JavaScript Unit-Test
13.3Injections
13.3.1Component-Injections
13.3.2WebDriver-Injections
13.4Unit Tests in Report
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
16
Testing PDF documents
16.1PDF Client
16.1.1PDF Client start
16.1.2PDF Client window
16.2PDF events
16.2.1Open a PDF document
16.2.2Switch page
16.3Checks for PDF components
16.3.1'Check text'
16.3.2'Check image'
16.3.3'Check Font'
16.3.4'Check Font size'
16.4PDF component types
16.5PDF component recognition
17
Testing Java desktop applications in a browser with Webswing and JPro
17.1Technical concepts of JiB for Webswing and JPro
18
Testing Electron applications
18.1Starting the Electron Client
18.1.1Electron settings for the quickstart wizard
18.2Electron specific functionality of QF-Test
18.2.1Native Menus
18.2.2Native Dialogs
18.3Technical remarks on testing Electron applications
19
Testing web services
19.1RESTful web services
19.1.1HTTP standards and web services
19.1.2HTTP request
19.1.3Examples
20
Data-driven testing
20.1Data-driver examples
20.2General use of 'Data drivers'
20.3Examples for 'Data drivers'
20.4Advanced use
21
Reports and test documentation
21.1Reports
21.1.1Report concepts
21.1.2Report contents
21.1.3Creating reports
21.1.4Customizing reports
21.2Testdoc documentation for 'Test-sets' and 'Test-cases'
21.3Pkgdoc documentation for 'Packages', 'Procedures' and 'Dependencies'
22
Test execution
22.1Test execution in batch mode
22.1.1Command line usage
22.1.2Windows batch script
3.0+22.1.3Groovy
22.2Executing tests in daemon mode
22.2.1Launching the daemon
3.0+22.2.2Controlling a daemon from QF-Test's command line
22.2.3Controlling a daemon with the daemon API
4.1+22.3Re-execution of nodes (Re-run)
22.3.1Triggering re-run from a run-log
22.3.2Re-running failing nodes immediately
23
Distributed test development
23.1Referencing nodes in another test-suite
23.2Managing 'Components'
23.3Merging test-suites
23.3.1Importing Components
3.3+23.3.2 Importing Procedures and Testcases
23.4Strategies for distributed development
3.1+23.5Static validation of test-suites
23.5.1Avoiding invalid references
4.0.3+23.5.2Unused procedures
3.0+
24
Automated Creation of Basic Procedures
24.1Introduction
24.2How to use the Procedure Builder
24.3Configuration of the Procedure Builder
24.3.1The Procedure Builder definition file
3.0+
25
Interaction with Test Management Tools
25.1HP ALM - Quality Center
25.1.1Introduction
25.1.2Step-by-step integration guide
25.1.3Troubleshooting
25.2Imbus TestBench
25.2.1Introduction
25.2.2Creating QF-Test template from interactions
25.2.3Importing test-execution results
25.3QMetry
25.3.1Introduction
25.3.2Sample Configuration
25.4Klaros
25.4.1Introduction
25.4.2Importing QF-Test results into Klaros
25.5TestLink
25.5.1Introduction
25.5.2Generating template test-suites for QF-Test from test-cases
25.5.3Execution of test-cases
25.5.4Importing QF-Test results into TestLink
26
Integration with Development Tools
26.1Eclipse
26.1.1Installation
26.1.2Configuration of the test nodes
26.2Ant
26.3Maven
3.3+26.4Jenkins/Hudson
26.4.1Install and start Jenkins
26.4.2Requirements for GUI tests
26.4.3Install QF-Test Plugin
27
Keyword-driven testing with QF-Test
27.1Introduction
27.2Simple Keyword-driven testing with QF-Test
27.2.1Business-related Procedures
27.2.2Atomic component-oriented procedures
27.3Keyword-driven testing using dynamic or generic components
27.4Behavior-driven testing (BDT)
27.4.1Behavior-Driven Testing (BDT) from technical perspective
27.4.2Behavior-Driven Testing (BDT) from business perspective
27.5Scenario files
27.6Custom test-case description
27.7Adapting to your software
28
Performing GUI-based load tests
28.1Background and comparison with other techniques
28.2Load testing with QF-Test
28.2.1Provision of test-systems
28.2.2Conception of the test-run
28.2.3Preparing test-systems prior to the test-run
28.2.4Test execution
28.2.5Evaluating results
28.3Hints on test execution
28.3.1Synchronization
28.3.2Measuring end-to-end response times
28.4Troubleshooting
28.5Web load testing with headless browsers
3.0+
29
Executing Manual Tests in QF-Test
29.1Introduction
29.2Step-by-step Guide
29.3Structure of the Excel file
29.4The ManualTestRunner test-suite
29.5Results
II
Best Practices
30
Introduction
31
How to start a testing project
31.1Infrastructure and testing environment
31.2Location of files
31.2.1Network installation
31.3Component Recognition
32
Organizing test-suites
32.1Organizing tests
32.2Modularization
32.3Parameterization
32.4Working in multiple test-suites
32.5Roles and responsibilities
32.6Managing components at different levels
32.7Reverse includes
33
Efficient working techniques
3.5+33.1Using QF-Test projects
33.2Creating test-suites from scratch
33.3The standard library qfs.qft
33.4Component storage
33.5Extending test-suites
33.6Working in the script editor
34
How to achieve robust component recognition
34.1Using the default configuration
34.2Using the 'Name overrides everything' mode
34.3Using regular expressions for working with dynamic window titles
34.4Influencing the names by implementing a NameResolver
34.5Handling classes of components
34.5.1Handling class changes due to re-factoring by using 'Record system-classes only'
34.6Avoiding recording every component or using generic components
3.1+34.7 Switching component recognition settings dynamically
35
Hints on setting up test-systems
35.1Using the task scheduler
35.2Remote access to Windows systems
35.3Automated logon on Windows systems
35.4Test execution on Unix
36
Test execution
36.1Dependencies
36.2Timeout vs. delay
36.3What to do if the run-log contains an error
III
Reference manual
37
Options
37.1General options
3.5+37.1.1Projects
37.1.2Editing
37.1.3Bookmarks
37.1.4External tools
37.1.5Backup files
37.1.6Library path
37.1.7License
37.1.8Updates
37.2Recording options
37.2.1Events to record
37.2.2Events to pack
37.2.3Components
37.2.4Recording sub-items
37.2.5Recording procedures
37.3Replay options
37.3.1Client options
37.3.2Terminal options
37.3.3Event handling
37.3.4Component recognition
37.3.5Delays
37.3.6Timeouts
37.3.7Backward compatibility
37.4Web options
37.4.1HTTP Requests
37.4.2Backward compatibility
37.5SWT options
37.6Debugger options
37.7Run-log options
37.7.1General run-log options
37.7.2Options determining run-log content
4.0+37.7.3Options for mapping between directories with test-suites
37.8Variables
37.9Runtime only
38
Elements of a test-suite
38.1The test-suite and its structure
38.1.1'Test-suite'
38.2Test and Sequence nodes
38.2.1'Test-case'
38.2.2'Test-set'
38.2.3'Test call'
38.2.4'Sequence'
38.2.5'Test-step'
38.2.6'Sequence with time limit'
38.2.7'Extras'
38.3Dependencies
38.3.1'Dependency'
38.3.2'Dependency reference'
38.3.3'Setup'
38.3.4'Cleanup'
38.3.5'Error handler'
38.4Data driver
38.4.1'Data driver'
38.4.2'Data table'
38.4.3'Database'
38.4.4'Excel data file'
38.4.5'CSV data file'
38.4.6'Data loop'
38.5Procedures
38.5.1'Procedure'
38.5.2'Procedure call'
38.5.3'Return'
38.5.4'Package'
38.5.5'Procedures'
38.6Control structures
38.6.1'Loop'
38.6.2'While'
38.6.3'Break'
38.6.4'If'
38.6.5'Elseif'
38.6.6'Else'
38.6.7'Try'
38.6.8'Catch'
38.6.9'Finally'
38.6.10'Throw'
38.6.11'Rethrow'
38.6.12'Server script'
38.6.13'SUT script'
38.7Processes
38.7.1'Start Java SUT client'
38.7.2'Start SUT client'
38.7.3'Start process'
38.7.4'Start web engine'
38.7.5'Open browser window'
38.7.6'Execute shell command'
38.7.7'Start PDF client'
38.7.8'Start windows application'
38.7.9'Attach to windows application'
38.7.10'Wait for client to connect'
38.7.11'Stop client'
38.7.12'Wait for process to terminate'
38.8Events
38.8.1'Mouse event'
38.8.2'Key event'
38.8.3'Text input'
38.8.4'Window event'
38.8.5'Component event'
38.8.6'Selection'
38.8.7'File selection'
38.9Checks
38.9.1'Check text'
38.9.2'Boolean check'
38.9.3'Check items'
38.9.4'Check selectable items'
38.9.5'Check image'
38.9.6'Check geometry'
38.10Queries
38.10.1'Fetch text'
38.10.2'Fetch index'
38.10.3'Fetch geometry'
38.11Miscellaneous
38.11.1'Comment'
38.11.2'Set variable'
38.11.3'Wait for component to appear'
38.11.4'Wait for document to load'
38.11.5'Wait for download to finish'
38.11.6'Load resources'
38.11.7'Load properties'
38.11.8'Unit test'
38.12HTTP Requests
38.12.1'Server HTTP request'
38.12.2'Browser HTTP request'
38.13Windows, Components and Items
38.13.1'Window'
38.13.2'Web page'
38.13.3'Component'
38.13.4'Item'
38.13.5'Window group'
38.13.6'Component group'
38.13.7'Windows and components'
38.14Deprecated nodes
38.14.1'Test'
39
Exceptions
IV
Technical reference
40
Command line arguments and exit codes
40.1Call syntax
40.2Command line arguments
40.2.1Arguments for the starter script
40.2.2Arguments for the Java VM
40.2.3Arguments for QF-Test
40.2.4Placeholders in the filename parameter for run-log and report
40.3Exit codes for QF-Test
41
GUI engines
42
Running an application from QF-Test
42.1Various methods to start the SUT
42.1.1A standalone script or executable file
42.1.2An application launched through Java WebStart
42.1.3An applet in a web browser
42.1.4An application started with java -jar <archive>
42.1.5 An application started with java -classpath <classpath> <class>
42.1.6 A web application in a browser
42.1.7Opening a PDF Document
43
JRE and SWT instrumentation
43.1JRE deinstrumentation
43.2SWT instrumentation
43.2.1Preparation for manual SWT instrumentation
43.2.2Manual SWT instrumentation for eclipse based applications
43.2.3Manual instrumentation for standalone SWT applications
44
Technical details about miscellaneous issues
44.1Drag&Drop
44.2Component recognition
44.3Timing
44.4Regular expressions
44.5Line breaks under Unix and Windows
44.6Quoting and escaping special characters
44.7Include file resolution
45
Scripting (Jython, Groovy and JavaScript)
45.1Module load-path
45.2The plugin directory
45.3The package cache (Jython)
45.4Initialization (Jython)
45.5Namespace environment for script execution (Jython)
45.6Run-context API
45.7The qf module
3.0+45.8Image API
45.8.1The ImageWrapper class
45.9Exception handling
45.10Debugging scripts (Jython)
46
Web
46.1Improving component recognition with a CustomWebResolver
46.1.1General configuration
46.1.2Analyzing a web page
46.1.3The procedure installCustomWebResolver
46.1.4installCustomWebResolver - Samples
46.1.5Mapping of Tables and TreeTables
46.1.6Mapping of Trees
46.1.7Mapping of Lists
46.1.8Mapping of Comboboxes
46.1.9Mapping of TabPanels and Accordions
46.1.10Example for WebCarConfigurator
46.2Special support for various web frameworks
46.2.1AJAX resolver concepts
46.2.2Setting unique IDs
46.3Browser connection mode
46.3.1QF-Driver connection mode
46.3.2WebDriver in general
46.3.3Known limitations of the WebDriver mode
46.4WebDriver with Microsoft Edge (until Edge Version 44)
46.5WebDriver with Safari
47
Controlling native Windows applications via the UIAuto module - without the QF-Test win engine
47.1Proceeding
47.1.1Starting the application
47.1.2Listing the GUI elements of a window
47.1.3Information on single GUI elements
47.1.4Identifiers for GUI elements
47.1.5Actions on GUI elements
47.2Example
47.2.1Starting the application
47.2.2GUI element information
48
Controlling and testing native MacOS applications
48.1Proceeding
48.1.1Starting the application
48.1.2Listing the GUI elements of a window
48.1.3Information on single GUI elements
48.1.4Identifiers for GUI elements
48.1.5Actions on GUI elements
49
Extension APIs
49.1The resolvers module
49.1.1Usage
49.1.2Implementation
49.1.3addResolver
49.1.4removeResolver
49.1.5listNames
3.1+49.1.6 The NameResolver Interface
3.1+49.1.7 The ClassNameResolver Interface
4.0+49.1.8 The GenericClassNameResolver Interface
3.1+49.1.9 The FeatureResolver Interface
49.1.10The ExtraFeatureResolver Interface
3.1+49.1.11 The ItemNameResolver Interface
3.1+49.1.12 The ItemValueResolver Interface
49.1.13The TreeTableResolver Interface
49.1.14The InterestingParentResolver Interface
4.1+49.1.15 The TooltipResolver Interface
49.1.16The IdResolver interface
4.1+49.1.17 The EnabledResolver Interface
4.1+49.1.18 The VisibilityResolver Interface
4.1+49.1.19 The MainTextResolver Interface
4.1+49.1.20 The BusyPaneResolver Interfaces
4.1+49.1.21 The GlassPaneResolver Interfaces
4.1+49.1.22 The EventSynchronizer Interface
4.1+49.1.23 The BusyApplicationDetector Interface
49.1.24Matcher
49.1.25External Implementation
49.2The webResolvers module
49.2.1General Information
49.2.2addResolver
49.2.3removeResolver
49.2.4listNames
49.2.5Examples
49.3The ResolverRegistry
3.1+49.4 Implementing custom item types with the ItemResolver interface
49.4.1ItemResolver concepts
49.4.2The ItemResolver interface
49.4.3The class SubItemIndex
49.4.4The ItemRegistry
49.4.5Default item representations
3.1+49.5 Implementing custom checks with the Checker interface
49.5.1The Checker interface
49.5.2The class Pair
49.5.3 The CheckType interface and its implementation DefaultCheckType
49.5.4The class CheckDataType
49.5.5The class CheckData and its subclasses
49.5.6The CheckerRegistry
49.5.7Custom checker example
3.2+49.6 Working with the Eclipse Graphical Editing Framework (GEF)
49.6.1Recording GEF items
49.6.2Implementing a GEF ItemNameResolver2
49.6.3Implementing a GEF ItemValueResolver2
3.1+49.7Test-run listeners
49.7.1The TestRunListener interface
49.7.2The class TestRunEvent
49.7.3The class TestSuiteNode
4.0.3+49.8ResetListener
49.9DOM processors
49.9.1The DOMProcessor interface
49.9.2The DOMProcessorRegistry
49.9.3Error handling
3.0+49.10Image API extensions
49.10.1The ImageRep class
49.10.2The ImageComparator interface
49.11Pseudo DOM API
49.11.1The abstract Node class
49.11.2The DocumentNode class
49.11.3The FrameNode class
49.11.4The DomNode class
49.11.5The DialogNode class
4.1+49.12WebDriver SUT API
49.12.1The WebDriverConnection class
5.0+49.13Windows Control API
49.13.1The WinControl class
50
Daemon mode
50.1Daemon concepts
50.2Daemon API
50.2.1The DaemonLocator
50.2.2The Daemon
50.2.3The TestRunDaemon
50.2.4The DaemonRunContext
3.1+50.2.5The DaemonTestRunListener
3.5+50.3Daemon security considerations
50.3.1Creating your own keystore
50.3.2Specifying the keystore
50.3.3Specifying the keystore on the client side
51
The Procedure Builder definition file
51.1Placeholders
4.1.3+51.1.1Fallback values for placeholders
51.2Conditions for Package and Procedure Definition
51.3Interpretation of the Component Hierarchy
3.4+51.4Details about the @CONDITION tag
52
The ManualStepDialog
52.1The ManualStepDialog API
3.1+
53
Details about transforming nodes
53.1Introduction
53.2Transformation with type changes
53.3Additional transformations below the 'Extras' node
53.3.1Transformations without side-effects
53.3.2Transformations with side-effects
3.3+
54
Details about the algorithm for image comparison
54.1Introduction
54.2Description of algorithms
54.2.1Classic image check
54.2.2Pixel-based identity check
54.2.3Pixel-based similarity check
54.2.4Block-based identity check
54.2.5Block-based similarity check
54.2.6Histogram check
54.2.7Analysis with Discrete Cosine Transformation
54.2.8Block-based analysis with Discrete Cosine Transformation
54.2.9Bilinear Filter
54.3Description of special functions
54.3.1Image-in-image search
3.2+
55
Result lists
55.1Introduction
55.2Specific list actions
55.2.1All types of lists
55.2.2Replacing
55.2.3Error list
3.5+55.3Exporting and loading results
4.0+
56
Generic classes
56.1Overview generic classes
56.2Properties of generic classes
56.2.1Accordion
56.2.2BusyPane
56.2.3Button
56.2.4Calendar
56.2.5ColorPicker
56.2.6CheckBox
56.2.7Closer
56.2.8ComboBox
56.2.9Divider
56.2.10Expander
56.2.11FileChooser
56.2.12Graphics
56.2.13Icon
56.2.14Indicator
56.2.15Item
56.2.16Label
56.2.17Link
56.2.18List
56.2.19LoadingComponent
56.2.20Maximizer
56.2.21Menu
56.2.22MenuItem
56.2.23Minimizer
56.2.24Popup
56.2.25RadioButton
56.2.26Restore
56.2.27Panel
56.2.28ProgressBar
56.2.29ScrollBar
56.2.30Separator
56.2.31Sizer
56.2.32Slider
56.2.33Spacer
56.2.34Spinner
56.2.35SplitPanel
56.2.36Table
56.2.37TableCell
56.2.38TableFooter
56.2.39TableHeader
56.2.40TableHeaderCell
56.2.41TabPanel
56.2.42TableRow
56.2.43Text
56.2.44TextArea
56.2.45TextField
56.2.46Thumb
56.2.47ToggleButton
56.2.48ToolBar
56.2.49ToolBarItem
56.2.50ToolTip
56.2.51Tree
56.2.52TreeNode
56.2.53TreeTable
56.2.54Window
57
Doctags
57.1Doctags for reporting and documentation
4.2+57.1.1@noreport Doctag
57.2Doctags for test execution
57.3Doctags for Editing
57.4Doctags influencing the procedure builder
A
FAQ - Frequently Asked Questions
B
Release notes
B.1QF-Test version 5.2
B.1.1Version 5.2.2 - February 11, 2021
B.1.2Version 5.2.1 - December 3, 2020
B.1.3Changes that can affect test execution
B.1.4Version 5.2.0 - November 10, 2020
B.2 QF-Test version 5.1
B.2.1 Version 5.1.2 - September 15, 2020
B.2.2 Version 5.1.1 - August 26, 2020
B.2.3Changes that can affect test execution
B.2.4 Version 5.1.0 - July 8, 2020
B.3 QF-Test version 5.0
B.3.1 Version 5.0.3 - June 17, 2020
B.3.2 Version 5.0.2 - May 5, 2020
B.3.3 Version 5.0.1 - March 2, 2020
B.3.4Main new features in version 5
B.3.5 Version 5.0.0 - February 6, 2020
B.4QF-Test version 4
B.4.1QF-Test version 4.7
B.4.2QF-Test version 4.6
B.4.3QF-Test version 4.5
B.4.4QF-Test version 4.4
B.4.5QF-Test version 4.3
B.4.6QF-Test version 4.2
B.4.7QF-Test version 4.1
B.4.8QF-Test version 4.0
B.5QF-Test version 3
B.5.1Version 3.5.7 - July 22, 2014
B.5.2Version 3.5.6 - April 29, 2014
B.5.3Version 3.5.5 - February 25, 2014
B.5.4Version 3.5.4 - December 11, 2013
B.5.5Version 3.5.3 - September 17, 2013
B.5.6Version 3.5.2 - July 2, 2013
B.5.7Version 3.5.1 - May 15, 2013
B.5.8Main new features in version 3.5
B.5.9Version 3.5.0 - March 20, 2013
B.5.10Version 3.5M3 - January 8, 2013
B.5.11Version 3.5M2 - November 16, 2012
B.5.12Version 3.5M1 - October 29, 2012
B.5.13Version 3.4.14 - March 20, 2013
B.5.14Version 3.4.13 - January 8, 2013
B.5.15Version 3.4.12 - November 16, 2012
B.5.16Version 3.4.11 - October 4, 2012
B.5.17Version 3.4.10 - August 7, 2012
B.5.18Version 3.4.9 - June 29, 2012
B.5.19Version 3.4.8 - June 5, 2012
B.5.20Version 3.4.7 - April 24, 2012
B.5.21Version 3.4.6 - March 27, 2012
B.5.22Version 3.4.5 - March 12, 2012
B.5.23Version 3.4.4 - January 30, 2012
B.5.24Version 3.4.3 - October 27, 2011
B.5.25Version 3.4.2 - September 15, 2011
B.5.26Version 3.4.1 - July 15, 2011
B.5.27Main new features in version 3.4
B.5.28Version 3.4.0 - May 26, 2011
B.5.29Version 3.4M2 - March 10, 2011
B.5.30Version 3.4M1 - February 3, 2011
B.5.31Version 3.3.0 - November 30, 2010
B.5.32Version 3.2.2 - July 15, 2010
B.5.33Version 3.2.1 - May 11, 2010
B.5.34New features in QF-Test version 3.2
B.5.35Version 3.2.0 - March 25, 2010
B.5.36Version 3.1.4 - February 9, 2010
B.5.37Version 3.1.3 - December 1, 2009
B.5.38Version 3.1.2 - October 15, 2009
B.5.39Version 3.1.1 - July 28, 2009
B.5.40Version 3.1.0 - May 19, 2009
B.5.41Version 3.0.2 - March 27, 2009
B.5.42Version 3.0.1 - January 23, 2009
B.5.43New features in QF-Test version 3 - December 5, 2008
C
Keyboard shortcuts
C.1Navigation and editing
C.2Record and replay functions
C.3Keyboard helper
D
Glossary
E
Privacy - Processing of personal and other data
E.1Server data for version query
E.2Sending support requests from within QF-Test
E.3Request Data on WebDriver Download
E.4Client data in QF-Test log files
F
Third party software