Rational Robot User's Guide
Preface
Audience
Other Resources
Integrations Between Rational Testing Tools and OtherRational Products
Contacting Rational Technical Publications
Contacting Rational Customer Support
Introducing Rational Robot
Introduction to Rational Robot
What Is Rational Robot?
Managing Rational Projects with the Administrator
Developing Tests in Robot
Creating Datapools
Analyzing Results in the Log and Comparators
Managing Intranet and Web Sites with SiteCheck and Robot
Using Robot with Other Rational Products
Planning and Managing Tests in TestManager
Testing Applications with Rational TestFactory
Managing Defects with Rational ClearQuest
Collecting Diagnostic Information During Playback
Performance Testing with Rational TestManager
Managing Requirements with Rational RequisitePro
Hosting Robot/Applications on a Terminal Server
Starting Robot and Its Components
Logging On
Opening Other Rational Products and Components
Tasks You Can Perform with Robot and Its Components
Developing and Playing Back GUI Scripts
Recording GUI Scripts
The Recording Process
The Recording Workflow
Before You Begin Recording
Establishing Predictable Start and End States for Scripts
Setting Up Your Test Environment
Creating Modular Scripts
Creating Shared Scripts with UNC
Enabling IDE Applications for Testing
Setting GUI Recording Options
Naming Scripts Automatically
Controlling How Robot Responds to Unknown Objects
Selecting an Object Order Preference
Using Advanced Features Before Recording
Customizing the Object Recognition Method Order
Important Notes
Changing the Order of Object Recognition Methods
Creating a New Object Order Preference
Mapping Object Types and Classes Before Recording
Defining an Object Class Mapping
Modifying or Deleting a Custom Class Name
Recording a New GUI Script
Restoring the Robot Main Window During Recording
Using the GUI Record and GUI Insert Toolbars
Pausing and Resuming the Recording of a Script
Defining Unknown Objects During Recording
Important Notes
Switching to LowLevel Recording
Ending the Recording of a GUI Script
Defining Script Properties
Coding a GUI Script Manually
Testing Your Recorded Script
Playing Back the Script
Editing and Compiling the Script
Debugging the Script
Creating Shell Scripts to Play Back Scripts in Sequence
Creating a Shell Script
Playing Back a Shell Script
Adding Features to GUI Scripts
Starting an Application
Starting Applications
Starting Applications Under the Rational Diagnostic Tools
Specifying the Diagnostic Tool During Recording
Specifying the Diagnostic Tool During Playback
Inserting a Call to Another Script
Inserting Verification Points
Inserting Timers
Uses for Timers
Measuring General Application Performance
Measuring Specific Task Performance
Inserting a Timer
Playing Back a Script That Includes Timers
Inserting Comments
Inserting Log Messages
Inserting Delay Values
Using the Insert Menu
Customizing SQABasic Scripts
Library Source Files
Creating and Editing .sbl Library Source Files
Creating and Editing .rec Library Source Files
Adding Procedures to the Global Library Source File
Using Library Source Files
SQABasic Header Files
Creating and Editing Header Files
Adding Declarations to the Global Header File
Using SQABasic Header Files
Using Filters to Open SQA Basic Files
Header and Library Source File Examples
Example Script
Example Library Source File (Tstlibrary.sbl)
Example Header File (Tstheader.sbh)
The Template File
Creating Verification Points in GUI Scripts
About Verification Points
Verification Points and Data Files
Verification Points and Scripts
Types of Verification Points
Before You Create a Verification Point
Tasks Associated with Creating a Verification Point
Starting to Create a Verification Point
Setting a Wait State for a Verification Point
Setting the Expected Result for a Verification Point
Selecting and Identifying the Object to Test
Selecting the Object to Test
Identifying the Object to Test
Selecting a Verification Method
Selecting an Identification Method
By Content
By Location
By Title
By Key/Value
List of Identification Methods
Working with the Data in Data Grids
Selecting the Data to Test in a Data Grid
Testing Column Titles or Top Menus in a Data Grid
Editing Captured Data in a Data Grid
Editing Data for a Clipboard or Object Data Verification Point
Editing Data for a Menu Verification Point
Restrictions on Editing Data
Changing a Column Width in a Data Grid
Transposing Columns and Rows in a Data Grid
Editing a Verification Point
Viewing a Baseline File
Renaming a Verification Point
Copying a Verification Point
Deleting a Verification Point
Editing, Compiling, and Debugging Scripts
Editing the Text of a Script
Adding a User Action to an Existing GUI Script
Adding a Feature to an Existing GUI Script
Working with LowLevel Scripts
Viewing LowLevel Scripts
Renaming a LowLevel Script
Copying a LowLevel Script
Deleting a LowLevel Script
Saving Scripts and SQABasic Files
Printing a Script or SQABasic File
Compiling Scripts and SQABasic Library Source Files
Compiling One or All Scripts and Library Source Files
Batch Compiling Scripts and Library Source Files
Locating Compilation Errors
Debugging GUI Scripts
Setting and Clearing Breakpoints
Executing to a Selected Line
Executing in Animation Mode
Examining Variable Values
Deleting Scripts
Developing VU Scripts
Setting Recording Options
About Session Recording
Setting the Recording Method
API Recording
Disabling Script Debugging
Choosing API Recording
API Recording Using API Recorder Adapters
Network Recording
Choosing Network Recording
Selecting a Client/Server Pair
Selecting a Network Card
Proxy Recording
Choosing Proxy Recording
Creating a Proxy Computer
Identifying Client/Server Pairs
Custom Recording
Choosing Custom Recording
Setting Script Generation Options
Modifying the Contents of a Script
Use Datapools
Command ID Prefix
Display Recorded Rows
Verify Playback Row Counts
Verify Playback Return Codes
Bind Output Parameters to VU Variables
Playback Pacing
CPU/User Threshold (ms)
Think Maximum (ms)
Script Generation: Setting Filtering Options
How to Filter Protocols
Automatic and Manual Filtering
Protocol Lists
Jolt, Socket, and TUXEDO Protocols
Providing ProtocolSpecific Information
Controlling the Values Accepted When an HTTP Script Is Played Back
Supplying Variable Data Values to an HTTP Script
Providing the Name of an Oracle Database
Assigning a Prefix to TUXEDO Command IDs
Assigning a Prefix to IIOP Command IDs and Including IORs in IIOP_bind
DCOM Recording
Type Library Requirement for DCOM Recording
Assigning a Prefix to DCOM Command IDs
Setting General Recording Options
Autonaming Prefixes
Start Application
Setting the Recorder Window
Defining a Client or Server Computer
Removing a Computer or Port
Authenticating Logon Information
When to Modify the Authentication Datapool
Modifying the Authentication Datapool with TestManager
Modifying the Authentication Datapool During Recording
Unique Features of the Authentication Datapool
Managing Proxies
Starting and Stopping Proxy Service
Starting or Stopping Proxy Service
Re-creating Proxies After Proxy Service Is Stopped
Monitoring Proxy Activities
Deleting Client/Server Pairs
Deleting a Proxy
Re-Creating Proxies That Have Been Removed
Recording Sessions
Recording a Session
What You Can Record in a Session
Session File Types Generated After Recording
Where Files Are Stored
Restoring Robot During Recording
Recording a Single Script in a Session
Stop Recording and Generating Scripts
Using the Floating Toolbars
If Problems Occur During Script Generation
Providing a Missing Password
Providing a Password
Skipping One or More Passwords
Getting Feedback During and After Recording
The Session Recorder During Recording
The Session Recorder Icon
Canceling Scripts During Recording
Canceling a Script in a SingleScript Session
Canceling the Current Script in a MultiScript Session
Canceling All Scripts in a Multiscript Session
Choosing the Protocols to Include in a Script
Automatically Filtering Protocols
Manually Filtering Protocols
Controls in the Manual Filtering Dialog Box
Including or Excluding Connections
Converting from One Protocol Type to Another
Playing Back a Script Quickly
Working with Sessions
Splitting a Session into Multiple Scripts
How to Split a Session into Multiple Scripts
Importing a Session
Exporting a Session
Regenerating Scripts from a Session
Changing Recording Options
Viewing Session Properties
Accessing Script Properties from Session Properties
Coding a Script Manually
Creating Library Files for VU Scripts
Defining Script Properties
How to Define Script Properties in Robot
Managing Scripts and Sessions
Finding the Session Associated with a Script
Removing a Script from a Session
Re-recording Sessions
Deleting the Original Scripts and Properties
Keeping the Original Scripts
Overwriting the Original Scripts but Keeping Their Properties
Re-recording Scripts
Copying Scripts
Deleting Scripts and Sessions
Testing CORBA Applications
Adding Features to Scripts
Toolbars for Adding Features
Timers
How Timers Work
Why Use Timers?
Adding a Timer During Recording
Adding a Timer During Editing
Blocks
Why Use Blocks?
Adding a Block
Nesting Blocks
Example of Nested Blocks
Synchronization Points
How Synchronization Points Work
Why Use Synchronization Points?
Inserting Synchronization Points
Inserting a Synchronization Point During Recording
Inserting a Synchronization Point During Editing
Inserting a Synchronization Point into a Suite
Scope of a Synchronization Point
Comments
Adding Comments During Recording
Adding Comments During Editing
Using the Insert Menu
Playing Back GUI Scripts
Playing Back GUI Scripts
Playback Phases
Test Development Phase
Regression Testing Phase
Restoring the Test Environment Before Playback
Setting GUI Playback Options
Acknowledging the Results of Verification Point Playback
Setting Log Options for Playback
Setting Wait State and Delay Options
Setting Wait State Options
Setting Delay Options for Commands and Keystrokes
Setting Error Recovery Options
Setting Unexpected Active Window Options
Setting Diagnostic Tools Options
About Purify and Robot
About Quantify and Robot
About PureCoverage and Robot
How the Diagnostic Tools Work with Robot
How the Start Application and Diagnostic Tools Options Interact
Setting the Diagnostic Tools Options
Viewing the Playback Results
Setting the Trap Options to Detect GPFs
Important Notes
Uses for Trap
Starting Trap
Analyzing Results in the Sqatrap.log File
Playing Back a GUI Script
Viewing Results in the TestManager Log
Analyzing Verification Point Results with the Comparators
Working with Datapools
What Is a Datapool?
Datapool Tools
Rational TestManager Users Guide Managing Datapool Files
Datapool Cursor
Row Access Order
Datapool Limits
What Kinds of Problems Does a Datapool Solve?
Planning and Creating a Datapool
Data Types
Standard and UserDefined Data Types
Finding Out What Data Types You Need
Finding Values in GUI Scripts
Creating UserDefined Data Types
Generating Unique Values from UserDefined Data Types
Generating MultiByte Characters
Using Datapools with Sessions
Creating a Datapool with Robot
Step 1. Editing Datapool Configuration
Step 2. Defining Datapool Columns and Generating the Data
Viewing Datapool Values
Editing Datapool Column Definitions with Robot
If There Are Errors
Editing Datapool Values with Robot
Canceling Your Edits
Using Datapools with GUI Scripts
Accessing a Datapool from GUI and Session Scripts
Testing IDE Applications
Testing Visual Basic Applications
About Robot Support for Visual Basic Applications
Verifying That the Visual Basic Extension Is Loaded
Testing Oracle Forms Applications
About Robot Support for Oracle Forms Applications
Making Oracle Forms Applications Testable
Installing the Rational Test Oracle Forms Enabler
Running the Enabler on Your Application
What Happens When You Run the Enabler?
Running the Enabler
Distributing Your Application
Verifying That the Oracle Forms Extension Is Loaded
Recording Actions and Testing Objects
Recording Actions
Testing Objects
Testing an Objects Properties
Object Properties Verification Point
Testing Properties of Visual Objects
Testing Properties of Nonvisual Objects
Object Scripting Commands
Testing an Objects Data
Testing BaseTable Blocks and BaseTable Items
Testing LOVs and Record Groups
Creating an .SQA Text File
Capturing Data in an LOV Associated with a Text Item
Capturing Data in LOVs and Record Groups
Testing .NET Applications
About Robot Support for .NET Applications
Making .NET Applications Testable
Testing ASP.NET WebForms Applications
Testing Visual Studio.NET Windows Forms Applications
Recording a New GUI Script to Test .NET Applications
Diagnostic Tool Options
Testing Hybrid Applications
Custom .NET Security Environments
Testing HTML Applications
About Robot Support for HTML Applications
Configuring Your Browser for Testing
Disabling the Cookie Prompt
Making HTML Applications Testable
Verifying That the HTML Extension Is Loaded
Using the Start Browser Toolbar Button
Testing Data in HTML Elements
Additional Examples
To Test the Contents of a List Box
To Test for Text within a Table
To Test the Destination of a Link
How Robot Maps HTML Elements
Supported Data Tests for HTML Testing
Testing Properties of HTML Elements
Playing Back Scripts in Netscape Navigator
Configuring Robot for Netscape 4.7x Playback
Differences Between Internet Explorer and Navigator
Recording Tips
Capturing the Properties of Java Applets in HTML Pages
Synchronizing Pages
Capturing Properties or Data of Window Objects
Using the Browsers Back and Forward Buttons
Recording Transactions
Recording Mouse Movements
Ensuring Browser Compatibility
Enhancing Object Recognition of HTML Elements
Notes on Using Netscape Navigator 4.x
Verifying That the HTML-Navigator 4.x Extension Is Loaded
Enabling Cache for Netscape 4.x Recording and Playback
Configuring Robot for Netscape 4.x Playback
Testing Java Applets and Applications
About Robot Support for Java
Robot Support for Testing Java Applets and Applications
Support for Testing Java Applets
Support for Testing Java Applications
Supported Foundation Class Libraries
Making Java Applets and Applications Testable
Running the Java Enabler
Verifying That the Java Extension Is Loaded
Setting Up the Sample Java Applet
Installing the Sample Java Applet
Installing the Swing Foundation Classes
Installing Swing Under Windows NT 4.0
Installing Swing Under Windows XP or Windows 2000
Installing Swing Under Windows 98
Starting the Sample Java Applet
Testing Data in Java Components
Testing the Contents of a Java Panel
Support for Custom Java Components
For More Information About Java Support
Supported Data Tests for Java Testing
Testing Properties of Java Components
Enhancing Object Recognition of Java Components
Testing PowerBuilder Applications
About Robot Support for PowerBuilder Applications
Verifying That the PowerBuilder Extension Is Loaded
Recording Actions on DataWindows
Parameters for a MouseClick Action
ValueBased Recording
Testing an Expression Value of a DataWindow Property
Testing DataStore Controls and Hidden DataWindows
Capturing Data in a DropDownDataWindow/ListBox
Testing the Value of a DataWindow Computed Field
Testing PeopleTools Applications
About Robot Support for PeopleTools Applications
Verifying That the PeopleTools Extension Is Loaded
Testing a Components Properties
Testing a Components Data
Ensuring Correct Playback of PeopleTool Test Scripts
PeopleTools Commands
Testing Delphi Applications
About Rational Robot Support for Delphi
Making Delphi Applications Testable
Installing the Rational Object Testing Library and Enabler
Running the Rational Test Delphi Enabler
Adding the Rational Object Testing Library
Removing the Rational Object Testing Library
Testing a Components Properties
Testing a Components Data
Appendixes
Working with Data Tests
About Data Tests
An Example of a Data Test
What the All Data Test Does
The Definition of the All Data Test
Changing a Data Test Definition
Creating or Editing a Custom Data Test
Copying, Renaming, or Deleting a Data Test
Rational Robot CommandLine Options
Index
Symbols
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W