Home
Contact
Table of Contents
Preface
Intro: The fine art of web testing
Special requirements of GUI testing
The component based approach as solution
web2test or QF-Test?
How to use this manual
I User manual
1 Installation and startup
1.1 System requirements
1.2 Windows Installation
1.3 Linux Installation
1.3.1 Check installation
1.3.2 Mozilla on Linux
1.4 The license file
1.5 The configuration files
1.6 Starting web2test
1.7 Firewall Security Warning
2 The user interface
2.1 The main window of web2test
2.2 The test-suite
2.3 Basic editing
2.3.1 Navigating the tree
2.3.2 Insertion marker
2.3.3 Moving nodes
2.3.4 Transforming nodes
2.3.5 Tables
2.3.6 Packing and Unpacking
2.4 Advanced editing
2.4.1 General search
2.4.2 Replacing
2.4.3 Multiple views
3 Quickstart
4 Running an application from web2test
4.1 Start/open browser node
4.2 Program output and the Clients menu
5 Capture and replay
5.1 Recording sequences
5.2 Recording of (GET/POST) requests
5.3 Running tests
5.4 Recording checks
5.5 Recording components
6 Components
6.1 HTML component hierarchy
6.2 Components in web2test
6.3 Component Ids
6.4 Component class
6.5 The importance of naming components
6.6 Considerations for setting names
6.7 Updating Components
6.8 Troubleshooting component recognition problems
6.9 Avoiding recording every component or using generic components
6.10 Accessing hidden components (hidden fields) on a web page
7 Sub-items of complex GUI components
7.1 Sub-Items
7.2 Special Id-syntax for direct sub-item access
8 Variables
8.1 Variable lookup
8.2 Defining variables
8.3 Variable example
8.4 Special groups
8.5 Expressions
8.6 Immediate and lazy binding
9 Problem analysis and debugging
9.1 The run-log
9.1.1 Error states
9.1.2 Navigating the run-log tree
9.1.3 Accepting values of failed checks as good
9.1.4 Split run-logs
9.1.5 Run-log options
9.2 The debugger
9.2.1 Entering the debugger
9.2.2 The debugger window
9.2.3 Debugger commands
9.2.4 Manipulating breakpoints
10 Organizing the test-suite
10.1 Sequence and Test nodes
10.2 Test management with Test-set and Test-case nodes
10.2.1 Concepts
10.2.2 Variables and special attributes
10.3 Migration and backwards compatibility
10.4 Procedures and Packages
10.5 Local Procedures and Packages
10.6 Relative Procedures
10.7 Inserting Procedure call nodes
10.8 Transforming a Sequence into a Procedure
10.9 Documenting test-suites
11 Dependencies
11.1 Dependency basics
11.2 The dependency stack
11.3 Error escalation
11.4 Special variables
11.5 Error handling
12 Scripting
12.1 Fundamentals of the Jython integration
12.2 The run-context rc
12.3 Scripting examples
12.3.1 Logging messages
12.3.2 Performing checks
12.3.3 Accessing variables
12.3.4 Setting variables
12.3.5 Global Jython variables
12.3.6 Exchanging Jython variables between interpreters
12.3.7 Accessing the SUT's GUI components
12.3.8 Calling Procedures
12.3.9 Setting options
12.3.10 A complex example
12.3.11 Accessing CSS attributes - JavaScript bridge
12.4 Modules
12.5 Post-mortem debugging of Jython scripts
12.6 Scripting with Groovy
12.6.1 Accessing variables in Groovy
12.6.2 Global Groovy variables
12.6.3 Groovy packages
12.7 Working in the script editor
13 Data-driven testing
13.1 Data-driver examples
13.2 General use of Data drivers
13.3 Advanced use
14 Reports, Test execution reports and test documentation
14.1 Reports
14.1.1 Content
14.1.2 Creating reports
14.2 Test execution reports
14.2.1 Content
14.2.2 Creating test execution reports
14.3 Testdoc documentation for Test-sets and Test-cases
14.4 Pkgdoc documentation for Packages and Procedures
15 Test execution
15.1 Test execution in batch mode
15.1.1 Command line usage
15.1.2 Windows batch script
15.1.3 Ant
15.1.4 Groovy
15.2 Executing tests in daemon mode
15.2.1 Launching the daemon
15.2.2 Controlling a daemon from web2test's command line
15.2.3 Controlling a daemon with the daemon API
16 Distributed test development
16.1 Referencing nodes in another test-suite
16.2 Managing Components
16.3 Merging test-suites
16.4 Strategies for distributed development
17 Interaction with Test Management Tools
17.1 General Information
17.2 HP TestDirector for Quality Center
17.2.1 Introduction
17.2.2 Step-by-step integration guide
18 Performing GUI-based load tests
18.1 Background and comparison with other techniques
18.2 Load tests with web2test
18.2.1 Running tests with parallel threads
18.2.2 Synchronization
18.2.3 Coordinating tests on multiple machines
19 Executing Manual Tests in web2test
19.1 Introduction
19.2 Step-by-step Guide
19.3 Structure of the Excel file
19.4 The ManualTestRunner test-suite
19.5 Results
II Reference manual
20 Options
20.1 General options
20.1.1 External tools
20.1.2 Backup files
20.1.3 Library path
20.2 Recording options
20.2.1 Events to record
20.2.2 Events to pack
20.2.3 Components
20.3 Replay options
20.3.1 Client options
20.3.2 Event handling
20.3.3 Component recognition
20.3.4 Delays
20.3.5 Timeouts
20.4 Web options
20.5 Debugger options
20.6 Run-log options
20.6.1 General run-log options
20.6.2 Options determining run-log content
20.7 Variables
21 Elements of a test-suite
21.1 The test-suite and its structure
21.1.1 common node attributes
21.1.2 Test-suite
21.2 Test and Sequence nodes
21.2.1 Test-case
21.2.2 Test-set
21.2.3 Test call
21.2.4 Test
21.2.5 Sequence
21.2.6 Sequence with time limit
21.2.7 Extras
21.3 Dependencies
21.3.1 Dependency
21.3.2 Dependency reference
21.3.3 Setup
21.3.4 Cleanup
21.3.5 Error handler
21.4 Data driver
21.4.1 Data driver
21.4.2 Data table
21.4.3 Database
21.4.4 Excel data file
21.4.5 CSV data file
21.4.6 Data loop
21.5 Procedures
21.5.1 Procedure
21.5.2 Procedure call
21.5.3 Return
21.5.4 Package
21.5.5 Procedures
21.6 Control structures
21.6.1 common attributes of control structure nodes
21.6.2 Loop
21.6.3 While
21.6.4 Break
21.6.5 If
21.6.6 Elseif
21.6.7 Else
21.6.8 Try
21.6.9 Catch
21.6.10 Finally
21.6.11 Throw
21.6.12 Rethrow
21.6.13 Server script
21.6.14 SUT script
21.7 Processes
21.7.1 Start/open Browser
21.7.2 Start process
21.7.3 Execute shell command
21.7.4 Wait for client to connect
21.7.5 Stop client
21.7.6 Wait for process to terminate
21.8 Events
21.8.1 Mouse event
21.8.2 Key event
21.8.3 Text input
21.8.4 Window event
21.8.5 Component event
21.8.6 Selection
21.9 Checks
21.9.1 common attributes of check nodes
21.9.2 Check text
21.9.3 Boolean check
21.9.4 Check items
21.9.5 Check selectable items
21.9.6 Check image
21.9.7 Check geometry
21.10 Queries
21.10.1 Fetch text
21.10.2 Fetch geometry
21.11 Miscellaneous
21.11.1 Set variable
21.11.2 Wait for component to appear
21.11.3 Wait for DocumentComplete
21.11.4 Wait for DownloadComplete
21.11.5 Request
21.12 Windows, Components and Items
21.12.1 Web page
21.12.2 Component
21.12.3 Item
21.12.4 Web pages and components
22 Exceptions
III Technical reference
23 Command line arguments and exit codes
23.1 Call syntax
23.2 Command line arguments
23.2.1 Arguments for the starter script
23.2.2 Arguments for the Java VM
23.2.3 Arguments for web2test
23.2.4 Placeholders in the filename parameter for run-log and report
23.3 Exit codes for web2test
24 Technical details about miscellaneous issues
24.1 Component recognition
24.2 Timing
24.3 Regular expressions
24.4 Line breaks under Unix and Windows
24.5 Quoting and escaping special characters
24.6 Include file resolution
25 Jython and Groovy scripting
25.1 Module load-path (Jython)
25.2 The plugin directory
25.3 The package cache (Jython)
25.4 Initialization (Jython)
25.5 Namespace environment for script execution (Jython)
25.6 Run-context API
25.7 Image API
25.7.1 The ImageWrapper class
25.8 Exception handling
25.9 Debugging scripts (Jython)
26 Extension APIs
26.1 Resolver hooks
26.1.1 Overview over the supported kinds of resolvers
26.1.2 The ClassNameResolver interface
26.1.3 The NameResolver2 interface
26.1.4 The IdResolver interface
26.1.5 The FeatureResolver2 interface
26.1.6 The ExtraFeatureResolver interface
26.1.7 Simplified resolver creation with the resolvers module
26.1.8 The ResolverRegistry
26.1.9 Error handling
26.2 Implementing custom checks with the Checker interface
26.2.1 The Checker interface
26.2.2 The CheckType interface and its implementation DefaultCheckType
26.2.3 The class CheckDataType
26.2.4 The class CheckData and its subclasses
26.2.5 The CheckerRegistry
26.3 Test-run listeners
26.3.1 The TestRunListener interface
26.3.2 The class TestRunEvent
26.3.3 The class TestSuiteNode
26.4 DOM processors
26.4.1 The DOMProcessor interface
26.4.2 The DOMProcessorRegistry
26.4.3 Error handling
26.5 Image API extensions
26.5.1 The ImageRep class
26.5.2 The ImageComparator interface
27 Daemon mode
27.1 The DaemonLocator
27.2 The Daemon
27.3 The TestRunDaemon
27.3.1 Miscellaneous
27.3.2 Global variable handling
27.3.3 Test execution
27.3.4 Identification
27.4 The DaemonRunContext
27.5 The DaemonTestRunListener
28 Checks for HTML tags
29 The ManualStepDialog
29.1 The ManualStepDialog API
30 Details about transforming nodes
30.1 Introduction
30.2 Transformation with type changes
30.3 Additional transformations below the Extras node
30.3.1 Transformations without side-effects
30.3.2 Transformations with side-effects
A Pseudo DOM API for web applications
A.1 The abstract Node class
A.2 The DocumentNode class
A.3 The FrameNode class
A.4 The DomNode class
A.5 The DialogNode class
B FAQ - Frequently Asked Questions
B.1 Evaluation and licensing
B.2 Support, training and feedback
B.3 Installation and Start
B.4 Running tests
C Keyboard shortcuts
C.1 Navigation and editing
C.2 Record and replay functions
C.3 Keyboard helper
D Third party software