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.5.2.exe
1.2.2Unpacking the self-extracting archive QF-Test-4.5.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
3
Quickstart your application
2.0+3.1Quickstart Wizard
3.1.1Setup sequence creation
3.1.2Executing the setup sequence
3.1.3Troubleshooting
3.2Program output and the Clients menu
3.3An 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
14.2.3WebDriver with Safari
14.2.4Known limitations of the WebDriver mode
14.3Web-Tests without visible Window
14.4Emulation of mobile Browsers
15
Testing PDF documents
15.1PDF Client
15.1.1PDF Client start
15.1.2PDF Client window
15.2PDF events
15.2.1Open a PDF document
15.2.2Switch page
15.3Checks for PDF components
15.3.1'Check text'
15.3.2'Check image'
15.3.3'Check Font'
15.3.4'Check Font size'
15.4PDF component types
15.5PDF component recognition
16
Testing of Electron applications
16.1Starting the Electron Client
16.1.1Electron settings for the quickstart wizard
16.2Electron specific functionality of QF-Test
16.2.1Native Menus
16.3Technical remarks on testing Electron applications
17
Testing web services
17.1RESTful web services
17.1.1HTTP standards and web services
17.1.2HTTP request
17.1.3Examples
18
Data-driven testing
18.1Data-driver examples
18.2General use of 'Data drivers'
18.3Examples for 'Data drivers'
18.4Advanced use
19
Reports and test documentation
19.1Reports
19.1.1Report concepts
19.1.2Report contents
19.1.3Creating reports
19.2Testdoc documentation for 'Test-sets' and 'Test-cases'
19.3Pkgdoc documentation for 'Packages', 'Procedures' and 'Dependencies'
20
Test execution
20.1Test execution in batch mode
20.1.1Command line usage
20.1.2Windows batch script
3.0+20.1.3Groovy
20.2Executing tests in daemon mode
20.2.1Launching the daemon
3.0+20.2.2Controlling a daemon from QF-Test's command line
20.2.3Controlling a daemon with the daemon API
4.1+20.3Re-execution of nodes (Re-run)
20.3.1Triggering re-run from a run-log
20.3.2Re-running failing nodes immediately
21
Distributed test development
21.1Referencing nodes in another test-suite
21.2Managing 'Components'
21.3Merging test-suites
21.3.1Importing Components
3.3+21.3.2 Importing Procedures and Testcases
21.4Strategies for distributed development
3.1+21.5Static validation of test-suites
21.5.1Avoiding invalid references
4.0.3+21.5.2Unused procedures
3.0+
22
Automated Creation of Basic Procedures
22.1Introduction
22.2How to use the Procedure Builder
22.3Configuration of the Procedure Builder
22.3.1The Procedure Builder definition file
3.0+
23
Interaction with Test Management Tools
23.1HP ALM - Quality Center
23.1.1Introduction
23.1.2Step-by-step integration guide
23.1.3Troubleshooting
23.2Imbus TestBench
23.2.1Introduction
23.2.2Creating QF-Test template from interactions
23.2.3Importing test-execution results
23.3QMetry
23.3.1Introduction
23.3.2Sample Configuration
23.4Klaros
23.4.1Introduction
23.4.2Importing QF-Test results into Klaros
23.5SQS-TEST/Professional
23.5.1Introduction
23.5.2Integration
23.6TestLink
23.6.1Introduction
23.6.2Generating template test-suites for QF-Test from test-cases
23.6.3Execution of test-cases
23.6.4Importing QF-Test results into TestLink
24
Integration with Development Tools
24.1Eclipse
24.1.1Installation
24.1.2Configuration of the test nodes
24.2Ant
24.3Maven
3.3+24.4Jenkins/Hudson
24.4.1Install and start Jenkins
24.4.2Requirements for GUI tests
24.4.3Install QF-Test Plugin
24.4.4Configure a job for QF-Test
25
Keyword-driven testing with QF-Test
25.1Introduction
25.2Simple Keyword-driven testing with QF-Test
25.2.1Business-related Procedures
25.2.2Atomic component-oriented procedures
25.3Keyword-driven testing using dynamic or generic components
25.4Behavior-driven testing (BDT)
25.4.1Behavior-Driven Testing (BDT) from technical perspective
25.4.2Behavior-Driven Testing (BDT) from business perspective
25.5Scenario files
25.6Custom test-case description
25.7Adapting to your software
26
Performing GUI-based load tests
26.1Background and comparison with other techniques
26.2Load testing with QF-Test
26.2.1Provision of test-systems
26.2.2Conception of the test-run
26.2.3Preparing test-systems prior to the test-run
26.2.4Test execution
26.2.5Evaluating results
26.3Hints on test execution
26.3.1Synchronization
26.3.2Measuring end-to-end response times
26.4Troubleshooting
26.5Web load testing with headless browsers
3.0+
27
Executing Manual Tests in QF-Test
27.1Introduction
27.2Step-by-step Guide
27.3Structure of the Excel file
27.4The ManualTestRunner test-suite
27.5Results
28
Controlling and testing native Windows applications
28.1Proceeding
28.1.1Starting the application
28.1.2Listing the GUI elements of a window
28.1.3Information on single GUI elements
28.1.4Identifiers for GUI elements
28.1.5Actions on GUI elements
28.2Example
28.2.1Starting the application
28.2.2GUI element information
28.2.3Performing actions on the GUI elements
29
Controlling and testing native MacOS applications
29.1Proceeding
29.1.1Starting the application
29.1.2Listing the GUI elements of a window
29.1.3Information on single GUI elements
29.1.4Identifiers for GUI elements
29.1.5Actions on GUI elements
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
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'Wait for client to connect'
38.7.9'Stop client'
38.7.10'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'Set variable'
38.11.2'Wait for component to appear'
38.11.3'Wait for document to load'
38.11.4'Wait for download to finish'
38.11.5'Load resources'
38.11.6'Load properties'
38.11.7'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
JDK and SWT instrumentation
43.1JDK instrumentation
43.2JDK instrumentation background
43.2.1Modifications to the JDK
43.2.2Effects of the instrumentation
43.3SWT instrumentation
43.3.1Preparation for manual SWT instrumentation
43.3.2Manual SWT instrumentation for eclipse based applications
43.3.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
Special features for web applications
46.1Pseudo DOM API
46.1.1The abstract Node class
46.1.2The DocumentNode class
46.1.3The FrameNode class
46.1.4The DomNode class
46.1.5The DialogNode class
4.1+46.2WebDriver SUT API
46.2.1The WebDriverConnection class
46.3Special support for various AJAX toolkits
46.3.1AJAX resolver concepts
46.3.2Supported AJAX toolkits
46.3.3Setting unique IDs
46.3.4Using older versions of AJAX resolvers
46.4Customizing QF-Test for your AJAX toolkit with CustomWebResolver
46.4.1Determining specifics of your web page
46.4.2Example for WebCarConfigurator
47
Extension APIs
47.1The resolvers module
47.1.1Usage
47.1.2Implementation
47.1.3addResolver
47.1.4removeResolver
47.1.5listNames
3.1+47.1.6 The NameResolver Interface
3.1+47.1.7 The ClassNameResolver Interface
4.0+47.1.8 The GenericClassNameResolver Interface
3.1+47.1.9 The FeatureResolver Interface
47.1.10The ExtraFeatureResolver Interface
3.1+47.1.11 The ItemNameResolver Interface
3.1+47.1.12 The ItemValueResolver Interface
47.1.13The TreeTableResolver Interface
47.1.14The InterestingParentResolver Interface
4.1+47.1.15 The TooltipResolver Interface
47.1.16The IdResolver interface
4.1+47.1.17 The EnabledResolver Interface
4.1+47.1.18 The VisibilityResolver Interface
4.1+47.1.19 The MainTextResolver Interface
4.1+47.1.20 The BusyPaneResolver Interfaces
4.1+47.1.21 The GlassPaneResolver Interfaces
4.1+47.1.22 The EventSynchronizer Interface
4.1+47.1.23 The BusyApplicationDetector Interface
47.1.24Matcher
47.1.25External Implementation
47.2The webResolvers module
47.2.1General Information
47.2.2addResolver
47.2.3removeResolver
47.2.4listNames
47.2.5Examples
47.3The ResolverRegistry
3.1+47.4 Implementing custom item types with the ItemResolver interface
47.4.1ItemResolver concepts
47.4.2The ItemResolver interface
47.4.3The class SubItemIndex
47.4.4The ItemRegistry
47.4.5Default item representations
3.1+47.5 Implementing custom checks with the Checker interface
47.5.1The Checker interface
47.5.2The class Pair
47.5.3 The CheckType interface and its implementation DefaultCheckType
47.5.4The class CheckDataType
47.5.5The class CheckData and its subclasses
47.5.6The CheckerRegistry
47.5.7Custom checker example
3.2+47.6 Working with the Eclipse Graphical Editing Framework (GEF)
47.6.1Recording GEF items
47.6.2Implementing a GEF ItemNameResolver2
47.6.3Implementing a GEF ItemValueResolver2
3.1+47.7Test-run listeners
47.7.1The TestRunListener interface
47.7.2The class TestRunEvent
47.7.3The class TestSuiteNode
4.0.3+47.8ResetListener
47.9DOM processors
47.9.1The DOMProcessor interface
47.9.2The DOMProcessorRegistry
47.9.3Error handling
3.0+47.10Image API extensions
47.10.1The ImageRep class
47.10.2The ImageComparator interface
48
Daemon mode
48.1Daemon concepts
48.2Daemon API
48.2.1The DaemonLocator
48.2.2The Daemon
48.2.3The TestRunDaemon
48.2.4The DaemonRunContext
3.1+48.2.5The DaemonTestRunListener
3.5+48.3Daemon security considerations
48.3.1Creating your own keystore
48.3.2Specifying the keystore
48.3.3Specifying the keystore on the client side
49
The Procedure Builder definition file
49.1Placeholders
4.1.3+49.1.1Fallback values for placeholders
49.2Conditions for Package and Procedure Definition
49.3Interpretation of the Component Hierarchy
3.4+49.4Details about the @CONDITION tag
50
The ManualStepDialog
50.1The ManualStepDialog API
3.1+
51
Details about transforming nodes
51.1Introduction
51.2Transformation with type changes
51.3Additional transformations below the 'Extras' node
51.3.1Transformations without side-effects
51.3.2Transformations with side-effects
3.3+
52
Details about the algorithm for image comparison
52.1Introduction
52.2Description of algorithms
52.2.1Classic image check
52.2.2Pixel-based identity check
52.2.3Pixel-based similarity check
52.2.4Block-based identity check
52.2.5Block-based similarity check
52.2.6Histogram check
52.2.7Analysis with Discrete Cosine Transformation
52.2.8Block-based analysis with Discrete Cosine Transformation
52.2.9Bilinear Filter
52.3Description of special functions
52.3.1Image-in-image search
3.2+
53
Result lists
53.1Introduction
53.2Specific list actions
53.2.1All types of lists
53.2.2Replacing
53.2.3Error list
3.5+53.3Exporting and loading results
4.0+
54
Generic classes
54.1Overview generic classes
54.2Mapping of complex components
54.2.1Mapping of Comboboxes
54.2.2Mapping of Lists
54.2.3Mapping of TabPanels and Accordions
54.2.4Mapping of Tables and TreeTables
54.2.5Mapping of Trees
54.3Properties of generic classes
54.3.1Accordion
54.3.2BusyPane
54.3.3Button
54.3.4Calendar
54.3.5ColorPicker
54.3.6CheckBox
54.3.7Closer
54.3.8Divider
54.3.9ComboBox
54.3.10Expander
54.3.11FileChooser
54.3.12Graphics
54.3.13Icon
54.3.14Indicator
54.3.15Item
54.3.16Label
54.3.17Link
54.3.18List
54.3.19LoadingComponent
54.3.20Maximizer
54.3.21Menu
54.3.22MenuItem
54.3.23Minimizer
54.3.24Popup
54.3.25RadioButton
54.3.26Restore
54.3.27Panel
54.3.28ProgressBar
54.3.29ScrollBar
54.3.30Separator
54.3.31Sizer
54.3.32Slider
54.3.33Spacer
54.3.34Spinner
54.3.35SplitPanel
54.3.36Table
54.3.37TableCell
54.3.38TableFooter
54.3.39TableHeader
54.3.40TableHeaderCell
54.3.41TabPanel
54.3.42TableRow
54.3.43Text
54.3.44TextArea
54.3.45TextField
54.3.46Thumb
54.3.47ToggleButton
54.3.48ToolBar
54.3.49ToolBarItem
54.3.50ToolTip
54.3.51Tree
54.3.52TreeNode
54.3.53TreeTable
54.3.54Window
55
Doctags
55.1Doctags for reporting and documentation
4.2+55.1.1@noreport Doctag
55.2Doctags for test execution
55.3Doctags for Editing
A
FAQ - Frequently Asked Questions
B
Release notes
B.1QF-Test version 4.5
B.1.1Version 4.5.2 - March 20, 2019
B.1.2Version 4.5.1 - February 27, 2019
B.1.3Highlights of version 4.5
B.1.4Changes that can affect test execution
B.1.5Software that is no longer supported
B.1.6Version 4.5.0 - February 14, 2019
B.2QF-Test version 4.4
B.2.1Version 4.4.2 - December 11, 2018
B.2.2Version 4.4.1 - October 26, 2018
B.2.3Version 4.4.0 - October 11, 2018
B.3QF-Test version 4.3
B.3.1Version 4.3.2 - September 11, 2018
B.3.2Version 4.3.1 - August 28, 2018
B.3.3Faster release cycle
B.3.4Version 4.3.0 - July 26, 2018
B.4QF-Test version 4.2
B.4.1Version 4.2.5 - July 11, 2018
B.4.2Version 4.2.4 - June 14, 2018
B.4.3Version 4.2.3 - May 3, 2018
B.4.4Version 4.2.2 - March 9, 2018
B.4.5Version 4.2.1 - February 26, 2018
B.4.6Highlights of version 4.2
B.4.7Changes that can affect test execution
B.4.8Software that is no longer supported
B.4.9Version 4.2.0 - January 10, 2018
B.5QF-Test version 4.1
B.5.1Version 4.1.6 - October 27, 2017
B.5.2Version 4.1.5 - August 9, 2017
B.5.3Version 4.1.4 - June 1, 2017
B.5.4Version 4.1.3 - March 29, 2017
B.5.5Version 4.1.2 - January 13, 2017
B.5.6Version 4.1.1 - November 23, 2016
B.5.7Highlights of version 4.1
B.5.8Changes that can affect test execution
B.5.9Software that is no longer supported
B.5.10Version 4.1.0 - October 6, 2016
B.5.11Version 4.1.0-rc2 - September 2, 2016
B.5.12Version 4.1.0-rc1 - July 29, 2016
B.6QF-Test version 4.0
B.6.1Version 4.0.11 - April 05, 2016
B.6.2Version 4.0.10 - January 28, 2016
B.6.3Version 4.0.9 - December 17, 2015
B.6.4Version 4.0.8 - November 4, 2015
B.6.5Version 4.0.7 - August 27, 2015
B.6.6Version 4.0.6 - July 16, 2015
B.6.7Version 4.0.5 - May 12, 2015
B.6.8Version 4.0.4 - March 5, 2015
B.6.9Version 4.0.3 - January 29, 2015
B.6.10Version 4.0.2-p2
B.6.11Version 4.0.2-p1
B.6.12Version 4.0.2 - October 22, 2014
B.6.13Version 4.0.1 - August 28, 2014
B.6.14Main new features in version 4
B.6.15Version 4.0.0 - July 31, 2014
B.6.16Version 4.0.0-rc1 - July 4, 2014
B.6.17Version 4.0.0-beta3 - May 13, 2014
B.6.18Version 4.0.0-beta2 - April 11, 2014
B.6.19Version 4.0.0-beta1 - March 26, 2014
B.7QF-Test version 3
B.7.1Version 3.5.7 - July 22, 2014
B.7.2Version 3.5.6 - April 29, 2014
B.7.3Version 3.5.5 - February 25, 2014
B.7.4Version 3.5.4 - December 11, 2013
B.7.5Version 3.5.3 - September 17, 2013
B.7.6Version 3.5.2 - July 2, 2013
B.7.7Version 3.5.1 - May 15, 2013
B.7.8Main new features in version 3.5
B.7.9Version 3.5.0 - March 20, 2013
B.7.10Version 3.5M3 - January 8, 2013
B.7.11Version 3.5M2 - November 16, 2012
B.7.12Version 3.5M1 - October 29, 2012
B.7.13Version 3.4.14 - March 20, 2013
B.7.14Version 3.4.13 - January 8, 2013
B.7.15Version 3.4.12 - November 16, 2012
B.7.16Version 3.4.11 - October 4, 2012
B.7.17Version 3.4.10 - August 7, 2012
B.7.18Version 3.4.9 - June 29, 2012
B.7.19Version 3.4.8 - June 5, 2012
B.7.20Version 3.4.7 - April 24, 2012
B.7.21Version 3.4.6 - March 27, 2012
B.7.22Version 3.4.5 - March 12, 2012
B.7.23Version 3.4.4 - January 30, 2012
B.7.24Version 3.4.3 - October 27, 2011
B.7.25Version 3.4.2 - September 15, 2011
B.7.26Version 3.4.1 - July 15, 2011
B.7.27Main new features in version 3.4
B.7.28Version 3.4.0 - May 26, 2011
B.7.29Version 3.4M2 - March 10, 2011
B.7.30Version 3.4M1 - February 3, 2011
B.7.31Version 3.3.0 - November 30, 2010
B.7.32Version 3.2.2 - July 15, 2010
B.7.33Version 3.2.1 - May 11, 2010
B.7.34New features in QF-Test version 3.2
B.7.35Version 3.2.0 - March 25, 2010
B.7.36Version 3.1.4 - February 9, 2010
B.7.37Version 3.1.3 - December 1, 2009
B.7.38Version 3.1.2 - October 15, 2009
B.7.39Version 3.1.1 - July 28, 2009
B.7.40Version 3.1.0 - May 19, 2009
B.7.41Version 3.0.2 - March 27, 2009
B.7.42Version 3.0.1 - January 23, 2009
B.7.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.2Request Data on WebDriver Download
E.3Client data in QF-Test log files
F
Third party software