Manual

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-4.7.1.exe
1.2.2Unpacking the self-extracting archive QF-Test-4.7.1-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
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.1Web testing using QF-Driver connection mode
14.2Website Testing using WebDriver
14.2.1WebDriver in general
14.2.2WebDriver with Microsoft Edge (until Edge Version 44)
14.2.3WebDriver with Safari
14.2.4Known limitations of the WebDriver mode
14.3Web-Tests without visible Window
14.4Emulation of mobile Browsers
5.0+
15
Testing native Windows applications (preview)
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.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 of Electron applications
17.1Starting the Electron Client
17.1.1Electron settings for the quickstart wizard
17.2Electron specific functionality of QF-Test
17.2.1Native Menus
17.3Technical remarks on testing Electron applications
18
Testing web services
18.1RESTful web services
18.1.1HTTP standards and web services
18.1.2HTTP request
18.1.3Examples
19
Data-driven testing
19.1Data-driver examples
19.2General use of 'Data drivers'
19.3Examples for 'Data drivers'
19.4Advanced use
20
Reports and test documentation
20.1Reports
20.1.1Report concepts
20.1.2Report contents
20.1.3Creating reports
20.2Testdoc documentation for 'Test-sets' and 'Test-cases'
20.3Pkgdoc documentation for 'Packages', 'Procedures' and 'Dependencies'
21
Test execution
21.1Test execution in batch mode
21.1.1Command line usage
21.1.2Windows batch script
3.0+21.1.3Groovy
21.2Executing tests in daemon mode
21.2.1Launching the daemon
3.0+21.2.2Controlling a daemon from QF-Test's command line
21.2.3Controlling a daemon with the daemon API
4.1+21.3Re-execution of nodes (Re-run)
21.3.1Triggering re-run from a run-log
21.3.2Re-running failing nodes immediately
22
Distributed test development
22.1Referencing nodes in another test-suite
22.2Managing 'Components'
22.3Merging test-suites
22.3.1Importing Components
3.3+22.3.2 Importing Procedures and Testcases
22.4Strategies for distributed development
3.1+22.5Static validation of test-suites
22.5.1Avoiding invalid references
4.0.3+22.5.2Unused procedures
3.0+
23
Automated Creation of Basic Procedures
23.1Introduction
23.2How to use the Procedure Builder
23.3Configuration of the Procedure Builder
23.3.1The Procedure Builder definition file
3.0+
24
Interaction with Test Management Tools
24.1HP ALM - Quality Center
24.1.1Introduction
24.1.2Step-by-step integration guide
24.1.3Troubleshooting
24.2Imbus TestBench
24.2.1Introduction
24.2.2Creating QF-Test template from interactions
24.2.3Importing test-execution results
24.3QMetry
24.3.1Introduction
24.3.2Sample Configuration
24.4Klaros
24.4.1Introduction
24.4.2Importing QF-Test results into Klaros
24.5SQS-TEST/Professional
24.5.1Introduction
24.5.2Integration
24.6TestLink
24.6.1Introduction
24.6.2Generating template test-suites for QF-Test from test-cases
24.6.3Execution of test-cases
24.6.4Importing QF-Test results into TestLink
25
Integration with Development Tools
25.1Eclipse
25.1.1Installation
25.1.2Configuration of the test nodes
25.2Ant
25.3Maven
3.3+25.4Jenkins/Hudson
25.4.1Install and start Jenkins
25.4.2Requirements for GUI tests
25.4.3Install QF-Test Plugin
25.4.4Configure a job for QF-Test
26
Keyword-driven testing with QF-Test
26.1Introduction
26.2Simple Keyword-driven testing with QF-Test
26.2.1Business-related Procedures
26.2.2Atomic component-oriented procedures
26.3Keyword-driven testing using dynamic or generic components
26.4Behavior-driven testing (BDT)
26.4.1Behavior-Driven Testing (BDT) from technical perspective
26.4.2Behavior-Driven Testing (BDT) from business perspective
26.5Scenario files
26.6Custom test-case description
26.7Adapting to your software
27
Performing GUI-based load tests
27.1Background and comparison with other techniques
27.2Load testing with QF-Test
27.2.1Provision of test-systems
27.2.2Conception of the test-run
27.2.3Preparing test-systems prior to the test-run
27.2.4Test execution
27.2.5Evaluating results
27.3Hints on test execution
27.3.1Synchronization
27.3.2Measuring end-to-end response times
27.4Troubleshooting
27.5Web load testing with headless browsers
3.0+
28
Executing Manual Tests in QF-Test
28.1Introduction
28.2Step-by-step Guide
28.3Structure of the Excel file
28.4The ManualTestRunner test-suite
28.5Results
II
Best Practices
29
Introduction
30
How to start a testing project
30.1Infrastructure and testing environment
30.2Location of files
30.2.1Network installation
30.3Component Recognition
31
Organizing test-suites
31.1Organizing tests
31.2Modularization
31.3Parameterization
31.4Working in multiple test-suites
31.5Roles and responsibilities
31.6Managing components at different levels
31.7Reverse includes
32
Efficient working techniques
3.5+32.1Using QF-Test projects
32.2Creating test-suites from scratch
32.3The standard library qfs.qft
32.4Component storage
32.5Extending test-suites
32.6Working in the script editor
33
How to achieve robust component recognition
33.1Using the default configuration
33.2Using the 'Name overrides everything' mode
33.3Using regular expressions for working with dynamic window titles
33.4Influencing the names by implementing a NameResolver
33.5Handling classes of components
33.5.1Handling class changes due to re-factoring by using 'Record system-classes only'
33.6Avoiding recording every component or using generic components
3.1+33.7 Switching component recognition settings dynamically
34
Hints on setting up test-systems
34.1Using the task scheduler
34.2Remote access to Windows systems
34.3Automated logon on Windows systems
34.4Test execution on Unix
35
Test execution
35.1Dependencies
35.2Timeout vs. delay
35.3What to do if the run-log contains an error
III
Reference manual
36
Options
36.1General options
3.5+36.1.1Projects
36.1.2Editing
36.1.3Bookmarks
36.1.4External tools
36.1.5Backup files
36.1.6Library path
36.1.7License
36.1.8Updates
36.2Recording options
36.2.1Events to record
36.2.2Events to pack
36.2.3Components
36.2.4Recording sub-items
36.2.5Recording procedures
36.3Replay options
36.3.1Client options
36.3.2Terminal options
36.3.3Event handling
36.3.4Component recognition
36.3.5Delays
36.3.6Timeouts
36.3.7Backward compatibility
36.4Web options
36.4.1HTTP Requests
36.4.2Backward compatibility
36.5SWT options
36.6Debugger options
36.7Run-log options
36.7.1General run-log options
36.7.2Options determining run-log content
4.0+36.7.3Options for mapping between directories with test-suites
36.8Variables
37
Elements of a test-suite
37.1The test-suite and its structure
37.1.1'Test-suite'
37.2Test and Sequence nodes
37.2.1'Test-case'
37.2.2'Test-set'
37.2.3'Test call'
37.2.4'Sequence'
37.2.5'Test-step'
37.2.6'Sequence with time limit'
37.2.7'Extras'
37.3Dependencies
37.3.1'Dependency'
37.3.2'Dependency reference'
37.3.3'Setup'
37.3.4'Cleanup'
37.3.5'Error handler'
37.4Data driver
37.4.1'Data driver'
37.4.2'Data table'
37.4.3'Database'
37.4.4'Excel data file'
37.4.5'CSV data file'
37.4.6'Data loop'
37.5Procedures
37.5.1'Procedure'
37.5.2'Procedure call'
37.5.3'Return'
37.5.4'Package'
37.5.5'Procedures'
37.6Control structures
37.6.1'Loop'
37.6.2'While'
37.6.3'Break'
37.6.4'If'
37.6.5'Elseif'
37.6.6'Else'
37.6.7'Try'
37.6.8'Catch'
37.6.9'Finally'
37.6.10'Throw'
37.6.11'Rethrow'
37.6.12'Server script'
37.6.13'SUT script'
37.7Processes
37.7.1'Start Java SUT client'
37.7.2'Start SUT client'
37.7.3'Start process'
37.7.4'Start web engine'
37.7.5'Open browser window'
37.7.6'Execute shell command'
37.7.7'Start PDF client'
37.7.8'Start Windows client'
37.7.9'Wait for client to connect'
37.7.10'Stop client'
37.7.11'Wait for process to terminate'
37.8Events
37.8.1'Mouse event'
37.8.2'Key event'
37.8.3'Text input'
37.8.4'Window event'
37.8.5'Component event'
37.8.6'Selection'
37.8.7'File selection'
37.9Checks
37.9.1'Check text'
37.9.2'Boolean check'
37.9.3'Check items'
37.9.4'Check selectable items'
37.9.5'Check image'
37.9.6'Check geometry'
37.10Queries
37.10.1'Fetch text'
37.10.2'Fetch index'
37.10.3'Fetch geometry'
37.11Miscellaneous
37.11.1'Set variable'
37.11.2'Wait for component to appear'
37.11.3'Wait for document to load'
37.11.4'Wait for download to finish'
37.11.5'Load resources'
37.11.6'Load properties'
37.11.7'Unit test'
37.12HTTP Requests
37.12.1'Server HTTP request'
37.12.2'Browser HTTP request'
37.13Windows, Components and Items
37.13.1'Window'
37.13.2'Web page'
37.13.3'Component'
37.13.4'Item'
37.13.5'Window group'
37.13.6'Component group'
37.13.7'Windows and components'
37.14Deprecated nodes
37.14.1'Test'
38
Exceptions
IV
Technical reference
39
Command line arguments and exit codes
39.1Call syntax
39.2Command line arguments
39.2.1Arguments for the starter script
39.2.2Arguments for the Java VM
39.2.3Arguments for QF-Test
39.2.4Placeholders in the filename parameter for run-log and report
39.3Exit codes for QF-Test
40
GUI engines
41
Running an application from QF-Test
41.1Various methods to start the SUT
41.1.1A standalone script or executable file
41.1.2An application launched through Java WebStart
41.1.3An applet in a web browser
41.1.4An application started with java -jar <archive>
41.1.5 An application started with java -classpath <classpath> <class>
41.1.6 A web application in a browser
41.1.7Opening a PDF Document
42
JDK and SWT instrumentation
42.1JDK instrumentation
42.2JDK instrumentation background
42.2.1Modifications to the JDK
42.2.2Effects of the instrumentation
42.3SWT instrumentation
42.3.1Preparation for manual SWT instrumentation
42.3.2Manual SWT instrumentation for eclipse based applications
42.3.3Manual instrumentation for standalone SWT applications
43
Technical details about miscellaneous issues
43.1Drag&Drop
43.2Component recognition
43.3Timing
43.4Regular expressions
43.5Line breaks under Unix and Windows
43.6Quoting and escaping special characters
43.7Include file resolution
44
Scripting (Jython, Groovy and JavaScript)
44.1Module load-path
44.2The plugin directory
44.3The package cache (Jython)
44.4Initialization (Jython)
44.5Namespace environment for script execution (Jython)
44.6Run-context API
44.7The qf module
3.0+44.8Image API
44.8.1The ImageWrapper class
44.9Exception handling
44.10Debugging scripts (Jython)
45
Special features for web applications
45.1Pseudo DOM API
45.1.1The abstract Node class
45.1.2The DocumentNode class
45.1.3The FrameNode class
45.1.4The DomNode class
45.1.5The DialogNode class
4.1+45.2WebDriver SUT API
45.2.1The WebDriverConnection class
45.3Special support for various AJAX toolkits
45.3.1AJAX resolver concepts
45.3.2Supported AJAX toolkits
45.3.3Setting unique IDs
45.3.4Using older versions of AJAX resolvers
45.4Customizing QF-Test for your AJAX toolkit with CustomWebResolver
45.4.1Determining specifics of your web page
45.4.2Example for WebCarConfigurator
46
Controlling native Windows applications via the UIAuto module - without the QF-Test win engine
46.1Proceeding
46.1.1Starting the application
46.1.2Listing the GUI elements of a window
46.1.3Information on single GUI elements
46.1.4Identifiers for GUI elements
46.1.5Actions on GUI elements
46.2Example
46.2.1Starting the application
46.2.2GUI element information
46.2.3Performing actions on the GUI elements
47
Controlling and testing native MacOS applications
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
48
Extension APIs
48.1The resolvers module
48.1.1Usage
48.1.2Implementation
48.1.3addResolver
48.1.4removeResolver
48.1.5listNames
3.1+48.1.6 The NameResolver Interface
3.1+48.1.7 The ClassNameResolver Interface
4.0+48.1.8 The GenericClassNameResolver Interface
3.1+48.1.9 The FeatureResolver Interface
48.1.10The ExtraFeatureResolver Interface
3.1+48.1.11 The ItemNameResolver Interface
3.1+48.1.12 The ItemValueResolver Interface
48.1.13The TreeTableResolver Interface
48.1.14The InterestingParentResolver Interface
4.1+48.1.15 The TooltipResolver Interface
48.1.16The IdResolver interface
4.1+48.1.17 The EnabledResolver Interface
4.1+48.1.18 The VisibilityResolver Interface
4.1+48.1.19 The MainTextResolver Interface
4.1+48.1.20 The BusyPaneResolver Interfaces
4.1+48.1.21 The GlassPaneResolver Interfaces
4.1+48.1.22 The EventSynchronizer Interface
4.1+48.1.23 The BusyApplicationDetector Interface
48.1.24Matcher
48.1.25External Implementation
48.2The webResolvers module
48.2.1General Information
48.2.2addResolver
48.2.3removeResolver
48.2.4listNames
48.2.5Examples
48.3The ResolverRegistry
3.1+48.4 Implementing custom item types with the ItemResolver interface
48.4.1ItemResolver concepts
48.4.2The ItemResolver interface
48.4.3The class SubItemIndex
48.4.4The ItemRegistry
48.4.5Default item representations
3.1+48.5 Implementing custom checks with the Checker interface
48.5.1The Checker interface
48.5.2The class Pair
48.5.3 The CheckType interface and its implementation DefaultCheckType
48.5.4The class CheckDataType
48.5.5The class CheckData and its subclasses
48.5.6The CheckerRegistry
48.5.7Custom checker example
3.2+48.6 Working with the Eclipse Graphical Editing Framework (GEF)
48.6.1Recording GEF items
48.6.2Implementing a GEF ItemNameResolver2
48.6.3Implementing a GEF ItemValueResolver2
3.1+48.7Test-run listeners
48.7.1The TestRunListener interface
48.7.2The class TestRunEvent
48.7.3The class TestSuiteNode
4.0.3+48.8ResetListener
48.9DOM processors
48.9.1The DOMProcessor interface
48.9.2The DOMProcessorRegistry
48.9.3Error handling
3.0+48.10Image API extensions
48.10.1The ImageRep class
48.10.2The ImageComparator interface
49
Daemon mode
49.1Daemon concepts
49.2Daemon API
49.2.1The DaemonLocator
49.2.2The Daemon
49.2.3The TestRunDaemon
49.2.4The DaemonRunContext
3.1+49.2.5The DaemonTestRunListener
3.5+49.3Daemon security considerations
49.3.1Creating your own keystore
49.3.2Specifying the keystore
49.3.3Specifying the keystore on the client side
50
The Procedure Builder definition file
50.1Placeholders
4.1.3+50.1.1Fallback values for placeholders
50.2Conditions for Package and Procedure Definition
50.3Interpretation of the Component Hierarchy
3.4+50.4Details about the @CONDITION tag
51
The ManualStepDialog
51.1The ManualStepDialog API
3.1+
52
Details about transforming nodes
52.1Introduction
52.2Transformation with type changes
52.3Additional transformations below the 'Extras' node
52.3.1Transformations without side-effects
52.3.2Transformations with side-effects
3.3+
53
Details about the algorithm for image comparison
53.1Introduction
53.2Description of algorithms
53.2.1Classic image check
53.2.2Pixel-based identity check
53.2.3Pixel-based similarity check
53.2.4Block-based identity check
53.2.5Block-based similarity check
53.2.6Histogram check
53.2.7Analysis with Discrete Cosine Transformation
53.2.8Block-based analysis with Discrete Cosine Transformation
53.2.9Bilinear Filter
53.3Description of special functions
53.3.1Image-in-image search
3.2+
54
Result lists
54.1Introduction
54.2Specific list actions
54.2.1All types of lists
54.2.2Replacing
54.2.3Error list
3.5+54.3Exporting and loading results
4.0+
55
Generic classes
55.1Overview generic classes
55.2Mapping of complex components
55.2.1Mapping of Comboboxes
55.2.2Mapping of Lists
55.2.3Mapping of TabPanels and Accordions
55.2.4Mapping of Tables and TreeTables
55.2.5Mapping of Trees
55.3Properties of generic classes
55.3.1Accordion
55.3.2BusyPane
55.3.3Button
55.3.4Calendar
55.3.5ColorPicker
55.3.6CheckBox
55.3.7Closer
55.3.8Divider
55.3.9ComboBox
55.3.10Expander
55.3.11FileChooser
55.3.12Graphics
55.3.13Icon
55.3.14Indicator
55.3.15Item
55.3.16Label
55.3.17Link
55.3.18List
55.3.19LoadingComponent
55.3.20Maximizer
55.3.21Menu
55.3.22MenuItem
55.3.23Minimizer
55.3.24Popup
55.3.25RadioButton
55.3.26Restore
55.3.27Panel
55.3.28ProgressBar
55.3.29ScrollBar
55.3.30Separator
55.3.31Sizer
55.3.32Slider
55.3.33Spacer
55.3.34Spinner
55.3.35SplitPanel
55.3.36Table
55.3.37TableCell
55.3.38TableFooter
55.3.39TableHeader
55.3.40TableHeaderCell
55.3.41TabPanel
55.3.42TableRow
55.3.43Text
55.3.44TextArea
55.3.45TextField
55.3.46Thumb
55.3.47ToggleButton
55.3.48ToolBar
55.3.49ToolBarItem
55.3.50ToolTip
55.3.51Tree
55.3.52TreeNode
55.3.53TreeTable
55.3.54Window
56
Doctags
56.1Doctags for reporting and documentation
4.2+56.1.1@noreport Doctag
56.2Doctags for test execution
56.3Doctags for Editing
56.4Doctags influencing the procedure builder
A
FAQ - Frequently Asked Questions
B
Release notes
B.1QF-Test version 4.7
B.1.1 Version 4.7.1 - September 19, 2019
B.1.2Version 4.7.0 - July 26, 2019
B.2QF-Test version 4.6
B.2.1Version 4.6.0 - June 18, 2019
B.3QF-Test version 4.5
B.3.1Version 4.5.2 - March 20, 2019
B.3.2Version 4.5.1 - February 27, 2019
B.3.3Highlights of version 4.5
B.3.4Changes that can affect test execution
B.3.5Software that is no longer supported
B.3.6Version 4.5.0 - February 14, 2019
B.4QF-Test version 4.4
B.4.1Version 4.4.2 - December 11, 2018
B.4.2Version 4.4.1 - October 26, 2018
B.4.3Version 4.4.0 - October 11, 2018
B.5QF-Test version 4.3
B.5.1Version 4.3.2 - September 11, 2018
B.5.2Version 4.3.1 - August 28, 2018
B.5.3Faster release cycle
B.5.4Version 4.3.0 - July 26, 2018
B.6QF-Test version 4.2
B.6.1Version 4.2.5 - July 11, 2018
B.6.2Version 4.2.4 - June 14, 2018
B.6.3Version 4.2.3 - May 3, 2018
B.6.4Version 4.2.2 - March 9, 2018
B.6.5Version 4.2.1 - February 26, 2018
B.6.6Highlights of version 4.2
B.6.7Changes that can affect test execution
B.6.8Software that is no longer supported
B.6.9Version 4.2.0 - January 10, 2018
B.7QF-Test version 4.1
B.7.1Version 4.1.6 - October 27, 2017
B.7.2Version 4.1.5 - August 9, 2017
B.7.3Version 4.1.4 - June 1, 2017
B.7.4Version 4.1.3 - March 29, 2017
B.7.5Version 4.1.2 - January 13, 2017
B.7.6Version 4.1.1 - November 23, 2016
B.7.7Highlights of version 4.1
B.7.8Changes that can affect test execution
B.7.9Software that is no longer supported
B.7.10Version 4.1.0 - October 6, 2016
B.7.11Version 4.1.0-rc2 - September 2, 2016
B.7.12Version 4.1.0-rc1 - July 29, 2016
B.8QF-Test version 4.0
B.8.1Version 4.0.11 - April 05, 2016
B.8.2Version 4.0.10 - January 28, 2016
B.8.3Version 4.0.9 - December 17, 2015
B.8.4Version 4.0.8 - November 4, 2015
B.8.5Version 4.0.7 - August 27, 2015
B.8.6Version 4.0.6 - July 16, 2015
B.8.7Version 4.0.5 - May 12, 2015
B.8.8Version 4.0.4 - March 5, 2015
B.8.9Version 4.0.3 - January 29, 2015
B.8.10Version 4.0.2-p2
B.8.11Version 4.0.2-p1
B.8.12Version 4.0.2 - October 22, 2014
B.8.13Version 4.0.1 - August 28, 2014
B.8.14Main new features in version 4
B.8.15Version 4.0.0 - July 31, 2014
B.8.16Version 4.0.0-rc1 - July 4, 2014
B.8.17Version 4.0.0-beta3 - May 13, 2014
B.8.18Version 4.0.0-beta2 - April 11, 2014
B.8.19Version 4.0.0-beta1 - March 26, 2014
B.9QF-Test version 3
B.9.1Version 3.5.7 - July 22, 2014
B.9.2Version 3.5.6 - April 29, 2014
B.9.3Version 3.5.5 - February 25, 2014
B.9.4Version 3.5.4 - December 11, 2013
B.9.5Version 3.5.3 - September 17, 2013
B.9.6Version 3.5.2 - July 2, 2013
B.9.7Version 3.5.1 - May 15, 2013
B.9.8Main new features in version 3.5
B.9.9Version 3.5.0 - March 20, 2013
B.9.10Version 3.5M3 - January 8, 2013
B.9.11Version 3.5M2 - November 16, 2012
B.9.12Version 3.5M1 - October 29, 2012
B.9.13Version 3.4.14 - March 20, 2013
B.9.14Version 3.4.13 - January 8, 2013
B.9.15Version 3.4.12 - November 16, 2012
B.9.16Version 3.4.11 - October 4, 2012
B.9.17Version 3.4.10 - August 7, 2012
B.9.18Version 3.4.9 - June 29, 2012
B.9.19Version 3.4.8 - June 5, 2012
B.9.20Version 3.4.7 - April 24, 2012
B.9.21Version 3.4.6 - March 27, 2012
B.9.22Version 3.4.5 - March 12, 2012
B.9.23Version 3.4.4 - January 30, 2012
B.9.24Version 3.4.3 - October 27, 2011
B.9.25Version 3.4.2 - September 15, 2011
B.9.26Version 3.4.1 - July 15, 2011
B.9.27Main new features in version 3.4
B.9.28Version 3.4.0 - May 26, 2011
B.9.29Version 3.4M2 - March 10, 2011
B.9.30Version 3.4M1 - February 3, 2011
B.9.31Version 3.3.0 - November 30, 2010
B.9.32Version 3.2.2 - July 15, 2010
B.9.33Version 3.2.1 - May 11, 2010
B.9.34New features in QF-Test version 3.2
B.9.35Version 3.2.0 - March 25, 2010
B.9.36Version 3.1.4 - February 9, 2010
B.9.37Version 3.1.3 - December 1, 2009
B.9.38Version 3.1.2 - October 15, 2009
B.9.39Version 3.1.1 - July 28, 2009
B.9.40Version 3.1.0 - May 19, 2009
B.9.41Version 3.0.2 - March 27, 2009
B.9.42Version 3.0.1 - January 23, 2009
B.9.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