List of figures

The user interface
2.1  Structure of a test suite
2.2  Insertion marker
2.3  Example table
2.4  The simple search dialog
2.5  The advanced search dialog
2.6  Result list for 'Locate references'
2.7  Incremental search
2.8  The replace dialog
2.9  The replace query dialog
Quickstart your application
3.1  Quickstart Wizard
3.2  Startup sequence created by the Quickstart Wizard
3.3  GUI technology information
Capture and replay
4.1  Disabled and enabled Record button
5.1  Components of a GUI
5.2  Readability of SmartIDs
5.3  Readability of identifiers
5.4  Readability of SmartIDs in panels with description
5.5  Component tree 1
5.6  Stable component recognition - Example 1
5.7  Stable component recognition - Example 2
5.8  Using a regular expression in the 'Feature' attribute
5.9  Component hierarchy of a Swing SUT
5.10  Component node
5.11  Extra feature attribute for component recognition via XPath or CSS selector.
5.12  An 'Item' for a table cell
5.13  Update components dialog
5.14  UI Inspector
5.15  General information
5.16  Web-specific information
5.17   Android-specific information
5.18   Windows-specific information
5.19   Swing-specific information
5.20   FX-specific information
5.21  QF-Test specific information
6.1  Direct and fallback bindings
6.2  System variables
6.3  Variable example
6.4  Variable bindings example
Problem analysis and debugging
7.1  A simple test and its run log
7.2  Error states in a run log
7.3  Display of duration indicators in the run log
Organizing the test suite
8.1  Test suite structure
8.2  Test structure with simple 'Setup' and 'Cleanup'
8.3  Test execution with simple 'Setup' and 'Cleanup'
8.4  'Packages' and 'Procedures'
8.5  Dependency stack A-B-C
8.6  Good practice 'Setup' node
8.7  Dependency stack A-B-D-E
8.8  'Dependency' with 'Characteristic variables'
8.9  Exception in forced cleanup sequence of C causes B to clean up
8.10  Typical 'Cleanup' node
8.11  Example 'Test set' for name spaces
8.12  Dependency handling for test case 'Data entry by User A'
8.13  Dependency handling for test case 'Offer processing by User C'
8.14  Dependency handling for test case 'Check offer 1 in DMS'
8.15  Dependency handling for test case 'Data entry by User B'
8.16  Dependency handling for test case 'Offer processing by User D'
8.17  Dependency handling for test case 'Check offer 2 in DMS'
9.1  The project view
The standard library
10.1  Standard library qfs.qft
11.1  Detail view of a 'Server script' with help window for rc methods
11.2  Overview of the types of variables in QF-Test
Unit Tests
12.1  Unit Test node with Java classes
12.2  Example Unit Test node with Injections
12.3  Example Unit Test node with Injections
12.4  Unit Test Report
Web testing
14.1  Cross-Browser Tests
Testing Android applications
16.1  Android studio start screen
16.2  Android studio virtual device creation screen
16.3  Android studio screen to chose a device definition
16.4  Android studio screen to download and select the system image
16.5  Android studio screen to finish the AVD configuration procedure
16.6  Android studio screen showing available AVDs
16.7  Quickstart wizard screen to select the application type
16.8  Quickstart wizard screen to select the emulate as test device
16.9  Quickstart wizard screen to select the AVD
16.10  Quickstart wizard screen to select an APK
16.11  Quickstart wizard screen to specify the client name
16.12  Android setup sequence created by the quickstart wizard
16.13  Android emulator window
16.14  Quickstart wizard screen to select the application type
16.15  Quickstart wizard screen to select the real device
16.16  Quickstart wizard screen to select a .apk file
16.17  Quickstart wizard screen to specify the client name
16.18  Android setup sequence created by the quickstart wizard
16.19  QF-Test Android recording window
16.20  Android utility procedures
Testing PDF documents
17.1  PDF Client main window with PDF document
17.2  Check text 'default'
17.3  Check text 'Text positioned'
17.4  Check Items 'Text as items (whole page)'
17.5  Check Items 'Text positioned as items (whole page)'
17.6  Check text 'Text (whole page)'
17.7  Check text 'Text positioned (whole page)'
17.8  Check Image 'default' recording of a Text object
17.9  Check Image 'default' recording of an Image object
17.10  Check Image 'unscaled' recording of an Image object
17.11  Check Image 'scaled' recording of an Image object
Testing web services
20.1  Browser send HTTP GET
20.2  GET response
Data-driven testing
21.1  A simple data-driven test
21.2  'Data table' example
21.3  Run log of a data-driven test
21.4  Data-driven test with nested loops
21.5  Second data table example
21.6  Run log of a data-driven test with nested loops
Reports and test documentation
22.1  Example report
Test execution
23.1  Dialog to rerun test cases
Distributed test development
24.1  Result of analyzing references
Automated Creation of Basic Procedures
25.1  Recorded procedures
25.2  The Procedure Builder definition file
Interaction with Test Management Tools
26.1  Integration with ALM - QualityCenter
26.2  QF-Test VAPI-XP-TEST test case in HP ALM - QualityCenter
26.3  In Test plan create new Test set
26.4  Create new test of type VAPI-XP-TEST
26.5  HP VAPI-XP Wizard
26.6  Test details
26.7  Copy template content to script text area
26.8  New test set in Test lab section
26.9  Add test to execution grid
26.10  Run the test
26.11  Test result
26.12  Uploaded run log
26.13  Script debug run
26.14  QF-Test run log in QMetry
Integration with Development Tools
27.1  Eclipse plugin configuration - tab 'Main'
27.2  Eclipse plugin configuration - Tab 'Settings'
27.3  Eclipse plugin configuration - Tab 'Initial Settings'
27.4  Jenkins after start-up.
27.5  Install QF-Test Plugin.
Keyword-driven testing with QF-Test
29.1  Excel file business-related keywords
29.2  Test suite business-related keywords
29.3  Procedure fillDialog
29.4  Excel file of generic components
29.5  Test suite for generic components
29.6  Test suite Behavior-driven testing technical
29.7  Test suite Behavior-driven testing from business perspective
29.8  Excel file as scenario file
29.9  Test suite scenario file
Performing GUI-based load tests
31.1  Load testing scenario
31.2  Overview load testing project
31.3  Sample test suite daemonController_twoPhases.qft
31.4  Call of rc.syncThreads in demo test suite
Executing Manual Tests in QF-Test
32.1  Example for a ManualStepDialog
Organizing test suites
35.1  Structure of multiple test suites
35.2  Including test suites of level 1
35.3  Structure of different test suites with roles
39.1  Options tree
39.2  General options
39.3  Projects
39.4  Saving test suites
39.5  Display
39.6  Editing
39.8  External tools options
39.9  Backup file options
39.10  Library path option
39.11  License options
39.12  Update options
39.13  Recording options
39.14  Options for events to record
39.15  Options for events to pack
39.16  Dragging to a sub-menu
39.17  Options for recording components
39.18  Popup menu for recording components
39.19  Options for recording sub-items
39.20  Options for the Android recording window
39.21  Procedure Builder options
39.22  Replay options
39.23  Client options
39.24  Terminal options
39.25  Event handling options
39.26  Component recognition options
39.27  Delay options
39.28  Timeout options
39.29  Options for replay backward compatibility
39.30  SmartID und qfs:label-Optionen
39.31  Options for Android
39.32  Web options
39.33  Options for HTTP Requests
39.34  Options for web backward compatibility
39.35  SWT options
39.36  Debugger options
39.37  General run log options
39.38  Options for splitting run logs
39.39  Options determining run log content
39.40  Options for mapping between directories with test suites
39.41  Variable options
Elements of a test suite
40.1  'Test suite' attributes
40.2  'Test case' attributes
40.3  'Test set' attributes
40.4  'Test call' Attributes
40.5  'Sequence' attributes
40.6  'Test step' attributes
40.7  'Sequence with time limit' attributes
40.8  'Extras' attributes
40.9  'Dependency' attributes
40.10  'Dependency reference' attributes
40.11  'Setup' attributes
40.12  'Cleanup' attributes
40.13  'Error handler' attributes
40.14  'Data driver' attributes
40.15  'Data table' attributes
40.16  'Database' attributes
40.17  'Excel data file' attributes
40.18  'CSV data file' attributes
40.19  'Data loop' attributes
40.20  'Procedure' Attributes
40.21  'Procedure call' Attributes
40.22  'Return' Attributes
40.23  'Package' Attributes
40.24  'Procedures' Attributes
40.25  'Loop' attributes
40.26  'While' attributes
40.27  'Break' attributes
40.28  'If' attributes
40.29  'Elseif' attributes
40.30  'Else' attributes
40.31  'Try' attributes
40.32  'Catch' attributes
40.33  'Finally' attributes
40.34  'Throw' attributes
40.35  'Rethrow' attributes
40.36  'Server script' attributes
40.37  'SUT script' attributes
40.38  'Start Java SUT client' attributes
40.39  'Start SUT client' attributes
40.40  'Start process' attributes
40.41  'Start web engine' attributes
40.42  'Open browser window' attributes
40.43  'Execute shell command' attributes
40.44  'Start PDF client' attributes
40.45  'Start windows application' attributes
40.46  'Attach to windows application' attributes
40.47  'Launch Android emulator' attributes
40.48  'Connect to Android device' Attribute
40.49  'Launch Android app' attributes
40.50  'Wait for client to connect' attributes
40.51  'Wait for Android device' Attributes
40.52  'Stop client' attributes
40.53  'Wait for process to terminate' attributes
40.54  'Mouse event' attributes
40.55  'Key event' attributes
40.56  'Text input' attributes
40.57  'Window event' attributes
40.58  'Component event' attributes
40.59  'Selection' attributes
40.60  'File selection' attributes
40.61  'Check text' attributes
40.62  'Boolean check' attributes
40.63  'Check items' attributes
40.64  'Check selectable items' attributes
40.65  'Check image' attributes
40.66  'Check geometry' attributes
40.67  'Fetch text' attributes
40.68  'Fetch index' attributes
40.69  'Fetch geometry' attributes
40.70  'Comment' attributes
40.71  'Error' attributes
40.72  'Warning' attributes
40.73  'Message' attributes
40.74  'Set variable' attributes
40.75  'Wait for component to appear' attributes
40.76  'Wait for document to load' attributes
40.77  'Wait for download to finish' attributes
40.78  'Load resources' attributes
40.79  'Load properties' attributes
40.80  'Unit test' server attributes
40.81  'Unit test' client attributes
40.82  'Install CustomWebResolver' attributes
40.83  'CustomWebResolver' configuration template actions
40.84  'CustomWebResolver' edit menu
40.85  'Server HTTP request' Attribute
40.86  'Browser HTTP request' Attribute
40.87  'Window' attributes
40.88  'Web page' attributes
40.89  'Component' attributes
40.90  'Item' attributes
40.91  'Window group' attributes
40.92  'Component group' attributes
40.93  'Windows and components' attributes
40.94  'Test' attributes
40.95  CustomWebResolver call in 'Setup' node of the Quickstart Wizard
Running an application from QF-Test
44.1  Starting the SUT from a script or executable
44.2  Starting the SUT through Java WebStart
44.3  Starting the SUT from a jar archive
44.4  Starting the SUT via the main class
44.5  Launch the browser process
44.6  Open the web site in the browser
44.7  Opening a PDF Document
49.1  Reduction of complexity for "CarConfigurator Web" demo
49.2  Installing the 'CustomWebResolver' in the 'Setup' node of the Quickstart Wizard
49.3  'CustomWebResolver' configuration templates
49.4  'CustomWebResolver' with a template for genericClasses
49.5  'CustomWebResolver' with two generic classes
49.6  'CustomWebResolver' with more complex mapping
49.7  CarConfigurator Web
49.8  CarConfigurator Web
49.9  Simplification due to simple class mapping
49.10  Recording of '-5%' button in "CarConfigurator Web" demo
49.11  Recording with genericClasses in "CarConfigurator Web"
49.12  Simplification due to advanced class mapping
49.13  Recording of SPAN text fields
49.14  Recording text fields in "CarConfigurator Web"
49.15  Simplification for complex components
49.16  Recording of a table in "CarConfigurator Web"
49.17  Recording of resolved table item in "CarConfigurator Web"
49.18  Simplification of the "CarConfigurator Web" demo
Controlling native Windows applications via the UIAuto module - without the QF-Test win engine
50.1  UI Automation procedures in the standard library
50.2  The WPF demo application
Extension APIs
52.1  Pseudo class hierarchy for web elements
Details about the algorithm for image comparison
57.1  Original image
57.2  Classic image check
57.3  Pixel-based identity check
57.4  Pixel-based similarity check
57.5  Block-based identity check
57.6  Block-based similarity check
57.7  Histogram
57.8  Analysis with Discrete Cosine Transformation
57.9  Block-based analysis with Discrete Cosine Transformation
57.10  Bilinear Filter
57.11  Image-in-image search: Expected image
57.12  Image-in-image search: Got image
Result lists
58.1  Sample result list for 'Locate references'
FAQ - Frequently Asked Questions
A.1  Set browser maximum memory
Keyboard shortcuts
C.1  Keyboard helper