Oracle® Application Testing Suite: Openscript User'S Guide Version 9.10 For Microsoft Windows (32-Bit)
Oracle® Application Testing Suite: Openscript User'S Guide Version 9.10 For Microsoft Windows (32-Bit)
Oracle® Application Testing Suite: Openscript User'S Guide Version 9.10 For Microsoft Windows (32-Bit)
April 2010
Oracle Application Testing Suite OpenScript User's Guide Version 9.10 for Microsoft Windows (32-Bit)
E15488-03
Copyright © 2009, 2010, Oracle and/or its affiliates. All rights reserved.
Contributing Author: Leo Cloutier, Dan Hynes, Orlando Cabrero, Theresa Bandy, Joe Fernandes, Matt
Demeusy
Contributor:
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data
delivered to U.S. Government customers are "commercial computer software" or "commercial technical data"
pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As
such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and
license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of
the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software
License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications which may
create a risk of personal injury. If you use this software in dangerous applications, then you shall be
responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use
of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of
this software in dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.
This software and documentation may provide access to or information on content, products, and services
from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and
its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of
third-party content, products, or services.
Oracle Enterprise Manager Application Testing Suite contains Classic IDE 3.2.2 with the OpenScript product
and certain Equinox jar files from the Eclipse SDK (the "EPL Programs"). The authors and/or contributors
to the EPL Programs disclaim (i) all warranties and conditions, express and implied, including warranties or
conditions of title and non-infringement, and implied warranties or conditions of merchantability and
fitness for a particular purpose and (ii) all liability for damages, including direct, indirect, special, incidental
and consequential damages, such as lost profits. Any provision of any license provided by Oracle is offered
by Oracle alone and not by any other party. The source code for the EPL Programs and a copy of the Eclipse
Public License is available from Oracle at the following URL:
http://oss.oracle.com/projects/eclipse-member-downloads/.
Contents
Preface ............................................................................................................................................................... xv
Audience..................................................................................................................................................... xv
Documentation Accessibility ................................................................................................................... xvi
Related Documents .................................................................................................................................. xvii
Conventions .............................................................................................................................................. xvii
iii
1.4.12 Debug View ....................................................................................................................... 1-15
1.4.13 Variables and Breakpoints Views................................................................................... 1-15
1.5 About Multi-User Execution .................................................................................................. 1-15
1.6 About Script Assets.................................................................................................................. 1-16
2 Setting Preferences
2.1 Setting OpenScript Preferences................................................................................................. 2-1
2.2 Correlation Category .................................................................................................................. 2-1
2.2.1 Module Correlation Preferences........................................................................................ 2-1
2.2.2 Add Library .......................................................................................................................... 2-2
2.2.3 Add/Edit Rule ..................................................................................................................... 2-2
2.3 General Category ........................................................................................................................ 2-2
2.3.1 General Preferences ............................................................................................................. 2-3
2.3.2 Browser Preferences ............................................................................................................ 2-3
2.3.3 Encryption Preferences ....................................................................................................... 2-3
2.3.4 Repository Preferences........................................................................................................ 2-4
2.4 Playback Category ...................................................................................................................... 2-4
2.4.1 General Playback Preferences ............................................................................................ 2-4
2.4.1.1 General ........................................................................................................................... 2-4
2.4.1.2 Error Handling.............................................................................................................. 2-5
2.4.1.3 System ............................................................................................................................ 2-5
2.4.2 Debug Preferences ............................................................................................................... 2-6
2.4.3 Error Recovery Preferences ................................................................................................ 2-6
2.4.3.1 General ........................................................................................................................... 2-7
2.4.3.2 Functional Test.............................................................................................................. 2-7
2.4.3.3 HTTP .............................................................................................................................. 2-7
2.4.3.4 Oracle Forms Functional Test ..................................................................................... 2-8
2.4.3.5 Oracle Forms Load Test............................................................................................... 2-8
2.4.3.6 Utilities ........................................................................................................................... 2-8
2.4.3.7 Web Functional Test..................................................................................................... 2-8
2.4.4 Functional Test Preferences................................................................................................ 2-9
2.4.4.1 Object Enumeration...................................................................................................... 2-9
2.4.4.2 Browser ....................................................................................................................... 2-10
2.4.5 HTTP Preferences ............................................................................................................. 2-10
2.4.5.1 Proxy............................................................................................................................ 2-10
2.4.5.2 Compression............................................................................................................... 2-11
2.4.5.3 Headers ....................................................................................................................... 2-11
2.4.5.4 Connections ................................................................................................................ 2-11
2.4.5.5 SSL ............................................................................................................................... 2-11
2.4.5.6 Other............................................................................................................................ 2-11
2.4.5.7 Download Manager .................................................................................................. 2-13
2.4.6 Oracle EBS/Forms Functional Test Preferences .......................................................... 2-14
2.4.6.1 Event Timeout............................................................................................................ 2-14
2.4.6.2 Miscellaneous............................................................................................................. 2-14
2.4.7 Oracle EBS/Forms Load Test Preferences .................................................................... 2-14
2.4.7.1 Miscellaneous............................................................................................................. 2-14
2.4.8 Shared Data Service Preferences .................................................................................... 2-14
iv
2.4.9 Web Functional Test Preferences.................................................................................... 2-15
2.4.9.1 Object Timeout........................................................................................................... 2-15
2.4.9.2 Miscellaneous............................................................................................................. 2-15
2.4.9.3 Capture Screenshot Interval..................................................................................... 2-16
2.4.9.4 Object Tests................................................................................................................. 2-16
2.5 Record Category....................................................................................................................... 2-16
2.5.1 General Preferences .......................................................................................................... 2-16
2.5.2 HTTP Preferences ............................................................................................................. 2-16
2.5.2.1 General ........................................................................................................................ 2-16
2.5.2.2 Proxy Settings............................................................................................................. 2-17
2.5.2.3 URL Filters.................................................................................................................. 2-17
2.5.3 Oracle EBS/Forms Functional Test Preferences .......................................................... 2-18
2.5.3.1 General ........................................................................................................................ 2-18
2.5.3.2 Object Identification .................................................................................................. 2-18
2.5.4 EBS/Forms Load Test Preferences................................................................................. 2-18
2.5.5 Siebel Functional Test Preferences ................................................................................. 2-19
2.5.5.1 General ........................................................................................................................ 2-19
2.5.5.2 Object Identification .................................................................................................. 2-19
2.5.6 Web Functional Test Preferences.................................................................................... 2-20
2.5.6.1 General ........................................................................................................................ 2-20
2.5.6.2 Object Identification .................................................................................................. 2-20
2.5.7 Web Services Preferences ................................................................................................ 2-21
2.5.7.1 General ........................................................................................................................ 2-21
2.5.7.2 Parser Tools ................................................................................................................ 2-21
2.5.7.3 Proxy Configuration.................................................................................................. 2-21
2.6 Step Group Category............................................................................................................... 2-21
2.6.1 ADF Functional Test Preferences ................................................................................... 2-22
2.6.2 Basic Module Preferences ................................................................................................ 2-22
2.6.3 HTTP Preferences ............................................................................................................. 2-23
2.6.4 Oracle EBS/Forms Functional Test Preferences .......................................................... 2-23
2.6.5 Oracle EBS/Forms Load Test Preferences .................................................................... 2-24
2.6.6 Siebel Functional Test Preferences ................................................................................. 2-25
2.6.7 Siebel Load Test Preferences ........................................................................................... 2-26
2.6.8 Web Functional Test Preferences.................................................................................... 2-26
2.7 Setting Project Preferences...................................................................................................... 2-27
v
3.2.1.4 Multiple Users Opening Scripts ................................................................................. 3-6
3.2.2 Migrating Scripts ................................................................................................................. 3-6
3.2.3 Setting Script Properties ..................................................................................................... 3-7
3.2.3.1 Correlation..................................................................................................................... 3-8
3.2.3.2 Modules ......................................................................................................................... 3-8
3.2.3.3 Script Assets .................................................................................................................. 3-8
3.2.3.4 Step Groups ................................................................................................................... 3-8
3.2.4 Importing Oracle Real User Experience Insight (REUI) Session Logs......................... 3-9
3.3 Modifying Scripts........................................................................................................................ 3-9
3.3.1 Adding Step Groups to a Script......................................................................................... 3-9
3.3.2 Adding a Delay to a Script .............................................................................................. 3-10
3.3.3 Adding a Log Message to a Script.................................................................................. 3-11
3.3.4 Adding a For Statement to a Script ................................................................................ 3-11
3.3.5 Adding a Function to a Script ......................................................................................... 3-11
3.3.6 Adding Script Assets........................................................................................................ 3-14
3.3.7 Adding a Script to Run from a Script ............................................................................ 3-16
3.3.8 Adding a Set Variable to a Script ................................................................................... 3-16
3.3.9 Adding Comments to Script Results.............................................................................. 3-17
3.3.10 Adding Error Recovery to a Script................................................................................. 3-17
3.3.10.1 Script Types ................................................................................................................ 3-18
3.3.10.2 Constants .................................................................................................................... 3-18
3.3.10.3 Actions......................................................................................................................... 3-19
3.3.11 Verifying Script Actions................................................................................................... 3-19
3.3.11.1 Adding an Error Recovery Action .......................................................................... 3-19
3.3.11.2 Adding a Has Error Control Statement.................................................................. 3-20
3.3.11.3 Adding a Result Object Message............................................................................. 3-20
3.3.11.4 Actions That Can Be Verified .................................................................................. 3-21
3.3.12 Chaining Multiple Scripts................................................................................................ 3-21
3.3.12.1 Setting the Browser Preferences .............................................................................. 3-21
3.3.12.2 Recording Scripts....................................................................................................... 3-22
3.3.12.3 Creating a Shell Script............................................................................................... 3-22
3.3.13 Moving Nodes in a Script ................................................................................................ 3-23
3.4 Changing Text File Encoding ................................................................................................. 3-23
3.5 Debugging Scripts.................................................................................................................... 3-23
3.5.1 Adding Views to the Tester Perspective ....................................................................... 3-24
3.5.2 Adding Breakpoints to a Script ...................................................................................... 3-24
3.5.3 Adding a Java Exception Breakpoint............................................................................. 3-26
3.5.4 Pausing and Resuming Script Playback in Debug Mode ........................................... 3-26
3.5.5 Inspecting and Changing Script Variable Values ........................................................ 3-27
3.6 Enabling Debug Logging ........................................................................................................ 3-28
4 Using Databanks
4.1 Understanding Data Driven Testing (Parameterization)...................................................... 4-1
4.2 Using Script Databanks.............................................................................................................. 4-2
4.3 Configuring Databanks.............................................................................................................. 4-2
4.4 Getting Databank Records......................................................................................................... 4-3
vi
5 Using the Web Functional Test Module
5.1 About the Web Functional Test Module ................................................................................. 5-1
5.1.1 Key Features of the Web Functional Test Module.......................................................... 5-2
5.2 Recording Web Functional Tests .............................................................................................. 5-2
5.2.1 Setting Web Functional Test Record Preferences............................................................ 5-2
5.2.2 Adding/Editing Object Identifiers.................................................................................... 5-3
5.2.2.1 Available Attributes for Web DOM Elements.......................................................... 5-6
5.2.3 Recording Web Functional Test Scripts............................................................................ 5-6
5.3 Playing Back Scripts ................................................................................................................... 5-7
5.3.1 Setting Web Functional Test Playback Preferences ........................................................ 5-7
5.3.2 Playing Back Web Functional Scripts ............................................................................... 5-8
5.3.3 Playing Back Web Functional Scripts with Iterations .................................................... 5-8
5.4 Modifying Scripts........................................................................................................................ 5-8
5.4.1 Adding Browser Navigation to a Script ........................................................................... 5-8
5.4.2 Adding Web Actions on Browser Objects........................................................................ 5-9
5.4.3 Adding Object Libraries to a Script................................................................................ 5-10
5.4.4 Adding a Server Response Test ...................................................................................... 5-11
5.4.5 Adding Text Matching Tests to a Script ........................................................................ 5-12
5.4.6 Adding Object Tests ......................................................................................................... 5-13
5.4.7 Adding Table Tests........................................................................................................... 5-15
5.4.8 Adding a Wait for Page ................................................................................................... 5-16
5.4.9 Inspecting Object Paths.................................................................................................... 5-17
5.4.10 Setting Script Properties .................................................................................................. 5-18
5.4.11 Substituting Databank Variables.................................................................................... 5-18
5.5 Editing Object Libraries .......................................................................................................... 5-18
5.5.1 Using the Web Functional Test Module API ................................................................ 5-19
vii
6.4 Playing Back Scripts ................................................................................................................ 6-13
6.4.1 Setting HTTP Playback Preferences ............................................................................... 6-13
6.4.2 Playing Back HTTP Scripts.............................................................................................. 6-16
6.4.3 Playing Back HTTP Scripts With Iterations .................................................................. 6-16
6.4.4 Viewing Script Playback Results .................................................................................... 6-16
6.4.5 Resetting Encoding........................................................................................................... 6-17
6.4.6 Comparing Recorded/Playback Results....................................................................... 6-17
6.4.7 Playing Back HTTP Scripts In Oracle Load Testing .................................................... 6-17
6.4.8 Posting Binary or XML File Data.................................................................................... 6-18
6.5 Modifying Scripts..................................................................................................................... 6-19
6.5.1 Understanding the HTTP Module Script View............................................................ 6-19
6.5.2 Using Script Variables...................................................................................................... 6-20
6.5.3 Adding a Variable to a Script.......................................................................................... 6-22
6.5.4 Adding a Solve XPath to a Script ................................................................................... 6-22
6.5.5 Finding a Variable in a Script.......................................................................................... 6-23
6.5.6 Deleting Variables from a Script..................................................................................... 6-23
6.5.7 Adding Authentication to a Script ................................................................................. 6-23
6.5.8 Adding Text Matching Tests to a Script ........................................................................ 6-24
6.5.9 Adding Server Response Tests to a Script..................................................................... 6-25
6.5.10 Substituting Databank Variables.................................................................................... 6-25
6.5.11 Substituting Post Data Variables .................................................................................... 6-26
6.5.12 Adding a Cookie to a Script ............................................................................................ 6-27
6.5.13 Removing a Cookie From Script..................................................................................... 6-27
6.5.14 Adding a User Agent to a Script..................................................................................... 6-27
6.6 Adding Navigation.................................................................................................................. 6-28
6.6.1 Understanding Navigation Editing (Correlation) ....................................................... 6-28
6.6.2 Adding HTTP Get Navigation........................................................................................ 6-30
6.6.3 Adding HTTP Post Navigation ...................................................................................... 6-30
6.6.4 Adding an HTTP Multipart Post Navigation ............................................................... 6-31
6.6.5 Adding an HTTP XML Post Navigation ....................................................................... 6-32
6.6.6 Using the HTTP Module API ......................................................................................... 6-33
viii
8 Using the Oracle EBS/Forms Load Test Module
8.1 About the Oracle EBS/Forms Load Test Module .................................................................. 8-1
8.1.1 Key Features of the Oracle EBS/Forms Load Test Module........................................... 8-1
8.1.2 Prerequisites ......................................................................................................................... 8-2
8.2 Recording Oracle EBS/Forms Load Tests............................................................................... 8-2
8.2.1 Setting Oracle EBS/Forms Load Test Record Preferences ............................................ 8-3
8.2.2 Recording Oracle EBS/Forms Load Test Scripts ............................................................ 8-3
8.3 Playing Back Scripts ................................................................................................................... 8-4
8.3.1 Setting Oracle EBS/Forms Load Test Playback Preferences ......................................... 8-4
8.3.2 Playing Back Oracle EBS/Forms Load Scripts ................................................................ 8-5
8.3.3 Playing Back Oracle EBS/Forms Load Scripts with Iterations ..................................... 8-5
8.4 Modifying Scripts........................................................................................................................ 8-5
8.4.1 Adding Forms Actions........................................................................................................ 8-5
8.4.2 Converting Forms Actions to XML Messages ................................................................. 8-6
8.4.3 Using the Oracle EBS/Forms Load Test Module API.................................................... 8-7
8.5 Setting Oracle EBS/Forms Load Test Correlation Preferences............................................ 8-8
8.6 Oracle EBS/Forms Load Test Correlation Library ................................................................ 8-8
8.7 Troubleshooting Oracle EBS/Forms Load Test Scripts ..................................................... 8-11
8.7.1 Debugging Using the Message Log ............................................................................... 8-11
8.7.1.1 During Recording ...................................................................................................... 8-11
8.7.1.2 Format of the Recorded Log .................................................................................... 8-11
8.7.1.3 During Playback ........................................................................................................ 8-11
8.7.1.4 After Playback............................................................................................................ 8-12
8.7.2 Analyzing Message Logs ................................................................................................. 8-12
8.7.3 Resolving "Component does not exist" Errors ............................................................. 8-12
8.7.4 Troubleshooting Forms ifError Messages ..................................................................... 8-13
ix
10.2 Recording Oracle Fusion/ADF Load Tests.......................................................................... 10-2
10.2.1 Recording Oracle Fusion/ADF Load Test Scripts ....................................................... 10-2
10.3 Playing Back Scripts ................................................................................................................ 10-3
10.3.1 Playing Back Oracle Fusion/ADF Load Scripts........................................................... 10-3
10.3.2 Playing Back Oracle Fusion/ADF Load Scripts with Iterations................................ 10-3
10.4 Setting Oracle Fusion/ADF Load Test Correlation Preferences....................................... 10-3
10.5 Oracle Fusion/ADF Load Test Correlation Library ........................................................... 10-4
10.6 Oracle Fusion/ADF Load Test Module API........................................................................ 10-5
x
13 Using the Siebel Load Test Module
13.1 Load Testing Siebel Applications .......................................................................................... 13-1
13.1.1 Prerequisites ...................................................................................................................... 13-1
13.1.2 Setting Up Siebel Load Test Environments .................................................................. 13-2
13.1.2.1 Basic Configuration ................................................................................................... 13-2
13.1.2.2 Floating Load Balancing Test Server ...................................................................... 13-2
13.1.2.3 Clustered Web Server Configuration ..................................................................... 13-2
13.1.2.4 Clustered Siebel Servers Configuration ................................................................. 13-2
13.1.2.5 Clustered Database Server Configuration ............................................................. 13-2
13.1.3 Siebel Correlation Library ............................................................................................... 13-3
13.1.4 Script Creation Techniques ............................................................................................. 13-3
13.1.5 Recording Scripts for Load Tests.................................................................................... 13-3
13.1.6 Starting the Siebel Application ....................................................................................... 13-3
13.1.7 Playing Back Scripts ......................................................................................................... 13-4
13.1.8 Resolving Script Issues..................................................................................................... 13-4
13.1.8.1 Siebel Entities to Parameterize ................................................................................ 13-5
13.1.9 Using Databanks with Siebel .......................................................................................... 13-5
13.1.10 Preparing the Siebel Server Manager Commands ....................................................... 13-6
13.1.10.1 Creating the Batch File.............................................................................................. 13-7
13.1.10.2 Creating the Command Input File .......................................................................... 13-7
13.1.10.3 Siebel Statistics ........................................................................................................... 13-8
13.1.10.4 Batch File Location .................................................................................................. 13-10
13.1.11 Defining ServerStats Metrics......................................................................................... 13-10
13.1.12 Defining a ServerStats Configuration .......................................................................... 13-11
13.1.13 Importing Pre-Configured Metrics and Profiles to Oracle Load Testing............... 13-12
13.1.14 Running Load Tests in the Oracle Load Testing Console......................................... 13-12
13.1.14.1 Viewing VU Grid..................................................................................................... 13-13
13.1.14.2 Viewing ServerStats ................................................................................................ 13-13
13.1.15 Generating Graphs and Reports Using Oracle Load Testing................................... 13-13
13.1.15.1 Creating Custom Runtime Graphs ....................................................................... 13-13
13.1.15.2 Creating Custom Reports ....................................................................................... 13-13
13.2 Setting Siebel Correlation Preferences ................................................................................ 13-14
13.3 Siebel Correlation Library..................................................................................................... 13-14
13.4 Siebel Script Functions .......................................................................................................... 13-15
xi
15 Using the Shared Data Module
15.1 About the Shared Data Module ............................................................................................. 15-1
15.1.1 Key Features of the Shared Data Module ..................................................................... 15-1
15.2 Setting Shared Data Preferences ............................................................................................ 15-2
15.3 Using the Shared Data Service ............................................................................................... 15-2
15.3.1 Enabling the Shared Data Service .................................................................................. 15-2
15.3.2 Setting the Password Encryption ................................................................................... 15-3
15.3.3 Setting the Connection Parameters ................................................................................ 15-3
15.3.4 Using The Shared Data API ............................................................................................ 15-4
xii
B.2.1 Browser Exceptions ............................................................................................................ B-5
B.2.2 SSL Exceptions .................................................................................................................... B-5
B.2.3 TCP Exceptions ................................................................................................................... B-5
B.2.4 HTTP Exceptions ................................................................................................................ B-7
B.3 HTTP Error Messages................................................................................................................ B-7
B.3.1 HTTP Service Exceptions................................................................................................... B-7
B.4 Oracle Forms Load Test Error Messages ................................................................................ B-8
B.4.1 Connect Errors..................................................................................................................... B-8
B.4.2 I/O Errors .......................................................................................................................... B-10
B.4.3 Match Errors ...................................................................................................................... B-11
B.4.4 Component Not Found Errors........................................................................................ B-12
B.4.5 Playback Errors ................................................................................................................. B-12
B.5 Shared Data Error Messages .................................................................................................. B-13
B.5.1 Shared Data Exceptions ................................................................................................... B-13
B.6 Siebel Error Messages.............................................................................................................. B-14
B.6.1 Siebel Exceptions............................................................................................................... B-14
B.7 Web Error Messages ................................................................................................................ B-14
B.7.1 Web Service Exceptions ................................................................................................... B-14
C Troubleshooting
C.1 Installation .................................................................................................................................. C-1
C.2 OpenScript Script Execution in Oracle Test Manager .......................................................... C-1
C.3 Manual Installation of Firefox Extension ............................................................................... C-2
D Third-Party Licenses
Index
xiii
xiv
Preface
Audience
This document is intended for test engineers who will be developing Oracle
OpenScript scripts for regression and performance (load and scalability) testing of a
Web site or application. The guide does require an understanding of software or Web
application testing concepts. Test engineers using Oracle OpenScript should be
familiar with the concepts of regression testing, load testing, and scalability testing.
The record/playback paradigm of Oracle OpenScript does not require any
programming experience to develop scripts for testing. However, the advanced
programming features available in Oracle OpenScript do require experience with the
Java programming language. The programming sections and code examples of this
manual assume that you understand programming concepts in Java.
xv
Chapter 7, "Using the Oracle EBS/Forms Functional Test Module" provides
instructions on configuring and using the OpenScript Oracle Forms Functional Test
Module for functional testing of Oracle Forms web applications.
Chapter 8, "Using the Oracle EBS/Forms Load Test Module" provides instructions on
configuring and using the OpenScript Oracle Forms Load Test Module for load testing
of Oracle Forms web applications.
Chapter 9, "Using the Oracle Fusion/ADF Functional Test Module" provides
instructions on configuring and using the OpenScript Oracle Fusion/ADF Functional
Test Module, which provides support for functional testing of Oracle Application
Development Framework (ADF)-based applications.
Chapter 10, "Using the Oracle Fusion/ADF Load Test Module" provides instructions
on configuring and using the OpenScript Oracle Fusion/ADF Load Test Module,
which provides support for load testing of Oracle Application Development
Framework (ADF)-based applications.
Chapter 11, "Using the Web Services Module" provides instructions on using the
OpenScript Web Services Module for testing Web Services.
Chapter 12, "Using the Siebel Functional Test Module" provides instructions on
configuring and using the OpenScript Siebel Functional Test Module for testing Siebel
applications through the Document Object Model (DOM) of the Web browser and the
Siebel test automation framework.
Chapter 13, "Using the Siebel Load Test Module" provides instructions on configuring
and using the OpenScript Siebel Load Test Module for load testing Siebel web
applications through the underlying HTTP protocol traffic.
Chapter 14, "Using the Utilities Module" provides instructions on using the
OpenScript Utilities Module, which provides commonly used testing functions.
Chapter 15, "Using the Shared Data Module" provides instructions for using the
Shared Data Module for transferring data using message queues and hash maps.
Appendix A, "Command Line Reference" provides reference information for command
line settings.
Appendix B, "Error Message Reference" provides reference information for error
messages.
Appendix C, "Troubleshooting" provides basic troubleshooting information.
Appendix D, "Third-Party Licenses" contains copyright information about certain
third-party products used with Oracle Application Testing Suite.
Documentation Accessibility
Our goal is to make Oracle products, services, and supporting documentation
accessible to all users, including users that are disabled. To that end, our
documentation includes features that make information available to users of assistive
technology. This documentation is available in HTML format, and contains markup to
facilitate access by the disabled community. Accessibility standards will continue to
evolve over time, and Oracle is actively engaged with other market-leading
technology vendors to address technical obstacles so that our documentation can be
accessible to all of our customers. For more information, visit the Oracle Accessibility
Program Web site at http://www.oracle.com/accessibility/.
xvi
Accessibility of Code Examples in Documentation
Screen readers may not always correctly read the code examples in this document. The
conventions for writing code require that closing braces should appear on an
otherwise empty line; however, some screen readers may not always read a line of text
that consists solely of a bracket or brace.
Related Documents
For more information, see the following documents in the Oracle Application Testing
Suite documentation set:
■ Oracle Application Testing Suite Release Notes
■ Oracle Application Testing Suite Getting Started Guide
■ Oracle Application Testing Suite OpenScript User’s Guide
■ Oracle Functional Testing Functional Testing User’s Guide
■ Oracle Functional Testing Job Scheduler User’s Guide
■ Oracle Functional Testing Navigation Editor User’s Guide
■ Oracle Functional Testing Application Programming Interface Reference
■ Oracle Functional Testing Result Objects Reference
■ Oracle Functional Testing Settings Manager Reference
■ Oracle Load Testing Load Testing User’s Guide
■ Oracle Load Testing Load Testing ServerStats Guide
■ Oracle Test Manager Test Manager User’s Guide
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
xvii
xviii
1
1 Getting Started With OpenScript
windows can actually be open at the same time. Within each script window, the
Tree View is broken down into 3 main script sections:
■ Initialize: For script commands that only execute once on the first iteration
■ Run: Main body of the script for commands that will run on every iteration
■ Finish: For script commands that only execute once on the last iteration
Within each section, script Steps and Navigation nodes can be created
automatically during script recording or manually through the Tree View user
interface. Additional script commands will also be represented as nodes in Tree
View including test cases, data inputs, log messages, etc. Each Tree View node has
a corresponding representation in the Java Code View.
■ Programming/Code View Scripting Interface - The OpenScript Java Code View
scripting interface provides a Java representation of the test script. This view
provides full access to Eclipse IDE for creating, editing & debugging script code.
Script commands in Java are mapped to a corresponding representation in the Tree
View. Users can edit their script in either the code or tree view and changes will be
automatically reflected in both views.
■ Properties View & Results View - The OpenScript Properties View allows users to
view detailed properties for selected script nodes in the Tree View. The Results
View shows detailed step-by-step results of script playback which are linked to the
OpenScript display window.
■ Databanking - OpenScript allows users to parameterize script data inputs to
perform data driven testing using Databanking. Users can select any data inputs
for their script and then substitute a variable to drive the input from an external
file during playback. Multiple Databank files can be attached to a single script and
users can specify how OpenScript assigns data during script playback.
■ Correlation - The OpenScript Correlation interface allows users to create
correlation libraries to automatically parameterize dynamic requests during
playback. Correlation libraries contain rules for automatically handling dynamic
request parameters such as urls, query strings and post data for the load testing
modules.
■ OpenScript Preferences - The OpenScript Preferences interface is where users
specify settings to control script recording, script playback, correlation and general
preferences for the OpenScript Workbench.
■ Multi-User Execution - launch more than one OpenScript instance under separate
named Windows user accounts. Playback for multiple scripts is supported using
any of the following:
– OpenScript Playback button
– Command-Line Interface
– Oracle Load Testing
– Oracle Test Manager
1. Download the product Zip file from the Web site and save it to a temporary
directory on your hard disk.
2. Unzip the file and run the openscript###.exe to install OpenScript.
3. Follow the installation prompts to do the following:
■ Accept the license agreement.
■ Specify the installation directory.
4. Click Finish when done.
The following Error log view is also available but does not open by default:
■ Error Log View: Shows the error log information for the project and script.
The views are described in more detail in the following sections.
1.4.3.1 File
■ New - opens the New Project wizard. You can select the type of project including
OpenScript scripts, jobs and modules
■ Open Script - opens a window for selecting the OpenScript Repository,
workspace, and script to open.
■ Open Object Library - opens a dialog box for selecting the object library file to
open. This option only appears for functional test scripts.
1.4.3.2 Edit
■ Undo - undoes the last action.
■ Redo - redoes the last action.
■ Cut - cuts the selected text/data to the clipboard.
■ Copy - copies the selected text/data to the clipboard.
■ Paste - pasted text/data on the clipboard to cursor location.
■ Delete - deletes the selected text/data.
■ Select All - selects all text/data in the currently active editor.
■ Find/Replace - opens a dialog box for setting the text search and replace options.
The menu option is available when an editor is open.
■ Search - opens a dialog box for specifying the search criteria.
The following options are also available when the Java Code editor is open in the
Script view.
■ Expand Selection To - opens a sub menu for selecting which element to use to
expand the selection.
■ Find Next - finds the next instance of the Find text specified in the Find/Replace
settings.
■ Find Previous - finds the previous instance of the Find text specified in the
Find/Replace settings.
■ Incremental Find Next - finds the next instance of the Find text specified in the
Find/Replace settings.
■ Incremental Find Previous - finds the previous instance of the Find text specified
in the Find/Replace settings.
■ Add Bookmark - opens a dialog box for specifying the bookmark name.
■ Add Task - opens a dialog box for defining a task to perform on a resource.
■ Smart Insert Mode - when selected, code typing aids such as automatic
indentation and closing of brackets are enabled in the code view.
■ Show Tooltip Description - opens a description for the current selection in the
Code View.
■ Content Assist - opens a context assist menu to bring up Java code assist
proposals and templates. See the Templates preference page for available
templates (Window > Preferences > Java > Editor > Templates) and go to the
Editor preference page (Window > Preferences > Java > Editor > Code Assist) for
configuring the behavior of code assist.
■ Word Completion - completes typing of a partial word.
■ Quick Fix - If the cursor is located at a location with problem indication this opens
a context assist dialog at the current cursor to present possible corrections.
■ Set Encoding - opens a dialog box for setting the type of text file encoding.
1.4.3.3 Search
■ Search - opens a dialog box for specifying the search criteria.
■ File - opens a dialog box for specifying the file search criteria.
■ Text - opens a sub menu for selecting the text search location.
1.4.3.4 Script
■ Add - opens a sub menu for adding options to the script tree.
■ Record - starts the selected OpenScript script recorder.
■ Playback - plays back the currently open OpenScript
■ Iterate - plays back the script repeatedly, with or without a Databank.
■ Pause/Resume - pauses and resumes script playback. These options are only
active during script playback.
■ Stop - stops the OpenScript script recorder.
■ Step - runs the currently selected node and moves the execution point to the next
sibling node. If the selected node has a child node, the execution pointer is moved
to the first child node. This option is only active during script playback and script
execution is suspended while stepping through the script code.
■ Step Into - steps into the function or sub procedure. This option is only active
during script playback and script execution is suspended while stepping through
the script code. The execution pointer is moved into the beginning of the function.
■ Configure Recorders - opens a window for pausing and restarting the current
script recorder. This option is only available while in Record mode.
■ Switch Record Section - opens a submenu for selecting the section of the script
where script recording will begin. The selected section will be highlight in bold in
the script tree. The Run section is the default. The submenu has the following
options:
– Initialize - starts script recording in the Initialize section of the script.
– Run - starts script recording in the Run section of the script.
– Finish - starts script recording in the Finish section of the script.
■ Revert all Navigations to Recorded - reverts changes back to the recorded version
of the script.
■ Create/Update Step Groups - creates step groups in the script based on page
navigations.
■ Correlate Script - opens a dialog box for selecting a defined correlation library to
manually apply to the script. Correlation libraries are used to convert dynamic
data in page navigations to variable values for script playback. Use the Correlation
options in the in the OpenScript Preferences to define the correlation libraries and
rules.
■ Script Properties - opens a window for setting script-related properties such as
correlation, databanks, modules, object libraries, and step groups. Script properties
will vary depending upon the script type.
The Script menu includes additional options for functional test scripts:
■ Inspect Path - starts the object capture mode and opens a browser for selecting the
object path to capture. The object path is used by functional test scripts for object
identification.
■ Add Object Test - opens a dialog box for defining an object test for a functional
test script.
■ Add Table Test - opens a dialog box for defining a table test for a functional test
script.
■ Add Text Matching Test - opens a dialog box for defining a Text Matching test for
a functional test script.
■ Add Capture Page - opens a dialog box for specifying a page to capture for a
functional test script. The Capture Page option captures a screenshot and the page
HTML.
1.4.3.5 View
■ Tester Perspective - changes the Workbench to the Tester Perspective.
■ Developer Perspective - changes the Workbench to the Developer Perspective.
■ Reset Perspective - resets the current perspective to the default settings.
■ Error Log - toggles the Error Log View. When selected, the Error Logs view is
displayed. When cleared, the Error Log View is hidden.
■ Properties - toggles the Properties View. When selected, the Properties view is
displayed. When cleared, the Properties View is hidden.
■ Problems - toggles the Problems View. When selected, the Problems view is
displayed. When cleared, the Problems View is hidden.
■ Details - toggles the Details View. When selected, the Details view is displayed.
When cleared, the Details View is hidden.
■ Console - toggles the Console View. When selected, the Console view is displayed.
When cleared, the Console View is hidden.
■ Results - toggles the Results View. When selected, the Results view is displayed.
When cleared, the Results View is hidden.
■ Script Variables - toggles the Script Variables View. When selected, the Script
Variables view is displayed. When cleared, the Script Variables view is hidden.
■ OpenScript Preferences - opens the OpenScript Preferences dialog box for
specifying default settings and options.
1.4.3.6 Run
■ Resume - resumes suspended code execution or script playback.
■ Suspend - suspends the current code execution or script playback.
■ Terminate - ends the current code execution or script playback.
■ Step Into - single steps code execution into the highlighted statement or method.
The Step options are active in debug mode.
■ Step Over - single steps code execution over the current statement or method to
the next statement or method.
■ Step Return - steps code execution out of the current method and stops after
exiting the current method.
■ Run to Line - resumes execution until the specified line is executed. Used When a
thread is suspended.
■ Use Step Filters - toggles step filters on and off. When set to on, all step functions
apply step filters.
■ External Tools - opens a sub menu for selecting the external tools option.
The following options are also available in the Developer Perspective:
■ Run - runs the last launched code or script playback.
■ Debug - opens the debug configuration options for the last launched code or
script playback. You can customize the debug configuration before launching the
code or script playback for debugging.
■ Run History - opens a sub menu listing run configurations. Selecting a run
configuration shows the run history in the debug view.
■ Run As - opens a sub menu listing available external run tools. External tools need
to be configured to appear on the sub menu by selecting External Tools from the
Run menu.
■ Run Configurations - opens the run configuration options for the last launched
code or script playback. You can customize the run configuration before launching
the code or script playback.
■ Debug History - opens a sub menu listing debug configurations. Selecting a
debug configuration shows the run history in the debug view.
■ Debug As - opens a sub menu listing available external run tools. External tools
need to be configured to appear on the sub menu by selecting External Tools from
the Run menu.
■ Debug Configurations - opens the debug configuration options for the last
launched code or script playback. You can customize the debug configuration
before launching the code or script playback.
1.4.3.7 Tools
■ Manage Scripts - opens a window for managing OpenScript scripts.
■ Manage Workspaces - opens a window for managing OpenScript Workspaces.
■ Manage Repositories - opens a window for managing OpenScript Repositories.
■ Merge Object Libraries - opens a dialog box for specifying two Object Library
files to merge and the resulting output file.
■ Generate XPaths - opens a dialog box for generating an XPath from an XML file.
■ Import Oracle Real User Experience Insight (REUI) Session Log - opens a dialog
box for selecting a REUI captured user session .tab log file and specifying the
script creation options. The imported REUI session log files record to HTTP-based
OpenScript scripts.
■ Migrate Scripts - opens the Script Migration Manager for migrating pre-version
9.10 scripts to the current version. The Script Migration Manager provides options
for migrating top-level scripts and locating all dependent child scripts.
1.4.3.8 Help
■ Welcome opens the welcome page with links to the Workbench product
documentation.
■ OpenScript Diagnosis Tool - opens the Diagnosis Wizard for verifying the
connection status of the OpenScript Internet Explorer Browser Helper Object
(BHO), Firefox extensions, and Forms Internet Explorer helper object.
■ Help Contents - opens the help table of contents.
■ Search - opens the help search view.
■ Dynamic Help - opens the available help topics for the currently active view and
perspective.
■ Key Assist - opens the list of keyboard shortcuts.
■ Tips and Tricks - opens the help tip and tricks window.
■ Cheat Sheets - opens the Cheat Sheets view.
■ About OpenScript - provides version and copyright information and
configuration details.
1.4.3.9 Navigate
The Navigate menu appears when the Developer perspective is open.
■ Go Into - refocuses the active view so that the current selection is at the root. This
allows web browser style navigation within hierarchies of artifacts.
■ Go To - opens a sub menu with options for selecting the location to which to
navigate. The sub menu options change depending upon the current view.
■ Open Type - opens a dialog box for selecting the type library to open in an editor
view.
■ Open Type in Hierarchy - opens a dialog box for selecting the type library to open
in a hierarchy view.
■ Open Resource - opens a dialog box for selecting the resource file to open in an
editor view.
■ Show In - opens a sub menu for selecting where to show the statement or method
selected in the code view: Package Explorer, Navigator, or Outline view.
■ Next - moves the selection to the next annotation in the Code View.
■ Previous - moves the selection to the next annotation in the Code View.
■ Last Edit Location - moves the selection to the location of the last edit made in the
Code View.
■ Back - moves the selection back through the list of locations previously selected in
the Code view.
■ Forward - moves the selection forward through the list of locations previously
selected in the Code view.
Additional menu options may appear depending upon the current Java Code editor
selection.
1.4.3.10 Project
The Project menu appears when the Developer perspective is open.
■ Open Project - opens the project selected in the Navigator View.
■ Close Project - closes the project selected in the Navigator View.
■ Build All - builds all projects. This option is only available if the Build
Automatically option is not selected.
■ Build Project - builds the current project. This option is only available if the Build
Automatically option is not selected.
■ Build Working Set - opens a sub menu for selecting or creating a working set of
projects. Working set projects are only available if the Build Automatically option
is not selected.
■ Clean - opens a dialog box for selecting the project to clean of build problems.
■ Build Automatically - toggles the automatic build option on and off.
■ Generate Javadoc - opens the Generate Javadoc window.
■ Properties - opens the properties window for the current project.
1.4.3.11 Window
■ New Window opens a new OpenScript window.
■ New Editor opens a new editor view of the current file.
■ Open Perspective opens a sub menu for selecting the perspective to open.
■ Show View opens a sub menu for selecting the view to show.
■ Customize Perspective opens a window for selecting the shortcuts and commands
to customize.
■ Save Perspective As opens a dialog box for specifying a name for the saved
perspective.
■ Reset Perspective resets the current perspective to the default settings.
■ Close Perspective closes the currently open perspective.
■ Finish - specifies script actions to perform once at the end of script playback.
Use the Record options and right-click shortcut menu to add options to script nodes or
modify the properties of script nodes in the Tree View.
■ Resource - shows the name of the resource file where the error, warning, or
information message was generated.
■ Path - shows the script name, workspace, and repository path where the resource
file is located.
■ Location - shows the location/line number where the error, warning, or
information message was generated.
The following toolbar button is available in the Problems View:
■ Configure the filters to be applied to this view - opens a dialog box for configuring
the filters to apply to the Problems View.
Only load-test scripts can be played in the same desktop session. There no script type
limitations for playback in different desktop sessions.
You configure the port range to use for each user in the OpenScript General
Preferences. The ports within the configured port range are checked and if none are
available, an error message will appear.
Script assets can be used for testing projects that include multiple users executing a
suite of tests or any QA team that uses a complex structure of scripts and assets
developed and used by different people.
Script assets provide for the following:
■ Creating, editing and obtaining (discovering and assigning) assets independently
from scripts.
■ Assigning or removing assets from the script using the script properties GUI.
■ Viewing all assets associated with a script, and all dependent assets using the
script properties GUI.
■ Viewing and editing asset properties (alias, location, etc.) from the script
properties GUI.
■ Creating self-contained script .zip files that include all assets referenced by a script
and its assets. Self-contained .zip files can be used as a script export file for
Customer support or script execution on computers other than the computer
where script was created.
■ Importing self-contained script .zip files and running them without having to
manually resolve file locations of assets.
■ Running self-contained .zip files from the Command line or Oracle Load Testing
■ Notification of missing assets before a script run starts.
■ Storing scripts inside subfolders X levels deep in a workspace.
■ Loading object libraries and/or databanks into a script without concern about
modifying the behavior of a parent script because of conflicting object libraries
and/or databanks.
■ Understanding the order in which assets are loaded to know which object in
which library has precedence.
The OpenScript Preferences let you specify default values and settings to use for
OpenScript options. This chapter explains the available options in the OpenScript
Preferences categories. The OpenScript preferences are under the OpenScript node.
The available preferences may vary depending upon installed modules.
■ Delete: Deletes the selected correlation library from the Preferences list. The
defined rules for the library are also removed from the preferences. The correlation
library .XML file is not deleted from disk.
■ Up: Moves the correlation rule up in the priority list.
■ Down: Moves the correlation rule down in the priority list.
■ Import: Opens a dialog box for selecting the correlation library file to import.
■ Export: Opens a dialog box for selecting the location where you want to export the
selected correlation library .XML file.
■ Revert: Reverts the library to the default values.
Tab view: Shows the library or rule details for the selected correlation library or rule.
The tab view information changes depending upon whether a library or rule node is
selected and which type of correlation rule is selected. See the module chapters for
details about specific correlation libraries.
Obfuscate script data: When selected, passwords are obfuscated before storing and
displaying in the script. Obfuscated passwords are hidden but not securely encrypted.
Encrypt script data: When selected, passwords are encrypted in the script. Specify an
encryption password to use.
■ Password: Specifies the password to use when encrypting and decrypting data
strings using the encrypt() and decrypt() functions. Only users who use the
same encryption password in their copy of OpenScript will be able to decrypt
script passwords. This same encryption password must be used for authentication
on all agent machines that will run or open the script in Oracle Load Testing
Authentication Manager or Oracle Test Manager.
2.4.1.1 General
This section lets you specify general playback preferences and displays the following
fields:
VU Pacing (Think Time): Specifies the script playback delay between pages for each
virtual user. This is the amount of time the user looks at a page before making the next
request and is commonly referred to as "think time." There are four options:
■ Recorded: Uses the delay times that were recorded in the Script. You can set
minimum and maximum delay times (in seconds) that override the script delay
times in the Minimum and Maximum edit boxes.
■ Recorded/Random: Uses random delay times based upon the recorded user delay.
The low end of the random range as the actual recorded user delay minus the
Lower percentage setting. The high end of the random range as the actual
recorded user delay plus the Upper percentage setting. For example, if the actual
recorded delay time was 100 seconds and the Lower and Upper settings are 10%
and 25% respectively, Oracle Load Testing uses random delay times between 90
and 125 seconds.
■ Random: Uses random times for Virtual User pacing. You can set minimum and
maximum delay times for random delay in the Minimum and Maximum edit
boxes.
■ No Delay: Plays back the Visual Scripts at the fastest possible speed with no time
between page requests.
Preserve variables between iterations: Used to preserve or automatically clear
variables defined in the Run section between successive iterations of the Run section.
Variables defined in the Initialize section will be preserved forever, unless explicitly
removed in script code.
Variables set in the Run section will always be preserved between the final iteration of
the Run section and the Finish section.
Variables include all items that are added into the script variables collection (see:
getVariables() script method). This includes variables for elements such as HTTP
form fields defined using http.solve(...) and http.solveXPath(...).
Additional Arguments: Used to specify custom OpenScript script.java code
arguments. You can create your own settings in OpenScript scripts. For example, you
can create custom settings in OpenScript script.java code, as follows.
if (getSettings().get("MyCustomSetting").equals("abc")) {
info("We're running in ABC mode.");
}
You can then set the additional arguments in the Additional Arguments field as
follows:
-MyCustomSetting abc
2.4.1.3 System
This section specifies the default playback system settings.
Maximum JVM Heap Size: Specifies the maximum size of the JVM heap. This value
cannot be more than 90% of the total memory size.
JVM Arguments: Used to specify additional Java Virtual Machine (JVM) or program
arguments to pass to a script upon playback. It can accept all standard JVM
arguments. For example, if you specify a custom argument -Dmyvariable=myvalue
in the Additional Arguments, the argument will be passed to the script upon playback.
Within the script code you can use System.getProperty("myvariable") to get
"myvalue".
If the specified argument conflicts with existing OpenScript playback setting, (for
example the "Maximum Heap Size" playback setting) the playback setting replaces the
setting being specified in the JVM Arguments.
Debug logging: When selected, debug logging is enabled and DEBUG messages
appear in the Console view during script playback. When cleared, debug logging is
disabled and DEBUG messages do not appear in the console view during script
playback.
In OpenScript scripts, error settings can be turned on and off at any time, overriding
the default Oracle Load testing and OpenScript Preferences using script Java code. For
example:
getSettings().setErrorRecovery("http.zeroLengthDownloads", "IGNORE");
// user code executed in script, such as http.get(), http.post(), ...
getSettings().setErrorRecovery("http.zeroLengthDownloads", "FAIL");
2.4.3.1 General
This section lets you specify the default General error recovery actions, as follows:
Variable Not Found - specifies the error recovery action if a variable cannot be found
when parsing transformed strings.
Create Variable Failed - specifies the error recovery action if a script fails to create a
variable.
File Not Found - specifies the error recovery action if a file is not found.
Segment Parser Failed - specifies the error recovery action if the XPath Segment
Parser cannot verify the correctness of an XPath.
Binary Decode Failed - specifies the error recovery action if a binary post data
parameter error occurs.
Encryption Service Not Initialized - specifies the error recovery action when the
password encryption service was not initialized.
Unexpected Script Error - specifies the error recovery action if any unexpected script
error occurs.
Child Script Failed - specifies the error recovery action if a child (a script called from
another script) script fails during playback.
Function Failed - specifies the error recovery action if a called function fails during
playback.
2.4.3.3 HTTP
This section lets you specify the default HTTP error recovery actions, as follows:
Zero Length Downloads - specifies the error recovery action if a server response
indicates zero bytes length.
Text Matching Failed - specifies the error recovery action if a text matching test fails.
Response Time Error - specifies the error recovery action if a Server Response Time
test fails.
Solve Variable Failed - specifies the error recovery action if a table test fails.
HTML Parsing Error - specifies the error recovery action if an HTML parsing error
occurs.
Invalid URL - specifies the error recovery action if the server returns an Invalid URL
response code.
Invalid HTTP Response Code - specifies the error recovery action if the sever returns
an invalid HTTP response code.
Client Certificate Keystore Error - specifies the error recovery action if the Client
Certificate Keystore indicates and error.
2.4.3.6 Utilities
This section lets you specify the default Utilities error recovery actions, as follows:
SQL Execute Error - specifies the error recovery action if an SQL execute error occurs.
XML Parsing Error - specifies the error recovery action if any XML parsing error
occurs.
CSV Loading Error - specifies the error recovery action if an error occurs while
loading a CSV file.
Playback Failed - specifies the error recovery action if script playback fails.
it is possible for multiple links on a page to match the XPath criteria. For example:
link A: text='Logout', href='logout.jsp', index=0
link B: text='Search', href='search.jsp', index=3
link C: text='Search', href='doNotSearch.jsp', index=15
link D: text='Find', href='search.jsp', index=22
When Smart Match is not enabled, OpenScript returns the first result found on the
page (Link A in the above example).
When Smart Match is enabled, OpenScript ranks all the results based on how well
they match the specified attributes in the XPath. OpenScript evaluates the XPath
from left-to-right and produce a list of attribute name=value pairs. For example:
Attribute 1: text=Search
Attribute 2: href=search.jsp
Attribute 3: index=0
OpenScript then builds a table and assigns a score to each attribute for each result.
OpenScript assigns a 0 or a 1 based on whether or not each result matches a
particular attribute name=value pair. The result with the highest numerical
ranking will be used during playback. For example:
Logical operators (AND, OR) in the XPath are ignored when Smart Match is
enabled during playback. In Smart Match mode, all attributes are matched as one
group in left-highest priority.
You can specify required attributes by using the Logical AND operator. All
attributes joined together using the Logical OR operator are optional. The AND
operator has a higher priority than the OR operator when both operators are used
in a single XPath. Parenthetical groups of attributes are also permitted. For
example:
/web:a[@text='Search' AND (@alt='Find' OR @title='Find')]
In this XPath, the text attribute is required, and the alt and title attributes are
ranked using the Smart Match ranking system.
You can turn on/off Smart Mode for an individual action(s) by using the
getSettings().set() API.
2.4.4.2 Browser
This section lets you specify the browser settings for functional tests.
Hide browser during playback: Specifies if the browser appears or is hidden during
script playback. However, the browser will be changed to be visible automatically
when focus is set to an element inside of that browser by a mouse click or key press
event.
Close browser after playback: Specifies if the browser automatically closes after
playback.
2.4.5.1 Proxy
This section lets you specify HTTP playback preferences and displays the following
fields:
Proxy Host: Specifies the host name of the proxy server.
Proxy Port: Specifies the port to use on the proxy server.
Username: Specify the user name to use for authentication.
Password: Specify the password to use for authentication.
2.4.5.2 Compression
This section lets you specify specifies the default HTTP compression playback settings.
Enable GZIP: When selected, the GZIP compression format is enabled.
Enable Deflate: When selected, deflate is enabled.
2.4.5.3 Headers
This section specifies the default HTTP header playback settings.
Browser Emulation: Specifies which browser to emulate for script playback. The
Default is the recorded browser.
Language: Specifies which language to use for script playback. The default is English.
HTTP Version: Specifies which HTTP version to use for script playback.
Accept String: Specifies the Accept string to use in the Request header for script
playback.
Global Headers: Specifies any custom "Global Headers: string to use in the Request
header for script playback. The format is in the form:
name1:value1;name2:value2;name3:value3. For example: x-oracle-slm-message-id:
bcn=<beacon_name>; svc=<service_name>.
2.4.5.4 Connections
This section specifies the default HTTP playback connections settings.
Enable Keep Alive: When selected, keep alive is enabled.
Max Number of Keep Alive Requests: Specifies the maximum number of requests to
make on a keep alive connection before closing it or select Unlimited for an unlimited
number.
Max HTTP Connections Per User: Specifies the maximum number of server
connections per process per server. Each VU makes multiple connections to request
additional resources for images and additional frames for example. Setting this option
specifies a limit on the total number of connections that the VUs can make to the
server. The default setting is 'Default', which means use the default connection limits
as configured on the agent machine. (See Microsoft KBase article Q183110 for more
information.)
2.4.5.5 SSL
This section specifies the default HTTP playback Secure Sockets Layer (SSL) settings.
SSL Version: Specifies the SSL version to use.
2.4.5.6 Other
This section specifies the default miscellaneous HTTP playback settings.
Do not request URLs ending in: Specifies the URLs that will not be requested when
the URL ends with one of the specified patterns or file types. Specify the ending
pattern or file type separated by commas.
Ignore URLs that Match Regex: Specifies the Regular Expression(s) string to use to
ignore specific resources. For example, the expression Login_Banner(.+?) would
Where xxxxxxxx is the size in KB to set as the Maximum Virtual User Display Size.
For example:
-MAX_VUDATA_BYTES 10000000
See Section 2.4.1, "General Playback Preferences" for additional information about
specifying Additional Arguments.
Socket Timeout: Specifies the maximum number of seconds to wait for a socket
connection before timing out.
The resource downloads will be included in the playback results in the Results view
and the HTML Results report. Each downloaded resource counts as a hit in the Hits
per Second and Total Hits reports. The size in kilobytes for each resource is included in
the Kilobytes per Second and Total Kilobytes reports.
The Download Manager section has the following options:
Use Download Manager: When selected, the Download Manager is enabled during
playback. When cleared, the Download Manager is not enabled during playback.
Ignored Resources (Use RegEx): Specifies the Regular Expression(s) string to use to
ignore specific resources. For example, the expression Login_Banner(.+?) would
not download resources such as Login_Banner1.gif and Login_Banner2.gif. Multiple
Regular Expressions can be separated using a comma (,).
CSS Resource: When selected, css resources in <Link> tags are downloaded during
playback. When cleared, css resources are not downloaded during playback.
Image Resource: When selected, image resources in <Img> tags, in the "background"
attribute of a tag, or in <style> tags with "background:url" patterns are downloaded
during playback. When cleared, image resources are not downloaded during
playback.
Embeded Object Resource: When selected, object resources in <Embed> tags or in
<Object> tags are downloaded during playback. When cleared, object resources are
not downloaded during playback.
Script Resource: When selected, script resources in <Script> tags are downloaded
during playback. When cleared, script resources are not downloaded during playback.
Applet Resources: When selected, applet resources in <Applet> tags are downloaded
during playback. When cleared, applet resources are not downloaded during
playback.
2.4.6.2 Miscellaneous
This section lets you specify screenshot capture preferences.
Capture screenshots: Specifies the amount of time to wait before capturing a
screenshot of the page.
2.4.7.1 Miscellaneous
This section lets you specify playback log preferences.
Capture Message Details: Specifies if forms message details are captured during
playback. When selected, OpenScript captures and stores Forms message requests,
responses, and information about all loaded Forms components during playback. This
information is useful to have when debugging the script.
OpenScript displays captured details in the "Messages" and "Object Details" tabs of the
Details view. Oracle Load Testing displays this information in the Virtual User Display
based on the "Virtual User Display" settings.
Capturing message details is a memory-intensive operation. During heavy load
testing, it is recommended to clear this setting to reduce the amount of heap space
required by the agent.
Show Message Log In the Console: Specifies if forms message log details are shown it
the Console tab. When selected, the message log details are shown in the console.
When cleared, the message log details are not shown in the console.
■ Enable global shared data access credentials: When selected, when selected, the
shard data access credentials are enabled. Specify the Address, User Name, and
Password.
■ Address: Specifies the address of the Oracle Load Testing for Web Application
server to use for the shared data service.
■ User name: Specifies the user name to use for authentication. The default name is
oats unless changed in the Oracle Application Testing Suite configuration.
■ Password: Specifies the password to use for authentication. This should be the
same password specified in the Encryption setting of the General preferences if the
Encrypt script data setting is selected.
Actions on Shared Data: Specifies actions on shared data.
■ Timeout: Specifies the maximum number of seconds to wait for actions on shared
data to occur before timing out.
2.4.9.2 Miscellaneous
This section lets you specify the default playback settings for Web functional test-type
scripts.
Capture HTML: When selected, the page HTML will be captured.
Capture screenshots: When selected, a screen image of the page will be captured.
Capture URLs: When selected, the page URL will be captured.
Capture frames: When selected, the HTML frames on the page will be captured.
Clear session cookies between iterations: When selected, session cookies are cleared
from cache between playback iterations.
Clear persistent cookies between iterations: When selected, persistent cookies are
cleared from cache between playback iterations.
Clear cache between iterations: When selected, pages are cleared from cache between
playback iterations.
Clear session cookies before playing back: When selected, session cookies are cleared
from cache before playback.
Clear persistent cookies before playing back: When selected, persistent cookies are
cleared from cache before playback.
Clear cache before playing back: When selected, pages are cleared from cache before
playback.
2.5.2.1 General
This tab lets you specify the general browser recorder settings.
Setup: Specifies the network settings for proxy recording.
■ Network Interface: Enter or select the network IP address of the proxy server.
■ Port: Specify the port to use on the proxy server.
■ Additional Arguments: Specify any additional command line arguments to use
when starting the proxy server.
■ Maximum Download Size (MB): Specify the file size for file downloads.
■ Only record requests originating from the local machine: When selected, only
requests originating from the local machine are recorded by the HTTP proxy
recorder.
Client-Side Digital Certificate File: Enter the name of a .PFX-formatted digital
certificate file or use the Browse button to select a file.
■ File: Specifies the name of the setup file. Enter the name or use the Browse to
select the file from a drive and directory location.
■ Choose above pfx file to store: Specifies the private-key password defined for the
client certificate PFX file when the certificate was exported from Internet Explorer.
Click Store and enter the private-key password for the client certificate.
SSL Version: Specifies the SSL version to use.
■ SSL Version: Select SSL version to use for the proxy server.
Close browser when stopping recorder: Specify the browser options that will be used
during HTTP recording.
■ Close browser: When selected, the browser closes automatically when recording is
stopped.
Always Launch a new browser when starting recorder: Specify the browser options
that will be used during HTTP recording.
■ Launch browser: When selected, the browser launches automatically when
recording is started.
Error Handling: Specify the error handling options that will be used during HTTP
recording.
■ Record navigations that return error code 404: When selected, the HTTP recorder
records navigations that return a Server Status Code 404: Not Found.
Match by: Shows the match setting(s) (Content Type or URL) specified for the defined
filters.
Add: Opens a dialog box for specifying a URL filter.
Edit: Opens a dialog box for editing the selected URL filter.
Delete: Deletes the selected URL filter.
Automatically filter download manager resources: When selected, the proxy recorder
automatically filters the URL resources based upon the settings specified in the
Download Manager section of the HTTP Playback preferences. When cleared, the
Download Manager settings are not used during recording.
2.5.3.1 General
This tab lets you specify the general browser recorder settings.
Miscellaneous: Specifies if screenshots are captured.
■ Capture screenshots: When selected, screenshots are captured during recording.
2.5.5.1 General
This tab lets you specify the Siebel general preferences.
SI Elements Paths: Specifies if the Siebel script recorder uses Siebel specific object
identifier paths for the webdom elements that are marked in the Siebel application as
Standard Interactivity (SI) controls instead of normally recorded attributes such as text,
href, and index.
■ Use special paths for SI elements: When selected, the Siebel script recorder
records only the Siebel tag attributes when normal html elements (A, TD, INPUT,
DIV, etc.) are used as SI controls in a Siebel application.
■ Path: Specifies the object identifier path to use for Siebel SI controls. The Siebel
attributes are RN (repository name), OT (object type) and UN (unique name).
■ Edit: Opens a dialog box for editing the object identifier path.
Sitemap Links: Specifies if the Siebel script recorder uses Siebel site map page specific
object identifier paths when recording actions on links within the Siebel site map page
instead of normally recorded object identifier paths that use the standard path. The
standard path includes a particular document index or frame name, which may
change dynamically on playback of the script.
■ Use global paths for Sitemap link: When selected, the Siebel script recorder
records only a site map page specific path for the object identifier path.
■ Path: Specifies the object identifier path to use for Siebel site map page links. The
Siebel attributes are RN (repository name), OT (object type) and UN (unique
name).
■ Edit: Opens a dialog box for editing the object identifier path.
Miscellaneous: Specifies the miscellaneous Siebel record preferences.
■ Record "waitForPage actions: When selected, the script recorder generates "wait
for page" actions for test steps that generate a page transition in the browser. When
cleared, the script recorder generates a "capture page" action for test steps in Siebel
applications. Some Siebel actions may not generate the page transition needed to
reliably play back "wait for page" actions. Clearing this setting for Siebel
Functional test scripts allows scripts to record the "capture page" action instead of
the "wait for page" action for more accurate script playback.
2.5.6.1 General
This tab lets you specify the general Web Functional test recorder settings.
Browser: Specify the browser options that will be used during Web Functional test
recording.
■ Always launch a new browser when recording a different script: When selected,
a new instance of the Internet Explorer browser is launched for each new script
recording. When cleared, a new browser is launched only for the first script
recording of the OpenScript session. The general case is to launch a new browser
instance for each specific script. However, when chaining scripts using a shell
script where each script needs to use the same instance of the browser, clearing
this setting will cause subsequent scripts recordings to use the same browser
instance as the first recording.
Miscellaneous: Specifies the miscellaneous record settings.
■ Capture screenshots: When selected, screen images are captured during
recording.
■ Capture HTML: When selected, page source HTML is captured during recording.
■ Capture URLs: When selected, the page URL will be captured.
■ Capture Frames: When selected, the HTML frames on the page will be captured.
■ Ignore Auto Page: When selected, server-side auto pages are ignored during
recording.
■ Action Cache Interval(s): Specifies how often to cache page actions during
recording. The following cases are determined by this setting:
If while recording, the text on the same Web page element is changed within the
Action Cache Interval time setting, the previously recorded value will be replaced
by the changed value. In the Java code, the setText action will be replaced with
the changed value.
If while recording, a browser window closes within the Action Cache Interval after
a user performs an action on a web page (for example, a button click) the window
close event will not be recorded, as the window close event is considered to be
caused by the previously performed action.
■ Record "waitForPage actions: When selected, the script recorder generates "wait
for page" actions for test steps that generate a page transition in the browser. When
cleared, the script recorder generates a "capture page" action for test steps that
generate a page transition in the browser. For Web functional test scripts, the "wait
for page" action is the normal record option. See the Siebel Functional test record
preferences for additional information.
Edit: Opens a dialog box for editing the selected Web object identifier.
Delete: Deletes the selected Web object identifier.
2.5.7.1 General
This tab lets you specify the general browser recorder settings.
Request Timeout: Specifies the amount of time in seconds to wait for a response to a
request before timing out.
Generate default values for requests: When selected, the OpenScript XML parser
generates the specified values for the primitive data types by default. The values may
be empty. (For other Axis or Oracle parsers the parameters of the methods must be
specified.)
■ xsd:string: Specifies the default value for String data type parameters.
■ xsd:int: Specifies the default value for Integer data type parameters.
■ xsd:long: Specifies the default value for Long data type parameters.
■ xsd:float: Specifies the default value for Float data type parameters.
■ xsd:double: Specifies the default value for Double data type parameters.
■ xsd:boolean: Specifies the default value for Boolean data type parameters.
can also be added or modified manually or completely disabled if you prefer not to
use them.
where full Web page transitions may not occur which would allow you to group
commands by page.
■ Do not create steps: When selected, step groups will not be created automatically
during script recording.
Step Naming: Specifies if step groups are named or not by default during script
recording. Step names will be displayed in the step nodes of the tree view and also
shown in the code view. Step names can also be edited manually in either view.
■ Do not name steps: When selected, step groups will not be named automatically
during script recording.
Step Numbering: Specifies if step groups are numbered or not by default during script
recording.
■ Auto number: When selected, step groups are numbered sequentially starting
with step 1.
■ Do not number steps: When selected, step groups will not be numbered
automatically during script recording.
■ Based on time threshold: When selected, step groups are created based upon the
specified recording time threshold. Specify the Threshold time value in seconds.
■ Forms Functional Test: When selected, step groups will be created based on the
windows in which the actions occur. Groups are created whenever a Window
Activate action is recorded.
■ Web Functional: When selected, step groups are created based upon the loading
of a new Web page being loaded in the browser. When a new page is finished
loading, the page and subsequent user actions performed on that page prior to the
next page load will be grouped into the same step group.
■ Do not create steps: When selected, step groups will not be created automatically
during script recording.
Step Naming: Specifies if step groups are named or not by default during script
recording.
■ Forms Functional Test: When selected, step groups will be named the same as the
window titles. Groups will be named the same as the window that is active.
■ Web Functional: When selected, step groups are named based upon the title of the
Web page as defined in the HTML <Title> tag for the main page and the page URL
will also be shown in parentheses in the step group name, If a title is not specified
then the step group will be named "No Title" but the URL will still be displayed.
■ Do not name steps: When selected, step groups will not be named automatically
during script recording.
Step Numbering: Specifies if step groups are numbered or not by default during script
recording.
■ Auto number: When selected, step groups are numbered sequentially starting
with step 1.
■ Do not number steps: When selected, step groups will not be numbered
automatically during script recording.
will also be shown in parentheses in the step group name. If a title is not specified
then the step group will be named "No Title" but URL will still be displayed.
■ Oracle EBS/Forms Load: When selected, step groups will be named the same as
the window titles. Groups will be named the same as the window that is active.
■ Do not name steps: When selected, step groups will not be named automatically
during script recording.
Step Numbering: Specifies if step groups are numbered or not by default during script
recording.
■ Auto number: When selected, step groups are numbered sequentially starting
with step 1.
■ Do not number steps: When selected, step groups will not be numbered
automatically during script recording.
■ Do not name steps: When selected, step groups will not be named automatically
during script recording.
Step Numbering: Specifies if step groups are numbered or not by default during script
recording.
■ Auto number: When selected, step groups are numbered sequentially starting
with step 1.
■ Do not number steps: When selected, step groups will not be numbered
automatically during script recording.
This chapter explains the procedures for creating and modifying basic scripts in
OpenScript. The module chapters provide additional information about creating
scripts using the features and capabilities provided within specific modules.
A repository is the directory location where you store workspaces. Workspaces are
user-specified subdirectories of the repository. As of version 9.10, OpenScript no
longer uses an exclamation point at the end of the directory name to identify the
directory as a Workspace directory. Any folder (directory) below the specified
repository can be a workspace folder.
When you record and save scripts, or play back a script and save the log file,
OpenScript stores the script or log file in the specified Workspace.
The OpenScript installation creates a default repository in C:\Documents and
Settings\username\osworkspace\Repositories\<machinename>.<usernamename>.Defa
ult. You can create your own repositories and workspaces using OpenScript.
This dialog box lets you specify the name and location of the repository to use to
store script files.
6. Enter a repository name. The name is required.
Name: Enter any name to identify the repository.
Note: If you plan to use OpenScript scripts with Oracle Load Testing,
the repository names you specify should match the repository name
specified in Oracle Load Testing (including case).
7. Enter the drive and directory location or click Browse to select the location to use
for the repository.
Location: Enter the drive and directory path to the repository or use the Browse
button to select a location. The location must be a valid drive and directory path.
8. Click OK to add the new repository to the list of repositories.
9. Click OK to close the preferences.
When you create new a script project, you can select the repository to use to store the
project.
Load Testing (Protocol Automation): The Load Testing group contains the
following script types:
■ Oracle Fusion/ADF: This option lets you create a new script for load testing of
Oracle Application Development Framework (ADF)-based applications and
other applications that utilize HTTP and ADF protocols at the protocol level.
The resulting script will contain the Initialize, Run, and Finish nodes. The Run
node will contain recorded HTTP protocol navigations based upon the defined
Step Group preferences and the navigations and ADF protocol for actions
performed during recording. You can edit the script tree or Java code to
customize the script.
■ Oracle EBS/Forms: This option lets you create a new script for load testing of
Oracle E-Business Suite and other applications that utilize HTTP and Oracle
Forms (NCA) protocols at the protocol level. The resulting script will contain
the Initialize, Run, and Finish nodes. The Run node will contain recorded
HTTP protocol navigations based upon the defined Step Group preferences
and the navigations and Forms protocol for actions performed during
recording. You can edit the script tree or Java code to customize the script.
■ Siebel This option lets you create a Siebel script structure of a new OpenScript
script project. A Siebel script lets you record Siebel Web navigations using a
browser for load testing Siebel applications. The resulting script will contain
the Initialize, Run, and Finish nodes. The Run node will contain recorded
HTTP protocol navigations based upon the defined Step Group preferences
and the Web and Siebel navigations performed during recording. You can edit
the script tree or Java code to customize the script.
■ Web/HTTP This option lets you create a new script for load testing of Web
Applications at the HTTP protocol level. The resulting script will contain the
Initialize, Run, and Finish nodes. The Run node will contain recorded Web
navigations based upon the defined Step Group preferences and the Web
navigations performed during recording. You can edit the script tree or Java
code to customize the script.
Script Asset: The Script Asset group contains the following script asset types:
■ Databank: This option lets you create a new databank or open an existing
databank file. The new asset wizard lets you navigate to the databank file
location of an existing databank file or enter the name of a new databank file.
When you click Finish in the wizard, the existing or new databank file opens
in a text editor view.
■ Object Library: This option lets you create a new Object Library or open an
existing Object Library. The new asset wizard lets you navigate to the Object
Library file location of an existing Object Library file or enter the name of a
new Object Library file. When you click Finish in the wizard, the existing or
new Object Library file opens in the Object Library editor view.
3. Click Next.
4. Select the location where you want to store the script project. As of OpenScript
version 9.10, scripts can be stored in repositories and workspaces or anywhere else
in the file system. However, load test scripts developed for use with Oracle Load
Testing must be stored in a repository/workspace.
■ Path: Shows the file path of the selected repository/workspace or file folder.
■ My Repositories: Specifies the repository where the script project will be
saved. Select a repository and workspace from the tree. Repositories can be
managed using Manage Repositories on the Tools menu.
■ My Computer: Specifies the file folder location on the computer where the
script project will be saved. Select a drive and folder from the tree.
■ [file list]: List the names of the existing files or scripts in the selected
repository/workspace or file folder.
■ Script: Specify a name for the script project. The script name is required and
must be unique.
5. Enter a script name.
6. Click Finish. For Java Code Scripts, a basic script tree will be created in the script
view. You can edit the Java code in the code view. For module scripts, a script tree
will be created in the script view. After you record the script, the tree view will
contain the navigations and actions depending upon the type script.
OpenScript automatically prompts you to upgrade older version scripts to the current
version whenever the script is opened in the OpenScript User Interface. When opening
an older script, you can choose not to open the script and the script will not be
upgraded.
When prompted to upgrade a script, if the script depends on any child scripts or
function libraries, OpenScript provides an option to upgrade the child scripts or
function libraries to the new version also.
Once a script is upgraded to a new release, the script cannot be opened or run using
older versions of Oracle Application Testing Suite (OpenScript, Oracle Load Testing, or
Oracle Test Manager).
■ Path: Shows the file path of the selected repository/workspace or file folder.
■ My Repositories: Specifies the repository for selecting scripts to migrate or
search. Select a repository and workspace from the tree.
■ My Computer: Specifies the file folder location on the computer for selecting
scripts to migrate or search. Select a drive and folder from the tree.
■ [file list]: List the names of the existing files or scripts in the selected
repository/workspace or file folder.
■ Script: Specify a name of a script to migrate or search.
■ Migrate: When enabled, the selected script is a pre-version 9.10 script and can
be migrated to the current version. When disabled, the script is already a
version 9.10 or higher script and doe not require migration.
■ Find child scripts: When enabled, the selected script is a pre-version 9.10
script and can be migrated to the current version. When disabled, the script is
already a version 9.10 or higher script and does not require migration.
2. Expand the My Repositories or My Computer trees to navigate to a folder
containing the script files.
3. Select the script.
If Migrate is enabled, the script is a pre-version 9.10 and can be migrated. If
Migrate is disabled, the script is already a version 9.10 or higher script and does
not require migration.
If Find child scripts is enabled, the script is already a version 9.10 or higher script
and you can use the Find child scripts feature to locate any child scripts that may
be assets for the currently selected script. If child scripts are located, you can use
the Migrate Child Scripts options to migrate child scripts or search for additional
child scripts. If Find child scripts is disabled, the script is a pre-version 9.10 script
and must be migrated to the current version.
4. Click Migrate or Find child scripts as required for the selected script file.
5. Click Close when finished.
3.2.3.1 Correlation
This dialog box lets you specify correlation properties for Load Testing (protocol
automation)-type scripts. The Correlation pane has the following options:
■ Module: Specifies the module type the script will use for the correlation rules.
■ Selected Module's Settings: Shows the current script's Correlation library and
rules settings. Expand the tree view to view the selected libraries and rules.
– Edit: Opens the correlation properties window for the specified module type.
3.2.3.2 Modules
This dialog box lets you specify which module services to include with a script. The
Modules pane has the following options:
■ Modules: Shows which module services are included with the current script. The
Basic and Utilities modules are common to all script types. The Shared Data
module can also be used with all script types. The HTTP module is common to all
load testing (protocol automation)-type scripts. The Functional Test and Web
Functional Test modules are common to functional test-type script. Other modules
are specific to a script type.
■ Edit: Opens a file selection dialog box for changing which files is added as an
asset.
■ Open: Opens the selected asset file in the appropriate editor.
■ Remove: Removes the selected asset file from the Assets tree. The file still exists in
the file system or repository/workspace.
■ Selected Module's Settings: Shows the current script's Step Group settings. The
settings are specific to the script type.
– Edit: Opens the Step Group properties window for the specified module type.
3.2.4 Importing Oracle Real User Experience Insight (REUI) Session Logs
You can import a REUI captured user session log file to generate an HTTP-based
OpenScript load testing script. The REUI User Session log must be generated using
REUI version 6 or higher.
To create a script from REUI user session log:
1. Select New from the File menu.
2. Expand the Load Testing (Protocol Automation) group. and select the Web/HTTP
script type.
3. Click Next.
4. Select the repository and workspace where you want to store the script.
5. Enter a script name and click Finish. A new HTTP protocol script project is created
in the Script tree.
6. Select Import Oracle Real User Experience Insight (REUI) Session Log from the
Tools menu.
7. Enter the file path and name of the REUI User Session log (.tab file extension) or
click Browse to select the file.
8. Set the Correlate script and Create step groups options.
9. Click OK.
The REUI Session log import recorder parses the log file and generates an HTTP-based
OpenScript script using the specified Correlate script and Create step groups settings.
The script creation time can vary depending upon the size of the log file and if the
Correlate script and Create step groups settings are set or not. Generally, when
Correlate script and Create step groups are set, the script creation time increases.
The REUI User Session Log consists of the following files and folder:
■ data.tab file: This file contains the url, host and port, method, postdata, etc.
■ version.txt: This files contains the export version number which determines the
version of the OpenScript REUI User Session Log importer to use.
■ content folder: This folder contains text content that corresponds to the entries in
the data.tab file.
2. Select the script node where you want to add the step group.
3. Select the Script menu and then select Step Group from the Add sub menu.
This dialog box lets you specify or modify a step group node in a script tree.
4. Enter a name for the Step Group.
Title: Specify the title text of the step group. The title text will appear in the script
tree.
5. Enter any think time delay to add to the Step Group.
Think time: Specify the amount of time in milliseconds to use as a think time
delay for the step group.
6. Click OK. The Step Group is added to the script tree.
To add a step groups to a script based upon preferences:
1. Open or create a script project.
2. Select OpenScript Preferences from the View menu.
3. Expand the OpenScript node.
4. Expand the Record node.
5. Select the Step Groups node.
6. Specify the Step Group preferences and click OK.
7. Select Create Step Groups from the Script menu. The Step Groups will be
automatically added to the script tree.
8. In the Java Code view, the step group consists of the code executed between
beginStep and endStep:
beginStep("Step Group 1", 10);
{
/**
* Add code to be executed for the step group.
*/
getLogger().info("Step Group 1");
}
endStep();
The log message text appears in the Console View when the script is played back.
12. Click Add and add more arguments or click OK to add the function to the script.
The function name node is added to the script tree.
13. In the Java Code view, the public void function name statement will be
added to the script code followed by the arguments with the data types:
/**
* My custom Function
* @param argString Description of argString
* @param argInt Description of argInt
* @param argDouble Description of argDouble
* @param argLong Description of argLong
* @param argBool Description of argBool
*/
public void MyFunction(@Arg("argString") String argString,
@Arg("argInt") int argInt,
@Arg("argDouble") double argDouble,
@Arg("argLong") long argLong,
@Arg("argBool") boolean argBool)
throws Exception {
14. Add items into the Function. You can use the Tree View drag/drop or cut/paste
features to move Tree View items to the function. You can use the Script Add
option to add variable items to the function. You can also use the Code View to
add custom code to the function.
To pass arguments into a function:
Define the variables to use to pass values to the custom function arguments
somewhere in the script before where the Call Function statement will be placed in the
script:
1. Select the script node where you want to add variables.
2. Select the Script menu and then select Other from the Add sub menu.
3. Expand the Variables node and select Set Variable.
This dialog box lets you define a variable in a script.
4. Enter the variable name and value.
■ Name: Specify the name of the variable.
■ Value: Specify the value to assign to the variable.
5. Enter a value or click the Substitute Variable icon to select a variable value to
assign to the variable.
6. Click OK.
7. In the Java Code view, the getVariables().set() statement will be added to
the script code followed by the variable name and value for each variable:
getVariables().set("MyString", "String");
getVariables().set("MyInt", "1");
getVariables().set("MyDouble", "1234");
getVariables().set("MyLong", "1234560");
getVariables().set("MyBool", "True");
8. Select the Function node (your custom function name) in the script.
9. Select the Script menu and then select Other from the Add sub menu.
10. Expand the tree and select the item to add. For example Message under the
General node or Set Variable under the Variables node.
11. Click the Substitute Variable icon to select a custom variable or function argument.
The Select Variable tree lists the custom function with all of is defined arguments.
12. Select an argument for the custom function.
14. In the Java Code view, the message statement (info, warn or fail) or
getVariables().set() statement will be added to the script code followed by
the variable name and value for each variable:
public void MyFunction(@Arg("argString") String argString,
@Arg("argInt") int argInt,
@Arg("argDouble") double argDouble,
@Arg("argLong") long argLong,
@Arg("argBool") boolean argBool)
throws Exception {
info("{{arg.argString}}");
getVariables().set("MyArgString", "{{arg.argString}}");
getVariables().set("MyArgInt", "{{arg.argInt}}");
getVariables().set("MyArgDouble", "{{arg.argDouble}}");
getVariables().set("MyArgLong", "{{arg.argLong}}");
getVariables().set("MyArgBool", "{{arg.argBool}}");
}
To pass data types other than String, enclose a defined variable name in double
curly braces as follows, "{{VarName}}".
callFunction("MyFunction", "{{MyString}}", "{{MyInt}}", "{{MyDouble}}",
"{{MyLong}}", "{{MyBool}}");
databanks and object libraries. You also use the Create option in the Script Properties
to create databanks and object libraries.
To add assets to a script:
1. Open or create a script project.
2. Select a script node and select Script Properties from the Script menu.
3. Select Assets in the property type list. The Assets pane has the following options:
■ Asset: Lists the Assets added to a script by type in a tree view. Assets can be
databanks, object libraries, generic Jar files, and other scripts.
■ File: Shows the files added as Assets to the current script. Expand the tree
view in the Assets column to view the files.
■ Add: Opens a file selection dialog box for selecting the file to add as an asset.
Expand the My Repositories or My Computer trees to navigate to a folder
containing the file.
■ Edit: Opens a file selection dialog box for changing which files is added as an
asset.
■ Open: Opens the selected asset file in the appropriate editor.
■ Remove: Removes the selected asset file from the Assets tree. The file still
exists in the file system or repository/workspace.
4. Select the type of asset to add and click Add.
5. Select the asset to add from a repository or the file system.
6. Set the Save path relative to current script option. The Save path relative to current
script option specifies how the current script will locate the specified script asset.
When cleared, the current script locates the script asset by a repository path such
as, [Repository: Default] Default!/WebTutor, if the asset is selected
from a repository or full file path such as,
C:\OracleATS\OFT\Default!\WebTutor, if the asset is selected from the file
system. When selected, the current script locates the script asset by a relative path
such as ../WebTutor. Selecting the Save path relative to current script option is
not recommended as script-relative paths are more brittle than repository-relative
paths if scripts are moved or shared.
The following are guidelines when using script assets in a team or distributed
environment:
■ Do not use Absolute Paths when referring to assets or saving assets. Oracle
Load Testing does not support absolute paths.
■ OpenScript, Oracle Test Manager, Oracle Load Testing, and all command-line
agents should all use the same shared repository names and paths.
■ Do not refer to an asset in another repository by a relative path.
7. Click OK to add the asset to the script properties.
8. Click OK when finished adding script assets to close the script properties.
Script asset information is stored in the assets.xml file located in the script project
directory.
11. In the Java Code view, the getScript().run(); statement will be added to the
script code:
getScript(alias=String).run(interation count = int, initialize = true|false,
run = true|false, finish = true|false);
Example
getScript("Web1").run(1, true, true, true);
2. Select the script node where you want to add the set variable.
3. Select the Script menu and then select Other from the Add sub menu.
4. Expand the Variable node and select Set Variable.
This dialog box lets you set a variable value in a script.
5. Enter the variable name and value.
■ Name: Specify the name of the variable.
■ Value: Specify the value to assign to the variable.
6. Click OK. The Set variable = value node is added to the script tree.
7. In the Java Code view, the getVariables().set("variable name",
"value"); method will be added to the script code:
getVariables().set("sVar_MyVar", "My_Value");
If you want to set the variable with a value from an Oracle Functional Testing
transform variable (i.e. a variable value contained in {{}} syntax), use the
Transforms.transform method with the getVariables().set, as follows (requires
HTTP module):
http.solve("varTitle", "<TITLE>(.+)</TITLE>", "Page Title Error", false,
Source.Html, 0);
getVariables().set("sVar_MyVar", Transforms.transform("{{varTitle}}",
getVariables()));
2. Select the script node where you want to add the log message.
3. Select the Script menu and then select Other from the Add sub menu.
4. Expand the General node and select Error Recovery Action.
Exception: Select the type of exception error. The list will vary depending upon
the script type.
Action: Select the error recovery action: Fail, Warn or Ignore.
5. Click OK. The log message node is added to the script tree.
6. In the Java Code view, the setErrorRecovery(scriptType.constant,
ErrorRecoveryAction.action); method will be added to the script code:
setErrorRecovery(BasicErrorRecovery.ERR_VARIABLE_NOT_FOUND,
ErrorRecoveryAction.Fail);
3.3.10.2 Constants
The following are the possible values for constant in the Java code statements:
BasicErrorRecovery (Basic module)
ERR_VARIABLE_NOT_FOUND
ERR_CREATE_VARIABLE_ERRORCODE
ERR_FILE_NOT_FOUND
ERR_SEGMENT_PARSER_ERROR
ERR_BINARY_DECODE
ERR_ENCRYPTION_SERVICE_NOT_INITIALIZED
ERR_GENERIC_ERROR_CODE
ERR_HTML_PARSING_ERROR
ERR_INTERNET_INVALID_URL
ERR_INVALID_HTTP_RESPONSE_CODE
ERR_KEYSTORE_LOAD_ERROR
3.3.10.3 Actions
The following are the possible values for action in the Java code statements:
Fail
Ignore
Warn
1. Select the script node before the script node where you want to verify the result
code.
2. Select the Script menu and then select Other from the Add sub menu.
3. Expand the General node.
4. Select Error Recovery Action and click OK.
5. Select the Exception type. See Section 3.3.10, "Adding Error Recovery to a Script"
for additional information.
6. Select Warn or Ignore as the Action type and click OK.
7. Add the Has Error condition to the script. See Section 3.3.11.2, "Adding a Has
Error Control Statement" for additional information.
You can customize the message string in the Java Code view. For example:
info("Summary of last action: {{result.summary}}");
11. If necessary drag the message node into the if (hasLastError()) node so the
message is a child node of the if (hasLastError()) block. For example:
if (hasLastError()) {
info("Summary of last action: {{result.summary}}");
}
16. Select the next script to run from the available script assets in the Script properties.
Use the Add button to add scripts to the script assets properties.
17. Click OK.
18. Select or clear the script sections to run and the iteration count.
20. Repeat the Add script steps for each additional script to run.
21. Save and playback the shell script to verify the script navigations work together
correctly.
22. In the Java Code view, the getScript().run() methods will be added to the
script code:
getScript("Web1").run(1, true, true, true);
getScript("Web2").run(1, true, true, true);
Note: If you are in the Developer Perspective, you can add a view by
selecting Show View from the Window menu and then selecting
Other.
■ Step Into - steps into the function or sub procedure. This option is only active
during script playback and script execution is suspended while stepping
through the script code. The execution pointer is moved into the beginning of
the function.
■ Pause/Resume - pauses and resumes script playback. These options are only
active during script playback.
8. You can use the following right-click shortcut menu options to debug scripts
■ Skip/Unskip - set the code to skip or unskip.
■ Playback to Here - starts playback from the beginning of the script and halts
playback at selected node in the script tree.
■ Playback from Here - starts playback from the selected node in the script tree
and plays to the end or the next breakpoint.
■ Add Breakpoint/Remove Breakpoint - adds or removes a breakpoint in the
script tree view. Script tree nodes with a breakpoint set show the
"[Breakpoint]" indicator at the end of the script node text.
■ Execute - executes the code for the selected node in the script tree. This option
is only active during script playback and the script is paused. Execute
compiles the highlighted code in the editor or tree view and runs it in the
currently paused thread. However, the original running program code isn't
changed and the current execution pointer does not move when using
Execute. You can use Execute to test changes to a script while debugging. For
changes to be permanent, you must save the script which recompiles the code
and returns the execution pointer back to the beginning of the run() section.
■ Step - runs the currently selected node and moves the execution pointer to the
next sibling node. If the selected node has a child node, the execution pointer
is moved to the first child node. This option is only active during script
playback and script execution is suspended while stepping through the script
code.
■ Step Into - steps into the function or sub procedure. This option is only active
during script playback and script execution is suspended while stepping
through the script code. The execution pointer is moved into the beginning of
the function.
To add a breakpoint to the script code:
1. Create a script project.
2. Record the script.
3. In the Script view, click the Java Code tab.
4. Double-click in the right-most column of the code view frame next to the code line
where you want to add a breakpoint. The breakpoint indicator appears as a round
dot in the frame. You can add as many breakpoints as needed.
5. Play back the script.
When you play back the script, code execution will stop at the breakpoint. The
Confirm Perspective Switch message appears the when the code execution
arrives at a breakpoint. Select the Remember my decision option if you do not
want the message to appear again during future script playback.
6. Click No to stay in the Tester perspective or Yes to switch to the Debug
Perspective. You can use the following keyboard debug features to execute code
while in debugging mode:
Note: Source code for the JRE or for the Eclipse IDE is not included
with the product. When stepping into code, an editor may appear that
does not contain source code. In this case, close the editor and resume
script playback. You can use the Step-into feature to step into your
own custom functions that you have added to a script.
■ Resume (F8) - resumes code execution to the script end or to the next
breakpoint.
getVariables().set("someVariable", "newValue")
Note: You can also test individual web actions by pausing the script,
selecting the code for the action to test, then right-clicking and
selecting Execute (or pressing Ctrl+U).
to:
<!-- For production
<root>
<priority value="WARN"/>
OpenScript allows users to parameterize script data inputs to perform data driven
testing using Databanking. Users can select any data inputs for their script and then
substitute a variable to drive the input from an external file during playback. Multiple
Databank files can be attached to a single script and users can specify how OpenScript
assigns data during script playback.
substitute variable GUI interface. For example, the "ticker" query string parameter for
"Page [4] Ticker List" in the following Tree View is set to the variable value
"{{fmstocks_data.ticker,ter}}".
Within the variable "{{fmstocks_data.ticker,ter}}", "fmstocks_data" is the name of the
Databank file, ".ticker" identifies the field name within the Databank file, and "ter" is
the recorded value.
Data Parameterization Code View Commands enable users to specify the inputs they
want to parameterize and the data source they want to drive the inputs from through
data parameterization in the code view.
For example, the "ticker" query string parameter for "Page [4] Ticker List" in the above
Tree View appear as http.querystring(http.param("ticker",
"{{fmstocks_data.ticker,ter}}") in the http.get method code in the Code
View, as follows (line breaks and spacing added for clarity):
beginStep("[4] Ticker List", 3422);
{
http.get(6, "http://testserver2/fmstocks/{{LINK_1_3,TickerList.asp}}",
http.querystring(http.param("ticker", "{{fmstocks_data.ticker,ter}}"),
http.param("company", "")), null, true, "ASCII", "ASCII");
}
endStep()
getDatabank("customer").getNextDatabankRecord();
9. Right click the parameter node in the script tree that you want to substitute with a
Databank variable and select Substitute Variable.
10. If necessary expand the Databanks node and select the Databank field you want to
use as the input parameter data.
11. Click Finish.
12. The script node name/value pair changes to show the Databank alias name, field
name, and recorded value as a variable value. For example:
login = {{db.customer,login,ta906}}
In the Java Code view, the parameter code changes to show the Databank alias
name, field name, and recorded value as a variable value. For example:
http.postdata(http.param("login", "{{db.customer,login,ta906}}")
13. Click the Playback toolbar button to playback the script once to verify the it plays
back correctly.
This chapter provides instructions on configuring and using the OpenScript Web
Functional Test Module, which tests Web-based applications by accessing objects
through the Document Object Model (DOM) of the Web browser.
You can set the default object attributes in the Web Functional Test Module Record
Preferences. You can also edit object attributes in recorded scripts in the tree view or
the code view.
In addition to the predefined object identification, you can add an Object Library to the
script to record paths into a library file. Object Library files may be shared and reused
across other scripts. The Object Library files provide a more convenient "short name"
for objects to provide for more convenient programming.
The Web Functional Test Module includes object identifiers that specify how the
recorder identifies Browser objects. You can add object identifiers or edit the existing
object identifiers in the Record preferences.
To add or edit an object identifier:
1. Select the OpenScript Preferences from the View menu.
2. Expand the Record node and select Web Functional Test.
3. Click the Object Identification tab.
4. Click Add or select an existing object identifier and click Edit.
The Object Element dialog box lets you define an object identifier for a Web
Functional Test recorder. The object identifier specifies how the OpenScript Web
Functional Test recorder module identifies web objects in the Document Object
Model on a Web page.
Name: Specify the name of the object identifier.
Attributes: Shows the attributes defined for the object identifier. The attributes can
consist of an object attributes group and specific object element attributes.
Add: Opens a dialog box for specifying a new Web object identifier.
Edit: opens a dialog box for editing the selected Web object identifier.
Delete: Deletes the selected Web object identifier.
Up: Moves the selected Web object identifier up in the priority order.
Down: Moves the selected Web object identifier down in the priority order.
For each object element, you specify a name (typically a Web object attribute), an
operator, a value and a value type. As you add object elements, OpenScript builds
the object identifier using logical OR between each object identifier element. Click
Edit to change between logical OR and AND.
5. If adding a new object identifier, click Add and specify the path segments for the
object identifier.
The Path Segment dialog box lets you define a segment of an object identifier for a
Web Functional Test recorder. The object identifier specifies how the OpenScript
Web Functional Test recorder module identifies web objects in the Document
Object Model on a Web page.
Attribute: When selected, specify the name, operator, value, and value type for the
object identifier.
■ Name: Specify the name of the Web object attribute to use to identify the
object.
■ Operator: Specify the logical operator to use to identify the object value.
■ Value: Specify the value of the Web object attribute to use to identify the
object.
■ Value Type: Specify the value type to use to identify the object. The value type
can be a string, a number, or by variable reference. Set the Value type to match
the specified value.
– String: The value in the Value field will be matched as a text string to
identify the Web object.
– Number: The value in the Value field will be matched as a numeric value
to identify the Web object.
– Reference: The value in the Value field will be matched as a variable
name to identify the Web object.
Group: when selected the Web object identifier can be specified as a string
representing a logical group of Names, Operators, and Values.
6. If editing an existing segment, click Edit and specify the path attributes for the
object identifier.
The Path Attribute dialog box lets you edit an element of an object identifier.
Name: Specify the name of the Web object attribute to use to identify the object.
Operator: Specify the logical operator to use to identify the object value.
Value: Specify the value of the Web object attribute to use to identify the object.
Value Type: Specify the value type to use to identify the object. The value type can
be a string, a number, or by variable reference. Set the Value type to match the
specified value.
■ String: The value in the Value field will be matched as a text string to identify
the Web object.
■ Number: The value in the Value field will be matched as a numeric value to
identify the Web object.
■ Reference: The value in the Value field will be matched as a variable name to
identify the Web object.
And/Or: specifies logical OR or AND between object elements. This option does
not appear if the object element being edited is the last object element in the object
identifier group.
7. If editing an existing path, click Edit and specify the path attributes for the object
identifier.
The Path Attribute Group dialog box lets you edit an object identifier group as a
string value.
Group: A text string of the object identifier group. The object identifier group
syntax follows the @name operator value/type format. Values by reference
are enclosed in double curly braces {{}}. String values are enclosed in single
quotation marks. Numeric values are not enclosed. Logical OR or AND are used
between object elements. Parenthesis are used for logical grouping of multiple
object elements. Object identifiers can use the wildcard characters * (asterisk) for
multiple characters and ? (question mark) for single characters. For example,
@text="Login*". The following are examples of object identifier group syntax:
@index={{index}} or @title='title' or @number=5
9. If you have the browser open when adding or editing object identifiers, close and
restart the browser.
Element Attributes
Common attributes for all web DOM elements tag, id, index, title, style, class, html, _
adftrueval, rn, un, ot
web:window index, title
web:document index, url
web:a disabled, text, href
web:button type, name, value, disabled, text
web:input_button type, name, value, disabled, text
web:input_file type, name, value, index, disabled, size
web:input_hidden type, name, value, index, disabled
web:input_image type, name, disabled, alt, align, border, height,
hspace, src, lowsrc
web:input_submit type, name, value, disabled, text
web:input_text type, name, value, defaultValue, disabled,
maxlength, readOnly, size
web:input_check type, name, value, disabled, checked,
defaultChecked, readOnly, size
web:input_radio type, name, value, disabled, checked,
defaultChecked, readOnly, size
web:img alt, height, longdesc, name, src, width
web:option value, text, optionIndex(index in the select),
defaultSelected, selected
web:select name, disabled, value, selectedIndex
web:textarea name, disabled, value, defaultValue, readonly,
cols, rows
12. Navigate the web site to record page objects, actions, and navigations. The page
objects, actions, and navigations will be added to the Run node of the script tree.
13. When finished navigating pages, close the browser.
14. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
15. Expand the Run node of the script to view the page objects, actions, and
navigation nodes in the script tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while
recording or playing back scripts. Doing so could result in
unpredictable behavior in the OpenScript application.
The Browser web actions includes additional options for browser navigation such
as Back, Forward, Close, Refresh, Wait for Page, etc. Additional browser actions
have corresponding Java code methods:
web.window(1,
"/web:window[@index='0']").waitForPage("http://testserver2/fmstocks/",
"Stocks", true, null)
web.window("/web:window[@index='0']").close();
web.window("/web:window[@index='0']").back();
web.window("/web:window[@index='0']").forward();
web.window("/web:window[@index='0']").refresh();
web.window("/web:window[@index='0']").capturePage();
web.window("/web:window[@index='0']").solve("MyVariable", "(.+?)", true, 1);
web.window("/web:window[@index='0']").storeResponseTime("MyRespTime");
web.window("/web:window[@index='0']").waitFor(10);
web.window("/web:window[@index='0']").storeAttribute("MyAttribVar",
"MyAttribute");
The Web Actions node includes actions for objects such as buttons, check boxes,
dialogs, images, links, tables, etc. Other object actions have corresponding Java
code methods:
web.link("/web:window[@index='0']
/web:document[@index='0']
/web:a[@text='Open a new account.'
or @href='http://testserver2/fmstocks/_NewAccount.asp'
or @index='0']").click()
or
web.select("/web:window[@index='0']
/web:document[@index='0']
/web:form[@index='0']
/web:select[(@id='namespace'
or @name='namespace'
or @index='0')
and multiple mod 'False']").selectOptionByText("[select product]");
or
web.clearSessionCookies();
web.clearAllPersistentCookies();
web.clearPersistentCookies("domain");
web.clearCache("domain");
■ If you have not created a library file, enter a file name, and click OK. A new
file will be created. When you record a Web Functional Test script, the browser
actions will be automatically added to the object library file.
6. Click OK. The Object Library file is added as a script test asset under the Object
Libraries tree. Script test assets are referenced in the assets.xml file located in the
script directory of the repository or file path.
7. Click OK.
8. Record a Web Functional Test script to use the object library.
The object identification paths for browser objects will be automatically added to
the object library file during recording. You can open and edit the object library file
using the Object Library Editor. Select Script Properties from the Script menu,
select the Object Library Test Asset in the tree and click Open. The Object Library
editor view opens in the Workbench with the objects and details included in the
selected Object Library. You can add objects to and delete objects from the Object
list. You edit the object attributes in the object string or in the tree hierarchy of the
Details section. The tree hierarchy lets you move attributes up or down in the
priority order.
9. Save the script when finished.
12. Click OK to add the Server Response node to the script tree.
In the Java Code view, the Server Response Test consists of the code executed in
the web.window(objectId).verifyResponseTime() or
web.window(objectId).assertResponseTime()method:
web.window("/web:window[@index='0']").verifyResponseTime("MyserverResp", 10.0,
20.0);
or
web.window("/web:window[@index='0']").assertResponseTime("MyserverResp2", 10.0,
50.0)
In the above code examples, verify means "do not stop on failure" and assert
means "stop on failure".
Note: The pound (#) character and double brace ({{ and }})
character sequences need to be escaped with a preceding pound (#)
character if used in the Text Matching Test as a literal string (not a
string specifying an OpenScript databank or script variable). For
example, the pound character should be doubled (##) and double
braces should be preceded by a pound character (#{{ and #}}).
11. Select the source location that will be searched for the matching text:
■ HTML Display Contents: Search the browser rendered text of the page.
■ Raw HTML: Search HTML source of the page.
12. Select the Pass when setting.
■ Selected text is present: The test case passes if the Text to Match string is
found in the selected source.
■ Selected text is absent: The test case passes if the Text to Match string is not
found in the selected source.
13. Select the Match type.
15. Click OK. The Text Matching Test node is added to the script tree.
In the Java Code view, the web.assertText or
web.document(specifiedDoc).assertText method will be added to the
script code if the Verify only, never fail option is not selected:
web.assertText("MyTextMatchTest", "Home", TextPresence.PassIfPresent,
MatchOption.Exact)
web.document("Main").assertText("MyTextMatchTest2", "Home",
TextPresence.PassIfPresent, MatchOption.RegEx);
web.document("Main").verifyText("MyTextMatchTest2", "Home",
TextPresence.PassIfPresent, MatchOption.RegEx);
■ Save to Object Library: Opens a dialog box for saving the current object to a
library.
8. Enter a test name.
9. Select an Attribute/Value pair and specify the test details.
Attributes: Shows the attributes of the selected object. Select an attribute and
specify the test details.
■ Attribute: Shows the name of the attribute. When selected, the attribute is
included in the object test. When cleared, the attribute is not included in the
object test.
■ Value: Shows either the recorded value or the test criteria for the attribute
depending upon which Display option is selected.
■ Enable All: Enables all properties for inclusion in the test criteria.
■ Disable All: Disables all properties for exclusion from the test criteria.
■ Add Row: Adds a new row to the table.
■ Display: Selects which values appear in the properties list.
– Test: When selected, the Value list shows the test criteria defined for each
attribute.
– Recorded Values: When selected, the Value list shows the recorded value
for each attribute.
Test Details: Specifies the test criteria for the selected attribute.
■ Recorded Value: Shows the recorded value of the attribute.
■ Enable: When selected, the attribute is included in the object test. When
cleared, the attribute is not included in the object test.
■ Value Type: Specifies the data type to use as the test criteria for the attribute.
The available options in the Operator list depend upon the selected value type
to test: String, Boolean, Date, or Numeric.
■ Operator: Specifies the operator to use for the playback test criteria. The list of
operators changes depending upon the selected Value Type.
The following options are available for String values:
– Exact: The test passes if the text or attribute value matches exactly the
current value of the text string during playback of the script.
– Wildcard: The test passes if the text or attribute value matches the current
value of the Like operator pattern during playback of the script.
– Regular Expression: The test passes if the text or attribute value matches
the current value of the Regular Expression pattern during playback of the
script.
The following options are available for Numeric and Date values:
– [Relational Operators]: Lists the relational operators. Select the type of
comparison to use during playback of the script. If you select the Range
operator, the Object Test adds a field for specifying the range. Specify the
from-to range.
The following option is available for Boolean values:
– Exact: The test passes if the text or attribute value matches the True or
False value specified in the Value field during playback of the script.
■ Value: Specifies the value to use for the test criteria for the attribute.
■ [Substitute Variable]: Opens a window for selecting a databank variable to
substitute as the value to use for the test criteria for the attribute.
10. Specify the test details for each Attribute/Value pair as required for the test.
11. Click OK. The object test node is added to the script tree.
In the Java Code view, a web.element(objectId).verifyAttributes
method will be added to the script code:
web.element(15, "/web:window[@index='0']
/web:document[@index='0']
/web:form[@index='0'
or @id='loginform'
or @name='loginform']
/web:input_password[@name='password' or @index='0']").verifyAttributes(
"MyObjectTest", web.attributes(web.attribute("index", "0",
TestOperator.StringExact),
web.attribute("tag", "INPUT", TestOperator.StringExact),
web.attribute("name", "password", TestOperator.StringExact),
web.attribute("value", "ta", TestOperator.StringExact),
web.attribute("type", "password", TestOperator.StringExact),
web.attribute("checked", "False", TestOperator.StringExact),
web.attribute("disabled", "False", TestOperator.StringExact)));
■ Select from Object Library: Opens a dialog box for selecting an object from a
saved library.
■ Save to Object Library: Opens a dialog box for saving the current object to a
library.
8. Enter a test name.
9. Select a row and column cell and specify the test details.
Test Details: Specifies the test to perform for each value. Select a value in the row
and column list to set the details for that specific value.
■ Row: Shows the row number of the selected table value.
■ Column: Shows the column number of the selected table value.
■ Enable: When selected, the table value is included in the comparison test.
■ Recorded value: Shows the selected attribute's recorded value.
■ Value Type: Specifies the data type of the selected value: String, Numeric,
Date, or Boolean.
■ Operator: Specifies how to compare the value. The Operator options change
depending upon the selected value type. For relational operators, if you select
the Range operator, a field is added for specifying the numeric or date range.
Specify the from-to range.
■ Value: Specifies the value to test.
■ [Substitute Variable] - opens a dialog box for selecting the variable to use as
the value to test.
10. Specify the test details for each table cell as required for the test.
11. Click OK. The table test node is added to the script tree.
In the Java Code view, a web.table(objectId).verifyCells method will be
added to the script code:
web.table(24, "/web:window[@index='0']
/web:document[@index='0']
/web:table[@index='6']").verifyCells("MyTableTest",
web.cells(web.cell(1, 1, "Ticker ", TestOperator.StringExact),
web.cell(1, 2, "Company ", TestOperator.StringExact),
web.cell(2, 1, "ORCL ", TestOperator.StringExact),
web.cell(2, 2, "Oracle Corporation ", TestOperator.StringExact)))
12. Click OK to add the Server Response node to the script tree.
In the Java Code view, a web.window(objectId).waitForPage() method
will be added to the script code:
web.window(6,
"/web:window[@index='0']").waitForPage("http://testserver2/fmstocks/home.asp",
null, null)
This chapter provides instructions on configuring and using the OpenScript HTTP
Module, which tests Web-based applications by automating the underlying HTTP
protocol traffic.
– Function/Text: Specifies the name of the function to use to search the source
location. The following functions are available:.
* {{@decode({{myVariable}})}}: Searches the source using the
specified Target Regular Expression and replaces the data with the script
variable {{@decode({{myVariable}})}}. The value is the encoded
text string specified by the Target Regular Expression.
* {{@decrypt({{myVariable}})}}: Searches the source using the
specified Target Regular Expression and replaces the data with the script
variable {{@decrypt({{myVariable}})}}. The value is the
encrypted text string specified by the Target Regular Expression.
* {{@deobfuscate({{myVariable}})}}: Searches the source using the
specified Target Regular Expression and replaces the data with the script
variable {{@deobfuscate({{myVariable}})}}. The value is the
obfuscated text string specified by the Target Regular Expression.
* {{@encode({{myVariable}})}}: Searches the source using the
specified Target Regular Expression and replaces the data with the script
variable {{@encode({{myVariable}})}}. The value is the text string
specified by the Target Regular Expression.
* {{@encrypt({{myVariable}})}}: Searches the source using the
specified Target Regular Expression and replaces the data with the script
variable {{@encrypt({{myVariable}})}}. The value is the text
string specified by the Target Regular Expression.
* {{@file({{myVariable}})}}: Searches the source using the specified
Target Regular Expression and replaces the data with the script variable
{{@file({{myVariable}})}}. The value is the text string contained in
the file specified by myVariable or a hard coded path such as
{{@file(c:\\OpenScript_Sample.txt)}}.
* {{@getAndIncrement({{myVariable}},delta)}}: Searches the
source using the specified Target Regular Expression and replaces the data
with the script variable {{@getAndIncrement({{myVariable}},
delta)}}. The value is the numeric value specified by the Target
Regular Expression. delta is the amount to increment the value by each
time.
* {{@hostip}}: Searches the source using the specified Target Regular
Expression and replaces the data with the script variable {{@hostip}}.
The value is the host IP address.
* {{@hostname}}: Searches the source using the specified Target Regular
Expression and replaces the data with the script variable
{{@hostname}}. The value is the host name.
* {{@iterationnum}}: Searches the source using the specified Target
Regular Expression and replaces the data with the script variable
{{@iterationnum}}. The value is the script playback iteration number.
* {{@jstr({{myVariable}})}}: Searches the source using the specified
Target Regular Expression and replaces the data with the script variable
{{@jstr({{myVariable}})}}. The value is a serialized Java string
that specifies a Hexadecimal length value followed by the string contained
in myVariable in the format \00\09var_value.
* {{@len({{myVariable}})}}: Searches the source using the specified
Target Regular Expression and replaces the data with the script variable
– Replace all locations: When selected, the correlation rule applies to any object
matching the source criteria.
– Replace specified location: When selected, the correlation rule applies only to
the object matching the Location criteria.
– Location: Specifies the referer header parameter(s) to which to apply the
correlation rule using a Regular Expression. (See Variable Substitution Rules
below for examples.)
– Use Browser's proxy: when selected, the HTTP recorder uses the proxy
configuration specified by the browser.
– Use specified proxy: when selected, OpenScript uses the specified proxy.
Use proxy configuration script: when selected, the specified configura-
tion scripts will be used.
Address: specify the URL to the JavaScript file containing the FindProxy-
ForURL JavaScript function supplied by the system administrator for the
intranet environment.
Use proxy server: when selected, the specified proxy server will be used.
Address: specify the network IP address of the proxy server to which to
chain the OpenScript proxy.
Port: specify the port to use on the chained proxy server.
■ Proxy Authentication: specifies the log in credentioals for authentication.
– Username: specify the user name to use for authentication.
– Password: specify the password to use for authentication.
7. Click the URL Filters tab to create a new Proxy URL filter or to select a
pre-defined filter.
To use a pre-defined filter, select the checkbox for the filter in the list. Clear the
checkbox to disable the filter.
To create a new filter or edit an existing filter:
■ Click Add or Edit.
■ Specify the filter name.
■ Specify the URL filter wild card or Regular Expression pattern to match
against. Wild card characters include the asterisk (*) to represent a string of
characters and the question mark (?) to represent a single character.
■ Select what to apply the filter against as the value for Match:
– Content type: When selected, the filter applies to the page content type.
– URL: When selected, the filter applies to the page URL.
■ Select the type of filtering method to use as the value for Method:
– Wild card: If selected, the filter uses wild card characters to filter the
content.
– Regular expression: If selected, the filter uses the regular expression
provided to filter the content.
8. Click OK when finished.
5. Click Next.
6. Select the Repository and Workspace.
7. Enter a script name.
8. Click Finish. A new Script tree is created in the Script View.
9. Select Record from the Script menu or click the arrow on the Record toolbar
button and select Proxy Recorder.
10. If you set the Launch browser option in the HTTP Record preferences, the browser
automatically opens when you start recording with the HTTP Proxy recorder. If
you did not set the Launch browser option, you will have to open a browser
manually.
11. Load the web page where you want to start recording into the browser.
12. Navigate the web site to record page navigations. The page navigations will be
added to the Run node of the script tree.
13. When finished navigating pages, stop the script by selecting Stop from the Script
menu or clicking the Stop button on the OpenScript toolbar.
14. If you set the Close browser option in the HTTP Record preferences, the browser
automatically closes when you stop recording. If you did not set the Close
browser option, you will have to close the browser manually.
15. Expand the Run node of the script to view the page navigation nodes in the script
tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while recording or
playing back scripts. Doing so could result in unpredictable behavior in the
OpenScript application.
■ Do not request URLs ending in: URLs ending with any of the specified
patterns or file types will not be requested. Specify the ending pattern or file
type separated by commas.
■ Cache Emulation: The type of user to simulate when playing back the script.
This is useful for simulating different profiles of virtual users.
A first time user places more of a load on the Web server because pages and
image are not yet cached. A repeat user places less of a load on the server as
only newer pages are requested and brought down from the Web server.
Select one of the following options:
– Do not request URLs ending in: Virtual users are considered to be using
the Web site or application for the first time for each iteration so no cache
is used. The cache is used during the iteration.
– Do Not Cache: Select to not use the cache.
Note: When using WinInet, selecting Do Not Cache has the same effect as
selecting 1st Time as the Cache Emulation method. In this case, document
cache is not created and not cleared.
– 1st Time User: Virtual users are considered to be using the Web site or
application for the first time for each iteration so no cache is used. The
cache is used during the iteration.
– Repeat User: Virtual users are considered to have visited or used the Web
site or application previously. Pages and images are retrieved from the
cache.
■ Enable Cookies: If selected, the virtual user profiles will use cookies. Use this
setting if your Web application uses cookies to manage session and other
context information.
■ Download Local Files: When selected, the Java Agent retrieves the requested
local file contents.
■ Preserve Cookies Between Iterations: Used to preserve or automatically clear
cookies added to the browser in the Run section between successive iterations
of the Run section.
Cookies added to the browser in the Initialize section will be preserved
forever, unless explicitly removed in script code.
Cookies added to the browser in the Run section will always be preserved
between the final iteration of the Run section and the Finish section.
■ Preserve Connections Between Iterations: Used to preserve connections
between OpenScript and the browser between successive iterations of the
script.
■ Max Content Size (KB): Specifies the maximum number of KB to download
from a server for a given request. The default value of this option is
"Unlimited". However, the maximum Virtual User Display Size is set to
1024KB, which may cause content in the Details view to be truncated if the
content size exceeds the Virtual User Display Size. You can configure the
Maximum Virtual User Display Size by adding the following setting in the
Additional Arguments field of the General Playback Preferences:
-MAX_VUDATA_BYTES xxxxxxxx
1. Start OpenScript.
2. Open the HTTP script to play back.
3. Select Playback from the Script menu or click the toolbar button.
4. When playback is finished, click the Results view. If necessary, select Results from
the View menu to open the Results View.
5. In the Name column, expand the results node to view the results.
If you want to store your binary or XML file inside the script itself:
1. Switch to the Developer perspective.
2. In the Navigator View, create a folder in the script project called "resources".
3. Add your jpg or XML file into the new "resources" folder.
4. Change the first line of the above code sample to this:
byte[] data =
getScriptPackage().getResourceFile("resources/yourfile.jpg").getData();
By storing the file locally with the script, the file will always be available to the
agent, even if it is run on a remote agent machine through Oracle Load Testing.
Below each navigation will be child nodes for additional information about a page
navigation, such as query strings and form action inputs. The right-click shortcut
menu includes additional script modification options specific to the script generated
using the HTTP Module.The Tree View is a graphical representation of the underlying
code in the Code View. For example, "Page [4] Ticker List" in the above Tree View
appears as Step Group and http.get method code in the Code View, as follows
(line breaks and spacing added for clarity):
beginStep("[4] Ticker List", 3422);
{
http.get(6, "http://testserver2/fmstocks/{{LINK_1_3,TickerList.asp}}",
http.querystring(http.param("ticker", "ter"),
http.param("company", "")),
Changes made in the Tree View are automatically updated in the Code View. Changes
made in the Code View are automatically updated in the Tree View. The HTTP Module
includes an API with HTTP protocol-specific methods. The commands include (but are
not limited to) methods to generate GET requests, POST requests, correlation
substitutions, validation, etc.
In step Group 2 (beginStep("[2] Home", 3264);), the page navigation uses the
variables defined in Step Group 1 to pass the data values as parameters to the
http.post method. The he http.solveXpath method assigns links HREF values
to variables using XPaths.
beginStep("[1] Stocks", 0);
{
http.get(2, "http://testserver2/fmstocks/", null, null, true, "ASCII",
"ASCII");
{
http.solveXpath("FORMACTION_0", ".//FORM[@name='loginform']/@action",
"default.asp", 0);
http.solveXpath("INPUT_0", ".//INPUT[@name='login']/@value", "ta496", 0);
http.solveXpath("INPUT_1", ".//INPUT[@name='password']/@value", "ta", 0);
http.solveXpath("INPUT_2", ".//INPUT[@name='LoginButton']/@value",
"Login", 0);
}
}
endStep();
beginStep("[2] Home", 3246);
{
http.post(4, "http://testserver2/fmstocks/{{FORMACTION_0,default.asp}}",
null, http.postdata(http.param("login", "{{INPUT_0,ta496}}"),
http.param("password", "{{INPUT_1,ta}}"),
http.param("LoginButton", "{{INPUT_2,Login}}")),
null, true, "ASCII", "ASCII");
{
http.solveXpath("LINK_1_3", ".//A[text()='research a company']/@href",
"TickerList.asp", 0);
}
}
endStep();
beginStep("[3] Ticker List", 1703);
{
http.get(13, "http://testserver2/fmstocks/{{LINK_1_3,TickerList.asp}}",
null, null, true, "ASCII", "ASCII");
}
endStep();
http.param("password", "{{INPUT_1,ta}}"),
http.param("LoginButton", "{{INPUT_2,Login}}")),
null, true, "ASCII", "ASCII");
{
http.solveXpath("LINK_1_3", ".//A[text()='research a company']/@href",
"TickerList.asp", 0);
}
}
endStep();
beginStep("[3] Ticker List", 1703);
{
http.get(13, "http://testserver2/fmstocks/{{LINK_1_3,TickerList.asp}}",
null, null, true, "ASCII", "ASCII");
}
endStep();
Example:
http.solveXpath("FORMACTION_0", ".//FORM[@name='loginform']/@action",
"default.asp", 0);
9. In the Java Code view, the Authentication consists of the code executed in the
http.addAuthentication procedure:
http.addAuthentication("http://testserver2", "username",
decrypt("KRT|J|xJPDP"));
Note: The pound (#) character and double brace ({{ and }})
character sequences need to be escaped with a preceding pound (#)
character if used in the Text Matching Test as a literal string (not a
string specifying an OpenScript databank or script variable). For
example, the pound character should be doubled (##) and double
braces should be preceded by a pound character (#{{ and #}}).
7. Select the source location that will be searched for the matching text:
■ HTML Display Contents: Search the browser rendered text of the page.
■ Raw HTML: Search HTML source of the page.
■ Response Header: Search the page Response Header.
8. Select the Pass when setting.
■ Selected text is present: The test case passes if the Text to Match string is
found in the selected source.
■ Selected text is absent: The test case passes if the Text to Match string is not
found in the selected source.
9. Select the Match type.
■ Exact: Matches the Text to Match string exactly.
■ Regular Expression: Matches using the Regular Expression specified in Text
to Match.
■ Wildcard: Matches using the wildcard characters specified in Text to Match.
10. Set the Verify only, never fail option.
11. Click OK. The Text Matching Test node is added to the script tree.
In the Java Code view, the http.assertText method will be added to the script
code if the Verify only, never fail option is not selected:
In the Java Code view, the http.verifyTextmethod will be added to the script
code if the Verify only, never fail option is selected:
http.verifyText("MyTextMatchTest", "Home", TextPresence.PassIfPresent,
MatchOption.Exact)
In the Tree View, the databank variable appears in place of the recorded value as
{{databankFileName.field,recordedValue}}.
In the Java Code view, the databank variable appears as
{{databankFileName.field,recordedValue}} in the
http.querystring(http.param() parameter of the http.get method:
http.get(6, "http://testserver2/fmstocks/TickerList.asp",
http.querystring(http.param("ticker", "{{fmstocks_data.ticker,ter}}"),
http.param("company", "")),
null, true, "ASCII", "ASCII");
Example:
http.addCookie("username=testCookie", "ASCII");
java.util.List <Cookie> cookies =
http.getBrowser().getCookieJar().getAllCookies();
for (Cookie cookie : cookies) {
getLogger().info(cookie.getUrl());
getLogger().info(cookie.getCookieString());
}
The Display & Editing for Correlation Rules Library & Editing view includes a list of
all default correlation rules included in the module(s), listed by application type. It
also provides a mechanism for adding, editing or deleting correlation rules.
Figure 6–3 The Display & Editing for Correlation Rules Library & Editing view
You can specify the navigations you want to parameterize and the data source you
want to drive the inputs from through navigation editing commands in the code view.
These commands map to the navigation editing GUI view.
beginStep("[2] Home", 3266);
{
http.post(4, "http://testserver2/fmstocks/{{FORMACTION_0,default.asp}}",
null, http.postdata(http.param("login", "{{INPUT_0,ta616}}"),
http.param("password", "{{INPUT_1,ta}}"),
http.param("LoginButton", "{{INPUT_2,Login}}")),
null, true, "ASCII", "ASCII");
{
http.solveXpath("LINK_1_3", ".//A[text()='research a
company']/@href", "TickerList.asp", 0);
http.solveXpath("LINK_1_2", ".//A[text()='Logout']/@href",
"logout.asp", 0);
}
}
endStep();
■ Encode strings: When selected, control and special characters in string are
encoded to the Character entity references. When cleared, control and special
characters in string are not encoded.
6. On the Query String tab, use the Add button to add the requested name/value
pairs to the Base URL. Note that you can use the Up and Down buttons to move
the selected query string parameter up or down one place in the search order.
7. On the Post Data tab, enter the XML post data to add to the Base URL.
8. On the Headers tab, use the Add button to add name/value pairs and actions to
the Base URL.
9. Click OK to add the HTTP XML Post Navigation node to the script tree.
10. In the Java Code view, the HTTP XML Post Navigation consists of the code
executed in the http.xmlPost method (line breaks and spacing added for
clarity):
http.xmlPost(0, "http://xmltest2",
http.querystring(http.param("xmlQueryString1", "xmlQueryValue1"),
http.param("xmlQueryString2", "xmlQueryValue2"),
http.param("xmlQueryString3", "xmlQueryValue3")),
"xmlPostDataString",
http.headers(http.header("xmlHeaderString1", "xmlHeaderValue1NoAction",
Header.HeaderAction.Add),
http.header("xmlHeaderString2", "xmlHeaderValue2IfNotSet",
Header.HeaderAction.SetIfNotSet),
http.header("xmlHeaderString3",
"xmlHeaderValue3ApplytoAll", Header.HeaderAction.GlobalAdd),
http.header("xmlHeaderString4", "xmlHeaderValue4Both",
Header.HeaderAction.GlobalSetIfNotSet)),
false, "ASCII", "ASCII");
Module
This chapter provides instructions on configuring and using the OpenScript Oracle
EBS/Forms Functional Test Module, which provides support for functional testing of
Oracle EBS/Forms web applications.
7.1.2 Prerequisites
The Oracle EBS/Forms Functional Test Module recorder has the following
prerequisites:
■ Before recording any script in Forms Functional Test Module, you must run the
Forms/EBS application at least once before attempting to record a script with
OpenScript on that machine. This ensures that required JRE/Jinitiator has been
installed and also verifies that forms applications can run successfully on that
machine inside of Internet Explorer.
the tree view or code view. Recording can be configured through Internet Explorer
only as the Oracle EBS/Forms Functional Test Module does not support Firefox.
The Oracle EBS/Forms Functional Test Module provides a record toolbar button that
lets you initiate the Oracle EBS/Forms recorder and capture Web/Oracle EBS/Forms
page actions to the script view. The record toolbar includes start and stop recording
toolbar buttons. OpenScript recorders also open a floating toolbar that can be used
while recording without having to switch between the browser and OpenScript.
You can set the default Web object attributes in the Oracle EBS/Forms Functional Test
Module Record Preferences. You can also edit object attributes in recorded scripts in
the tree view or the code view.
In addition to the predefined object identification, you can add an Object Library to the
script to record paths into a library file. Object Library files may be shared and reused
across other scripts. The Object Library files provide a more convenient "short name"
for objects to provide for more convenient programming.
The Oracle EBS/Forms Functional Test Module includes object identifiers that specify
how the recorder identifies Browser objects. You can add object identifiers or edit the
existing object identifiers in the Record preferences.
To add or edit an object identifier:
1. Select the OpenScript Preferences from the View menu.
2. Expand the Record node and select Forms Functional Test.
3. Click the Object Identification tab. This tab lets you specify the Oracle
EBS/Forms object identification attributes, as follows:
Name: shows the name(s) of the defined Oracle EBS/Forms object identifiers.
Attributes: shows the pattern(s) specified for the defined Oracle EBS/Forms object
identifiers.
Add: opens a dialog box for specifying a new Oracle EBS/Forms object identifier.
Edit: opens a dialog box for editing the selected Oracle EBS/Forms object
identifier.
Delete: deletes the selected Oracle EBS/Forms object identifier.
For each object element, you specify a name (typically a Oracle Form object
attribute), an operator, a value and a value type. As you add object elements,
OpenScript builds the object identifier using logical OR between each object
identifier element. Click Edit to change between logical OR and AND.
4. Click Add or select an existing object identifier and click Edit.
5. If adding a new object identifier, enter a name for the object identifier.
6. Add or edit object elements for the object identifier.
See the Web Functional Test Module for additional information about adding and
editing Object Identifiers.
7. Click OK. The object identifier is added to the record preferences.
12. Navigate the web site to record page objects, actions, and navigations. The page
objects, actions, and navigations will be added to the Run node of the script tree.
13. When finished navigating pages, close the browser.
14. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
15. Expand the Run node of the script to view the page objects, actions, and
navigation nodes in the script tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while
recording or playing back scripts. Doing so could result in
unpredictable behavior in the OpenScript application.
forms.textField(27, "//forms:textField[(@name='DIST_LIST_APPLICATION_
0')]").openDialog();
The Forms Action node includes actions for objects such as BlockScroller, Button,
Calendar, CheckBox, ChoiceBox, EditBox, EditorDialog, FlexWindow, HelpDialog,
InfoBox, List, ListOfValues, Notification, Calculator, RadioGroup, ResponseBox,
TabbedRegion, TextField, Tree, TreeList, SpreadTable, SchedulingDataClient. Other
object actions have corresponding Java code methods.
■ TreeList
■ SpreadTable
■ SchedulingDataClient
Many API methods can be added using the Oracle EBS/Forms Functional Test Module
Tree View. Additional methods can be added using the Java Code view.
This chapter provides instructions on configuring and using the OpenScript Oracle
EBS/Forms Load Test Module, which provides support for load testing of Oracle
EBS/Forms web applications.
■ Correlation Library. The Oracle EBS/Forms Load Test Module includes an Oracle
EBS/Forms-specific library of correlation rules for parameterizing scripts.
■ Test Cases (Validation). The Oracle EBS/Forms Load Test Module includes a
Status Bar test for validating validate Oracle EBS/Forms application content on
playback.
■ Oracle EBS/Forms-Specific Application Programming Interface (API). The Oracle
EBS/Forms Load Test Module includes a Oracle EBS/Forms Load Test Module
API Specification that can be used to customize Oracle EBS/Forms-specific scripts.
8.1.2 Prerequisites
The Oracle EBS/Forms Load Test Module recorder has the following prerequisites:
■ Before recording any script in Forms Functional Test Module, you must run the
Forms/EBS application at least once before attempting to record a script with
OpenScript on that machine. This ensures that required JRE/Jinitiator has been
installed and also verifies that forms applications can run successfully on that
machine inside of Internet Explorer.
■ You must set Use Browser Settings (selected) in the control panel proxy for all
installed JVMs. Depending upon the Java version, the Use Browser Settings is
either here:
– Control Panel - Select JInitiator/Sun Java - Proxies tab
or here:
– Control Panel - Select Java - General tab - Network Settings
■ HTTP Mode: All the communication happens over the HTTP protocol and gets
captured by both the proxy recorder and the Oracle EBS/Forms Load Test module.
The duplication of HTTP requests is filtered out by the Oracle EBS/Forms Load
Test module and the message log only retains the requests captured by Oracle
EBS/Forms Load Test module and not the request captured by proxy recorder.
■ HTTPS Mode: This mode the communication is very similar to that of HTTP
except the connection is made over the HTTP protocol on port 443 using SSL.
10. Click Finish. A new Script tree is created in the Script View.
11. Select Record from the Script menu. The browser automatically opens when you
start recording.
12. Load the web page where you want to start recording into the browser.
13. Navigate the web site to record page objects, actions, and navigations. The page
objects, actions, and navigations will be added to the Run node of the script tree.
14. When finished navigating pages, close the browser.
15. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
16. Expand the Run node of the script to view the page objects, actions, and
navigation nodes in the script tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while
recording or playing back scripts. Doing so could result in
unpredictable behavior in the OpenScript application.
3. Select the Script menu and then select Other from the Add sub menu.
4. Expand the Forms Load Action node.
5. Expand an action node and select the action.
6. Click OK.
7. Enter the object identification path for the object. You can use the Capture or
Select menu options to capture or select an object path.
8. Enter any required values to use for the object action.
9. Click OK. The action node is added to the script tree.
In the Java Code view, a nca.object(handlerName).action() method will
be added to the script code:
nca.treeList("handlerName").selectByIndex(0);
The Forms Load Action node includes actions for objects such as Application,
Button, CheckBox, ChoiceBox, List Item, List of Values, Pop List Item, Radio
Button, Tab, Text Field, Window, Generic Client, and Alert Dialog. Other object
actions have corresponding Java code methods.
If you need to troubleshoot specific script actions, you can convert the script action to
the raw XML messages and try playing back the script again to see if the XML
messages resolve the issue.
To convert EBS/Forms actions to XML client messages:
1. Right-click the script node you want to convert and select Properties. The Form
Window opens with the following options:
■ Automatically generate the Forms client messages: When selected, the script
uses the recorded Forms action on playback.
– Path: Shows the recorded Forms action path.
■ Send recorded Forms client messages: When selected, the script uses the
recorded raw XML client messages on playback.
– Description: Shows a description of the client messages.
■ Recorded Messages: Shows the raw XML client and server messages
generated between the application server and the web client during recording.
2. Select the Send recorded Forms client messages option. If necessary, you can edit
the raw XML messages.
3. Click OK.
The script node changes to a Send Message action action. The Java Code for
the action will change to a method in the following form:
nca.sendMessages(id,"description","<Messages>XML string</Messages>");
The raw XML message string can be very long and can increase script size.
■ Tab
■ Text Field
■ Window
Many API methods can be added using the Oracle EBS/Forms Load Test Module Tree
View. Additional methods can be added using the Java Code view.
■ Web Default Correlation - DOM Correlation - this rule implements the default
Web Document Object Model correlation rules for Oracle EBS/Forms applications.
This is a rather large log of messages and using the recorded log as a reference,
compare the messages being sent to the server by OpenScript. Check for messages that
appear in the recorded log but not in the playback log. It is normal to have messages
such as OUTERSIZE, LOCATION missing. The reason for this is because the
EBS/Forms load script recorder was designed keeping in mind that the user should
see actions being recorded in the script instead of messages.
For example, when recording the script, if the tester searches for an order and
deletes it, then during playback the script will fail because the order number no
longer exists to delete. In some situations it may be helpful to insert status bar text
validations, in cases where a status bar text message is expected.
In other cases, the Forms application may display an unexpected dialog box error
message indicating some validation failure or other business flow error in the
application itself. If such a dialog did not appear during recording, then any
subsequent actions will fail. Check the error log in the script to see if any error
dialog messages appeared. Check that all data inputs in the script are valid, and
carefully review the actions specified in the script.
3. In other cases, it may be difficult to diagnose the root cause of the problem without
technical support. For example, it could be that the application being tested is
using a custom forms object that sends a custom message to the server that the
Forms playback engine does not recognize.
IfError Messages
These messages are returned as a response of any forms request against the server
when playing the script in HTTP mode. The response content type for these messages
is 'plain/text' and the response code is '200 OK'
ifError:3
The client does not handle cookies. Enable cookie handling for that virtual user.
ifError:4
The server was unable to create an Oracle EBS/Forms process. Problem exists on the
server-side.
ifError:5
The server was unable to start the Oracle EBS/Forms process. Problem exists on the
server-side.
ifError:6
The Oracle EBS/Forms session was aborted and the VU is unable to communicate
with the server. In most cases this would occur when the server is experiencing a
heavy load or if there is a problem with the script.
ifError:7
The server is currently busy, re-try the request later. The VU will re-try this request
<n> number of times where <n> is a value specified in Forms Load Test playback
preferences before it throws an error/stops playback.
ifError:11/<n>
The server is busy, re-try the request in <n> milliseconds. This type of message will not
be displayed to the user, the VU will automatically re-try this request after <n>
milliseconds.
Module
This chapter provides instructions on configuring and using the OpenScript Oracle
Fusion/ADF Functional Test Module, which provides support for functional testing of
Oracle Application Development Framework (ADF)-based applications.
9.1.1 Prerequisites
The Oracle Fusion/ADF Functional Test Module recorder has the following
prerequisite:
■ Before recording any script in Oracle Fusion/ADF Functional Test Module, you
must configure the ADF Server so that the ADF application uses uncompressed
class names.
6. Click Next.
7. Select the Repository and Workspace.
8. Enter a script name.
9. Click Finish. A new Script tree is created in the Script View.
10. Select Record from the Script menu. The browser automatically opens when you
start recording.
11. Load the web page where you want to start recording into the browser.
12. Navigate the web site to record page objects, actions, and navigations. The page
objects, actions, and navigations will be added to the Run node of the script tree.
13. When finished navigating pages, close the browser.
14. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
15. Expand the Run node of the script to view the page objects, actions, and
navigation nodes in the script tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while
recording or playing back scripts. Doing so could result in
unpredictable behavior in the OpenScript application.
1. Start OpenScript.
2. Open the Oracle Fusion/ADF Functional script to play back.
3. Select Iterate from the Script menu or click the toolbar button.
4. Set the iteration count.
5. Select which databank file to use, if necessary.
6. Set the starting record for the selected databank in the Databank Settings section.
7. Click OK.
You can view the progress of the script playback in the Console View. You can
review the results of script playback in the Results View.
The ADF Action node includes actions for objects such as Calendar, Command
Button, Command Image Link, Command Link, Command Menu Item, Command
Toolbar, Dialog, Go Menu Item, Input Color, Input Combobox List of Values, Input
dateSelect ManyChoice, Input List of Values, Input Number Slider, Input Number
Spinbox, Input Range Slider, Input Text, Menu, Navigation Page, Page, Panel
Accordion, Panel Box, Panel, Splitter, Panel Tabbed, Panel window, Query, Quick
Query, Reset Button, Rich Text Editor, Select Boolean Checkbox, Select Boolean
Radio, Select Many Checkbox, Select Many Choice, Select Many Listbox, Select
Many Shuttle, Select One Choice, Select One Listbox, Select One Radio, Select
Order Shuttle, Show Detail, Show Detail Header, Table, Toolbar, Train, Train
Button Bar, Tree, Tree Table. Other object actions have corresponding Java code
methods.
■ Panel window
■ Query
■ Quick Query
■ Reset Button
■ Rich Text Editor
■ Select Boolean Checkbox
■ Select Boolean Radio
■ Select Many Checkbox
■ Select Many Choice
■ Select Many Listbox
■ Select Many Shuttle
■ Select One Choice
■ Select One Listbox
■ Select One Radio
■ Select Order Shuttle
■ Show Detail
■ Show Detail Header
■ Table
■ Toolbar
■ Train
■ Train Button Bar
■ Tree
■ Tree Table
Module
This chapter provides instructions on configuring and using the OpenScript Oracle
Fusion/ADF Load Test Module, which provides support for load testing of Oracle
Application Development Framework (ADF)-based applications.
■ Correlation Library. The Oracle Fusion/ADF Load Test Module includes an Oracle
ADF-specific library of correlation rules for parameterizing scripts that allows
playback of standard ADF Faces applications without manual correlation.
■ ADF Load-Specific Application Programming Interface (API). The Oracle
Fusion/ADF Load Test Module includes an ADF Load Test Module API
Specification that can be used to customize ADF Load test-specific scripts.
12. Navigate the web site to record page objects, actions, and navigations. The page
objects, actions, and navigations will be added to the Run node of the script tree.
13. When finished navigating pages, close the browser.
14. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
15. Expand the Run node of the script to view the page objects, actions, and
navigation nodes in the script tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while
recording or playing back scripts. Doing so could result in
unpredictable behavior in the OpenScript application.
1. Start OpenScript.
2. Select OpenScript Preferences from the View menu.
3. Expand the OpenScript node and the Correlation category.
4. Expand the ADF Load Test library.
5. Select or clear the check boxes to enable or disable specific rules.
6. Click the Add or Edit buttons to modify rules in the library.
7. Click OK.
This chapter provides instructions on using the OpenScript Web Services Module,
which supports testing of Web Services.
summary for failures). The Results Report compiles the same information into an
HTML Results Report. Results can be exported from the OpenScript GUI in standard
format (CSV / HTML). Results are also generated for unattended playback through
the command line.
The Web Services Module API includes a "ws" class that provides additional
programming functionality.
3. Select the Web Services postdata node where you want to add the Text Matching
test.
4. Select the Script menu and then select Other from the Add menu.
5. Select Text Matching Test from the Validation group.
6. Enter a name for the test.
7. Enter the Text to Match.
8. Enter any error message text to log if the test fails.
9. Select the source location to look for the text to match: HTML or Response Header.
10. Select the Pass when setting.
■ Selected text is present: the test case passes if the Text to Match string is
found in the selected source.
■ Selected text is absent: the test case passes if the Text to Match string is not
found in the selected source.
11. Select the Regular Expression option if the Text to Match is a Regular Expression.
Clear the Regular Expression option if the Text to Match is plain text.
12. Click OK to add the Text Matching Test node to the script tree.
In the Java Code view, the Text Matching Test consists of the code executed in the
http.match method (line breaks and spacing added for clarity):
http.match("Test name", "Text to Match", "Error Message",
Source location = Source.Html | Source.ResponseHeader,
pass when present = false | pass when absent = true,
is not RegExp = false | is RegExp = true);
Example:
http.match("MyTXTMatch", "Login", "Could not find login", Source.Html, false,
false);
Set the default Error recovery setting for the HTTP Text Matching test in the
OpenScript playback preferences.
8. Enter a URL. If you selected a Web Services navigation node in the script tree, the
URL will be automatically entered.
9. Select User Username Token
10. Enter the user name and password.
■ Username: specifies the user name to use for the Username Token in the XML
request.
■ Password: specifies the password to use for the Username Token in the XML
request.
■ Confirm Password: confirms the password.
11. Select the password type: Password Text or Password Digest.
■ Password Text: when selected, the password in the XML request is included as
plain text. The URI attribute for the <wsse:Password> element is set to
#PasswordText.
■ Password Digest: when selected, the password is encrypted. The URI attribute
for the <wsse:Password> element is set to #PasswordDigest.
12. Select or clear the Add Created Header, Add Nonce and Add Timestamp options.
11. Enter the path and file name or click Browse to select a file.
12. If the Web Services method includes any Attachment Part object identifiers, select
an Attachment Part from the list. If the Web Services method does not include any
Attachment Part object identifiers, the list will be empty.
13. Click OK to add the Security Attachment node to the script tree.
In the Java Code view, the Security Attachment consists of the code executed in the
ws.addSecurityAttachments method (line breaks and spacing added for
clarity) as follows:
ws.addSecurityAttachments("url", null,
ws.attachments(AttachmentMechanism.transferType,
ws.attachment("filename","attachmentPart")));
ws.post(15, "http://myurl.com:8080/services/MTOMService",
"<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:ser=\"http://service.interop.mtom.sample\">\r\n
<soapenv:Header/>\r\n
<soapenv:Body>\r\n
<ser:upload>\r\n
<!--Optional:-->\r\n
<ser:fileName>string</ser:fileName>\r\n
<!--Optional:-->\r\n
<ser:contents>cid:776598931581</ser:contents>\r\n
</ser:upload>\r\n
</soapenv:Body>\r\n
</soapenv:Envelope>",
http.headers(http.header("Content-Type", "text/xml;charset=UTF-8",
Header.HeaderAction.Modify),
http.header("SOAPAction", "\"urn:upload\"",
Header.HeaderAction.Modify)),
true, null, null);
}
ws.endMethod();
8. Click Finish. A new Script tree is created in the Script View and the WSDL
Manager view appears.
9. Select Record from the Script menu. The browser automatically opens when you
start recording.
10. Load the web page where you want to start recording into the browser.
11. Navigate the web site to record navigations. The navigations will be added to the
Run node of the script tree.
12. When finished navigating pages, close the browser.
13. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
14. Expand the Run node of the script to view the page navigation nodes in the script
tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while recording or
playing back scripts. Doing so could result in unpredictable behavior in the
OpenScript application.
This chapter provides instructions on configuring and using the OpenScript Siebel
Functional Test Module, which tests Siebel applications by accessing objects through
the Document Object Model (DOM) of the Web browser and the Siebel test automation
framework.
The New Project wizard (select New from the File menu) includes a "Siebel Functional
Test Script" option to use when creating Siebel functional testing projects in
OpenScript. The Siebel Functional Test Script Module records Siebel applications using
the Siebel test automation framework. OpenScript captures user actions and records
them to the OpenScript script nodes in a highly readable sequence of navigations and
actions.
12.2.1 Prerequisites
The instructions in this document assume the following prerequisites:
■ Testing hardware/environment is available.
■ The Siebel applications are installed on a Siebel Server.
■ The Oracle Application Testing Suite applications have been installed on a testing
machine.
■ The test machine can access the Siebel applications.
■ Some steps may require system administrator level privileges for the Siebel Server.
■ License for Siebel Test Automation required.
■ In general, Siebel applications are more memory intensive than CPU intensive. If
trade-offs need to be made in test hardware decisions, memory should be given
higher consideration than CPU speed.
■ Siebel web applications use Cookies to maintain the state information.
See the Siebel Testing Siebel eBusiness Applications documentation if you need to set
up secure access to the Siebel Test Automation framework.
3. Restart the Siebel Server.
■ Record actions slowly in the Siebel environment to make sure the recorder records
all actions to the OpenScript script. If possible, watch as the OpenScript script
pages are added to the script tree.
■ Siebel Popup windows may initially appear incorrect. Resize the window slightly
to refresh the page in the popup window.
■ Do not insert Siebel Tests in Siebel popup windows unless the test is necessary.
■ Save the script in OpenScript using Save As on the File menu. When you save a
Siebel proxy-recorded script, OpenScript automatically creates a Java Agent
versions of the script in the workspace. Depending upon the size of the script, the
file save operation may take some time.
where hostname is the machine name or IP address of the Siebel server and
application is the name of the Siebel application. For example, application
could be callcenter or callcenter_enu depending upon the Siebel version.
Enter the start URL and command into the browser address. for example:
http://siebelServer/callcenter_enu/start.swe?SWECmd=AutoOn
As you navigate pages, OpenScript records page navigation to the OpenScript script
tree.
or
/web:window[index='0']/web:document[index='10']
/web:form[index='0' or name='SWEForm1_0']
/web:input_text[id='s_1_1_16_0' or name='s_1_1_16_0' or index='1']
those controls. Actions on HI controls will be captured in the test script as OpenScript
"siebelFT" commands. Siebel SI components are standard Web controls which are
captured as standard OpenScript "web" commands using Web Functional Test object
attributes; however, Siebel Test Automation may provide additional attributes to
identify SI controls which take precedence over standard Web object/attributes. Object
Identification attributes can later be modified by users through the Preferences global
settings for new scripts or for already recorded commands in the tree view or code
view. Recording can be configured through Internet Explorer only as Siebel does not
support Firefox.
The Siebel Functional Test Module provides a record toolbar button that lets you
initiate the Siebel recorder and capture Web/Siebel page actions to the script view. The
record toolbar includes start and stop recording toolbar buttons. OpenScript recorders
also open a floating toolbar that can be used while recording without having to switch
between the browser and OpenScript.
Before recording Siebel Functional test scripts, make sure the Siebel test automation
framework is activated on the Siebel server. See Functional Testing Siebel Applications
for details about Prerequisites and the Siebel Test Environment.
8. Click OK. The object identifier path is updated in the record preferences.
and for SI Web objects, the object identification path appears as follows in Java code
commands unless special paths are enabled in the Siebel General recording
preferences:
/web:window[@index='0']
/web:document[@index='0']
/web:form[@index='0' or @name='SWEEntryForm']
/web:input_password[@id='s_swepi_2' or @name='SWEPassword' or @index='0']
The Siebel Functional Test Module includes object identifiers that specify how the
recorder identifies Browser and Siebel objects. You can set the default Siebel SI object
attributes in the Siebel Functional Test Module Record Preferences. You can add object
identifiers or edit the existing object identifiers in the Record preferences. The HI
control identification is provided by the Siebel Test Automation CAS Library. You can
also edit object attributes in recorded scripts in the tree view or the code view.
In addition to the predefined object identification, you can add an Object Library to the
script to record paths into a library file. Object Library files may be shared and reused
across other scripts. The Object Library files provide a more convenient "short name"
for objects to provide for more convenient programming.
To add or edit an object identifier:
1. Select the OpenScript Preferences from the View menu.
2. Expand the Record node and select Siebel Functional Test.
3. Click the Object Identification tab.
4. Click Add or select an existing object identifier and click Edit.
5. If adding a new object identifier, enter a name for the object identifier.
6. Add or edit object elements for the object identifier.
For each object element, you specify a name (typically a Siebel object attribute), an
operator, a value and a value type. As you add object elements, OpenScript builds
the object identifier using logical OR between each object identifier element. Click
Edit to change between logical OR and AND.
7. Click OK. The object identifier is added to the record preferences.
See the Using the Web Functional Test Module chapter for additional information about
adding and editing Object Identifiers.
12. Select Stop from the Script menu or click the Stop button on the OpenScript
toolbar.
13. Expand the Run node of the script to view the page objects, actions, and
navigation nodes in the script tree.
You can customize the script using the menu options or the Code View for specific
testing requirements.
Note: Do not close the script editor view or script project while
recording or playing back scripts. Doing so could result in
unpredictable behavior in the OpenScript application.
6. Click OK.
The Siebel action dialog boxes let you define the action to perform during
playback of a Siebel Functional Test script. This dialog box is used for most Siebel
actions including Application, Button, Calculator, Calendar, Checkbox,
Communications Toolbar, Currency, List, Menu, Page Tabs, PDQ, Rich Text, Screen
Views, Task Assistant, Text, Text Area, Threadbar, Toolbar, Tree, and View Applets.
Specific values may be required for specific actions.
■ Action: Shows the action to perform. Additional values for variables or
attributes may be required depending upon the action to perform.
■ Path: Specify the object ID of the Siebel or Web object on which to perform the
action. You can use the Capture or Select menu options to capture or select an
object path.
■ Value(s): Specify the variables or attributes as required for the specific action
on an object.
7. Enter the object identification path for the object.
8. Enter any required values to use for the object action.
9. Click OK. The action node is added to the script tree.
In the Java Code view, a siebelFT.object(objectId).action() method
will be added to the script code:
siebelFT.menu(100,"/siebelft:cas[@ClassName='SiebApplication'
and @RepositoryName='Siebel Universal Agent']
/siebelft:cas[@ClassName='SiebMenu'
and @RepositoryName='SiebMenu']").select("File\\\\File - Logout");
The Siebel Functional Test node includes actions for objects such as Application,
Calculator, Calendar, Communications Toolbar, Page Tabs, Task Assistant,
Threadbar, and View Applets, etc. Other object actions have corresponding Java
code methods.
The Siebel Load Test Module provides support for load testing of Siebel web
applications. The Siebel module is an extension to the HTTP Module. The OpenScript
Siebel Load Test module includes the following features:
■ The Siebel Load Test Script Module. The New Project wizard (Select New from the
File menu.) includes a "Siebel Load Test Script" option to use when creating Siebel
load testing projects in OpenScript. The Siebel Load Test Script Module records
Siebel applications at the protocol level. OpenScript captures user actions and
records them to the OpenScript script based upon HTTP requests and post data or
query strings.
■ Siebel-Specific Correlation Library. The Siebel module includes a transform library
for automatically finding dynamic values inside recorded Siebel pages and
substituting them into the appropriate Siebel HTTP requests.
■ Siebel-Specific Correlation Rules. These rules define various transform rules for
automatically finding/substituting Siebel parameters into a navigation. The Siebel
rules are specified in a Siebel-specific correlation library that is added to the
OpenScript correlation preferences.
■ Siebel-Specific Application Programming Interface (API). The Siebel module
includes a Siebel Module API Specification that can be used to customize
Siebel-specific scripts.
13.1.1 Prerequisites
The instructions in this document assume the following prerequisites:
■ Testing hardware/environment is available.
■ The Siebel applications are installed on a Siebel Server.
■ The Oracle Application Testing Suite have been installed on a testing machine.
■ The test machine can access the Siebel applications.
■ Some steps may require system administrator level privileges for the Siebel Server.
Notes:
■ Siebel web applications use Cookies to maintain the state information.
■ Each User must be logged into the same Siebel Application Server as first logged
into.
■ Do not use round robin load-balancing for clustered Siebel servers
where hostname is the machine name or IP address of the Siebel server and
application is the Siebel application to start. For example:
http://siebelserver/callcenter_enu/start.swe
Enter the start URL and command into the browser address. As you navigate pages,
the OpenScript proxy recorder records page navigation to the Script tree. You can view
the nodes in the script tree and in the Java code.
See the Troubleshooting Load Testing Issues section in the Testing Siebel eBusiness
Applications documentation in the Siebel document bookshelf for additional examples
of common issues to resolve for load test scripts.
If a script does not playback correctly, or has errors, you may need to add custom
dynamic values for Siebel parameters.
Check the PostData name/value pairs for the page navigation to verify the Siebel
entities have been properly parameterized during recording. Any Siebel parameters
that pass dynamic data from one page to the next should have custom dynamic values.
The PostData on the next page shows the destination of the dynamic values passed
from the previous page.
See the SWE API section of the Siebel Portal Framework Guide in the Siebel document
bookshelf for additional information about Siebel Web Engine (SWE) commands,
methods, and arguments.
13. The script node name/value pair changes to show the Databank alias name, field
name, and recorded value as a variable value. For example:
SWEUserName={{siebel_data.login,sadmin}}
14. Click the Playback toolbar button to playback the script once to verify the it plays
back correctly.
15. Click the Iterate toolbar button to playback the script with a Databank.
16. Set the Iteration count, starting record, and data usage and click OK.
19. In the Oracle Load Testing application, add the script to the Scenario.
20. Double-click the script name in the Scenario to define the Scenario details for the
script.
21. Make sure Java Client is selected as the User mode.
22. Set the Use Databanks setting is set to True (if the Use Databanks setting is not
shown, open the Scenario Details and set the option in the Main section).
23. Click Run Test and run the load test.
See the following sections of this document for details about defining ServerStats
metrics and running tests in the Oracle Load Testing console. See the Oracle Load
Testing User's Guide for additional information about using the features and options in
the Oracle Load Testing application.
Parameter Description
machine IP The machine name or IP address or
the Siebel Server.
path to Siebel server bin The drive and directory path to the
Siebel Server Manager program on
the Siebel server.
gateway The Network address of the Siebel
Gateway Name Server machine.
enterprise Siebel Enterprise Server name.
username Siebel Server administrator
username.
password Siebel Server administrator
password.
input_File The name of a file containing
commands to run in the Server
Manager program.
For additional information about monitoring Siebel servers, see the System Monitoring
and Diagnostics Guide for Siebel eBusiness Applications Version 7.7 (or newer)
documentation in the Siebel document bookshelf.
For example, for the server statistic Average Connect Time, the Regular
Expression would be as follows:
/AvgConnTime\s+([0-9]+)/
11. Enter the Key of value to use to parse the Regular Expression. The key of value
specifies which set of parenthesis in the Regular Expression is the value to return.
For Siebel statistics using the above Regular Expression, set the value to 1.
12. Enter the Sample Multiplier value. The following window shows a metric
configured to retrieve the Average Connect Time.
13. Click the Test button to get to the Test Setup window:
15. Verify the results returned the correct data value for the statistic from the Siebel
Server Manager program and did not return any errors.
Note: Manually run the srvrmgr program and list statistics on the Siebel Server
to verify the Regular Expression returns the correct data value/format.
16. Click Close.
17. Click Finish. The New metric appears in the Metrics tree under the User Defined
node.
18. Repeat steps 4-17 to configure additional Siebel metrics in ServerStats.
For additional information about monitoring Siebel servers, see the System Monitoring
and Diagnostics Guide for Siebel eBusiness Applications Version 7.7 (or newer)
documentation in the Siebel document bookshelf.
11. Click Next. The metric is added to the list of monitors in the configuration.
15. Verify the results returned the correct data values for the statistics from the Siebel
Server Manager program and did not return any errors.
16. Click Close.
Type Extension
ServerStats Metric .metric
ServerStats Metric Profile .hwm
ServerStats Configuration .config
You can export the graph to Adobe PDF, Microsoft Excel, or Comma Separated
Value formats.
The Create Reports tab also lets you retrieve session performance reports after the test
for post-testing analysis.
1. If necessary, click Create Reports tab.
2. Click the Sessions tab in the Reports and Graphs section.
3. Select the Session. The report appears in the Reports and Graphs section.
You can export or print the session report.
This chapter provides instructions on using the OpenScript Utilities Module, which
provides commonly used testing functions.
The following example shows how to parse a table of text in a .CSV file and print
values to the OpenScript console view:
Table table = utilities.loadCSV("C:/customer.csv");
Row row = table.getRow(0);
getLogger().info(row.get("LastName"));
The following example shows how to parse a table of text in a .XML file and print
values to the OpenScript console view:
XML xml = utilities.loadXML("C:/oceans.xml");
XML root = xml.getChildren()[0];
getLogger().info(root.getTagName());
XML[] oceans = root.getChildren();
13. Select the node where you want to add the database query or execute statement.
14. Select the Script menu and then select Other from the Add sub menu.
15. Expand the Database node and select SQL Query or SQL Execute.
16. Specify the SQL statement to query or execute and click Add.
17. Specify a data type and define a name for the parameter.
21. Select the Script menu and then select Other from the Add sub menu.
2. Create and record a test script. The Tools menu appears on the OpenScript menu
bar for functional and load test scripts.
3. Select Generate XPaths from the Tools menu.
4. Click Browse and select the XML file to load.
5. Expand the XML tree under the Tags section of the XML file.
6. Select the XML tag to use to generate the XPath. The generated XPath appears in
the XPath Expression field in a form similar to /Oceans/ocean[1]/@name.
7. Use the Ctrl+C and Ctrl+V keyboard combinations to copy and paste the
generated XPath to a method in the Java Code tab of the script view.
The XPath Expression can be used in the utilities findByXPath API method, as
follows:
utilities.loadXML("filePath").findByXPath(xpath, xml)
This chapter provides instructions on using the OpenScript Shared Data Module,
which allows data to be passed between scripts using a shared data queue.
Once you have enabled the Shared Data service, you can set the password
encryption and the connection parameters and then use the Shared Data API to
manipulate message queues or hash maps. You use the sharedData class in the
Java code view to create manipulate message queues and hash maps.
After setting the connection parameters, you can user the Shared Data API in the Java
Code view to manipulate data in message queues and hash maps.
In rare cases, some users may want to use a different Oracle Load Testing controller
machine for sending and receiving shared data. If you want to do this, you must set up
a domain trust between the Oracle Load Testing controller machine used for running
the load test and the Oracle Load Testing controller machine used for hosting the
shared data.
■ pollFirst
■ pollLast
■ putToMap
■ removeFromMap
■ setConnectionParameters
■ waitFor
The setConnectionParameters API method can be added using the script Tree View.
Additional methods can be added using the Java Code view.
This appendix lists the parameters for running OpenScript scripts from the command
line. All OpenScript scripts may be run from the command line assuming that:
■ All resources that the script depends on, including databank files, object library
files, and other scripts it runs, must be accessible from the machine where the
script is run.
■ The installed version of OpenScript or agent is newer or the same as the version
used to create the script.
To run a script from the command line, type:
[OpenScript Install Dir]/runScript.bat Path/ScriptName.jwg
[options]
If OpenScript is not installed, but the OATS agent is installed, type:
[OATS Install Dir]/agent/runScript.bat Path/ScriptName.jwg
[options]
Path is the full drive and directory path of the file location. When specifying file
paths, use forward-slash (/) instead of back-slash (\) to ensure the back-slash notation
is not misinterpreted in Java. If you must use back-slash notation, use double
back-slashes (\\) in the file paths. For example, [OATS Install
Dir]\\agent\\runScript.bat.
[options] may consist of any number of agent command line settings.
■ Except where specifically noted, all settingId values are NOT case-sensitive.
For example, -iterations 10 means the same thing as -ITERATIONS 10.
■ It is possible to view all settings passed to a script by typing the following code
inside an OpenScript script:
info(getSettings().toString());
■ Custom settings may be used in a script and specified on the command line. For
example, consider a script with a setting "todaysURLToTest":
public void run() throws Exception {
info("Today we will test the URL " + getSettings().get("todaysURLToTest"));
}
■ The runScript program can only accept 9 command line arguments. Use the
-propertiesPath setting to specify a file containing a larger number of
properties.
Setting Description
-dboptions Specify which databank records to use when playing
alias:index:mode:range,alias: back the script. Use
index:mode:range,...
-dboptions
alias:index:mode:range,alias:index:mode
:range,... where alias is a databank alias,
index is the first databank record to retrieve (first
record is 1), and mode is one of the following strings:
■ FIRST_RECORD_ONLY - The Virtual User will
only use the first record assigned to it.
■ USE_ALL_RECORDS - Stop after all records are
used.
■ STOP_AFTER_LAST_RECORD - Stop after the
last record in the databank file is used.
■ LOOP_FOREVER - Loop over all records for as
many iterations are specified in -iterations.
This is the default mode if no mode is specified.
range (optional) specifies which range of records to
retrieve, in the format: rangeMin:rangeMax. For
example, 5:10 means the range of records starting at
record 5 and ending at record 10. It not specified,
assumes all records in the databank.
Regardless of the databank setting, the VU will never
run for more iterations than specified in the
-iterations setting.
Example 1: To loop over records starting at the 5th
row in the databank with alias "fmstocks_data", use:
-dboptions fmstocks_data:5:LOOP_FOREVER
Example 2: A databank with alias "fmstocks_data"
contains 15 records. To iterate over records 5 through
10, starting at record 7 (i.e. 7,8,9,10,5,6,7,8,9,10,5,6...),
for at most 100 iterations, use:
-iterations 100 -dboptions fmstocks_
data:7:LOOP_FOREVER:5:10
Setting Description
-delayPercentage mode Specify how long to delay between steps in a script.
Depending on the mode, this setting may be used in
conjunction with other settings. mode should be one
of the following numbers:
-2 No Delay.
1 Use Recorded Delay. Optionally specify a
minimum and maximum amount of delay using
-delayMinSeconds n and -delayMaxSeconds
m, where n and m are given in seconds. If unspecified,
the default minimum and maximum amount of delay
to use are 0 and 5 seconds, respectively.
-1 Delay for a random number of seconds.
Optionally specify a minimum and maximum
amount of delay using -delayMinSeconds n and
-delayMaxSeconds m, where n and m are given in
seconds. If unspecified, the default minimum and
maximum amount of delay to use are 0 and 5
seconds, respectively.
0 Delay for a random number of seconds using a
percentage threshold range around the recorded
delay. Optionally specify a lower and upper
percentage delay range using -delayLower p and
-delayUpper q, where p and q are a decimal value
between 0 and 1. If unspecified, 0 will be used for the
percentage threshold, resulting in the actual recorded
delay being used.
-iterationDelay n Pause for n seconds between iterations.
-iterations n Run n iterations of the script.
-loglocalvudisplay true|false Create VUDisplay.txt and VUDisplay.csv result
output files in the folder from which the agent was
launched. The Virtual User Display output is not
supported by functional test modules. The
loglocalvudisplay setting is case-sensitive and
must be exactly loglocalvudisplay.
-noReport true|false Set to true to disable generation of the results report.
The default is false.
-preserveVariables true|false Set to true to preserve variables between iterations,
false to clear variables between iterations. Variables
refer to variables set using the Variables service, i.e.
getVariables().set(), not local Java code
variables.
-propertiesPath path Specify the full path of a Java .properties file
containing additional command line setting
name=value pairs to add.
Example usage:
-propertiesPath
"C:/additionalSettings.properties"
Setting Description
-resultReportFolder path Specify the output folder for all result report files.
If it is not specified, the default output folder will be:
[script folder]/SessionId
Example usage:
-resultReportFolder "C:/result"
Setting Description
-browser.type type Specify the browser type to use for script playback
where type is one of the following (use exact case
and no spaces):
■ InternetExplorer
■ Firefox
The default is InternetExplorer.
-browser.startupTimeout n Specify n seconds to wait for the browser to start
before timing out. The default is 15 seconds.
-browser.overridePath path OpenScript automatically detects where Internet
Explorer and Firefox browser processes physically
exist in the file system. In case the path to one of
these browsers is incorrect, specify an alternative
path to use when launching the specified browser
type. This setting is not intended to be used to
specify the path to an unsupported browser.
Example usage:
-browser.pathOverride
"D:/Programs/Firefox/firefox.exe"
A.2.3.1 Proxy
The following table lists the proxy command line settings.
Setting Description
-http.proxyHost host Set the proxy host to the specified host. If no proxy
host is specified, then no proxy is used.
Example usage:
-http.proxyHost "proxyserver.mycompany.com"
Setting Description
-http.proxyPort port_number Set the proxy port to the specified port_number.
Example usage:
-http.proxyPort 1234
A.2.3.2 Compression
The following table lists the compression command line settings.
Setting Description
-http.useGzip true|false Enable GZIP compression. The client will add gzip
to every Accept-Encoding HTTP request header. If
the server responds with GZIP-compressed data,
OpenScript will decompress it. The default value is
true.
-http.useDeflate true|false Enable Deflate compression. The client will add
deflate to every Accept-Encoding HTTP request
header. If the server responds with
Deflate-compressed data, OpenScript will
decompress it. The default value is false.
A.2.3.3 Headers
The following table lists the header command line settings.
Setting Description
-http.userAgentHeader Browser Emulation. Specify the User-Agent header
string to use when making requests. It is not required
and harmless to include the User-Agent: prefix in
the value itself. Most OpenScript scripts override this
setting with the User-Agent header value found
during recording.
Example usage:
-http.userAgentHeader "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0)"
Setting Description
-http.version version Specify the HTTP version string to append to each
request, i.e. HTTP/1.1 or HTTP/1.0. If no value
specified, agent will use HTTP/1.1
-http.accept acceptString Specify the HTTP Accept header to send by default
for all requests.
A.2.3.4 Connections
The following table lists the connection command line settings.
Setting Description
-http.useKeepAlive true|false Specify whether or not to keep HTTP connections
alive after using them. Default is true to enable
keep-alive connections.
-http.maxKeepAliveRequests n Specify an integer n number of requests to make
before closing a keep-alive connection. Must be used
together with http.useKeepAlive.
-http.maxConnections n Specify an integer n maximum number of
connections a single virtual user may have open
concurrently before blocking (waiting) for a new
connection to become available. This setting only
applies in OpenScript when concurrent sections are
used in the script. The default value if not set is 2
connections per virtual user.
-http.connectionSpeed n Specify the number of bytes/sec n to limit the
download speed. For example, to download at
56KBps, specify 56000. If no value specified, or an
empty string is specified, this method assumes true
line speed should be used.
A.2.3.5 Other
The following table lists other HTTP command line settings.
Setting Description
-http.ignoredUrls list_of_ Specify a comma-separated list of case-insensitive
urls URLs not to request during playback. The URLs only
need to be the ENDS of URLs, not the entire URLs.
Example usage:
-http.ignoredUrls ".jpg,.gif,.css."
Setting Description
-http.useCookies true|false Specify whether or not to allow the browser to
remember and use session or persistent cookies
during playback. The default value is true, use
cookies.
-http.downloadLocalFiles Specify whether or not the agent should download
true|false files that exist in the local file system. When local files
are not downloaded, the contents are not displayed
in the Oracle Load Testing Virtual User Display, and
it is not possible to solve variables against the
contents, for example. The default value is false, do
not download local files.
-http.preserveCookies Set to true if cookies should be preserved between
true|false iterations. Set to false if cookies will be cleared
between iterations. The default value is false, do
not preserve cookies between iterations.
-http.preserveConnections Set to true if the browser should attempt to reuse
true|false any open browser connections if possible between
iterations. Each virtual user maintains its own set of
connections that it never shares with other virtual
users. The default value is true, preserve
connections between iterations.
-http.maxContentSize n Specify the maximum number of kilobytes (KB) to
download from a server for a given request. Set to -1
to mean unlimited download size. The default value
is -1, unlimited.
-http.socketTimeout n Specify the socket timeout in n seconds. The default
value is 120 seconds.
Setting Description
-http.useDownloadManager Specify if the Download manager is enabled during
true|false playback. The default is false.
-http.downloadManager.css Specify if css resources in <Link> tags are
true|false downloaded during playback. The default is false.
-http.downloadManager.Image Specify if image resources in <Img> tags, in the
true|false "background" attribute of a tag, or in <style> tags
with "background:url" patterns are downloaded
during playback. The default is false.
-http.downloadManager.embedob Specify if object resources in <Embed> tags or in
ject true|false <Object> tags are downloaded during playback. The
default is false.
-http.downloadManager.script Specify if script resources in <Script> tags are
true|false downloaded during playback. The default is false.
-http.downloadManager.applet Specify if applet resources in <Applet> tags are
true|false downloaded during playback. The default is false.
-http.ignoredUrlRegexps Specify the Regular Expression(s) string to use to
string ignore specific resources. For example, the expression
Login_Banner(.+?) would not download
resources such as Login_Banner1.gif and Login_
Banner2.gif. Multiple Regular Expressions can be
separated using a comma (,).
Setting Description
-ft.smartMatch format Specifies which format to use to match attributes in
an object path. The match format can be a
wildcard-formatted or a
regular-expression-formatted expression. format is
one of the following settings:
wildcard - (default) Attributes in the given path
may contain wildcards for unknown characters. For
example, title="Welcome, user *". An asterisk "*"
matches any number of characters. A question mark
"?" matches any single character.
wildcardThenRegex - Attributes in the given path
may contain a wildcard-formatted expression, or a
regular-expression-formatted expression. During
playback, an attempt is first made to find the object
assuming a wildcard format, then an attempt is made
to find the object assuming a regular-expression
format.
regex - Attributes in the given path may contain a
regular expression.
-ft.smartMatch true|false When true, the OpenScript Smart Match object
identification ranking feature is enabled. The default
value is true, enabled.
Setting Description
-formsft.startup_timeout n Specify n seconds to wait for the Forms applet to
start up before failing the script due to a timeout. The
default value is 30 seconds.
-formsft.action_timeout n Specify n seconds to wait when trying to play an
action before timing out because the object required
could not be found. The default value is 30 seconds.
-formsft.capture_screenshot Set to true to capture screenshots of the Forms
true|false applet during playback. The default value is true.
Setting Description
-formslt.capture_message_ Set to true to capture message details during
details true|false playback. When true, OpenScript captures and stores
Forms message requests, responses, and information
about all loaded Forms components during playback.
This information is useful to have when debugging
the script.
OpenScript displays captured details in the
"Messages" and "Object Details" tabs of the Details
view. Oracle Load Testing displays this information
in the Virtual User Display based on the "Virtual User
Display" settings.
Capturing message details is a memory-intensive
operation. During heavy load testing, it is
recommended to clear this setting to reduce the
amount of heap space required by the agent.
Setting Description
-ENCRYPTION_PROPERTIES_FILE Specify the full path and file name to use for
path\encryption.properties encrypted password authentication. The file name is
C:\Documents and
Settings\username\osworkspace\.metadata\.plugins
\oracle.oats.scripting.utilities\encryption.properties.
Set the password encryption to Encrypt script data in
the General Encryption Preferences. Generate the
encrypted password by selecting Add from the
Script menu, expanding the Shared Data folder and
selecting Set Connection Parameters. Specify the
connection parameters then specify the path and file
name in your command line settings.
-sharedData.actionTimeout Specify the maximum time in seconds to wait for the
timeout requested data to return.
-sharedData.Address address Specify the address of the Oracle Load Testing for
Web Application server to use for the shared data
service. For example: t3//:localhost:8088 or
t3://machinename.us.oracle.com:8088.
-sharedData.Password password Specify the password to use for authentication. Note
that this is a clear text password that is not secure.
-sharedData.encryptedPassword Specify the encrypted password to use for
encryptedPassword authentication. Set the password encryption to
-ENCRYPTION_PROPERTIES_FILE Encrypt script data in the General Encryption
path\encryption.properties Preferences. Generate the encrypted password by
selecting Add from the Script menu, expanding the
Shared Data folder and selecting Set Connection
Parameters. Specify the connection parameters then
copy the encrypted password from the Java Code
view to your command line settings similar to the
following example:
-sharedData.encryptedPassword
gLM7NB+n7Yba0FlspMDX8A== -ENCRYPTION_
PROPERTIES_FILE path encryption.properties
Setting Description
-sharedData.obfuscatedPasswor Specify the obfuscated password to use for
d obfuscatedPassword authentication. Set the password encryption to
Obfuscate script data in the General Encryption
Preferences. Generate the obfuscated password by
selecting Add from the Script menu, expanding the
Shared Data folder and selecting Set Connection
Parameters. Specify the connection parameters then
copy the obfuscated password from the Java Code
view to your command line settings similar to the
following example:
-sharedData.obfuscatedPassword
RG5CE6b1u8cG9VzbbnW6cQ==
-sharedData.UserName name Specify the user name to use for authentication. The
default name is oats unless changed in the Oracle
Application Testing Suite configuration.
Setting Description
-web.event_time_out n Specify the Object Timeout n in seconds. If an object
cannot be found in n seconds, the action will fail. The
default value is 60.
-web.capture_html true|false Specify whether or not to capture the browser HTML
during playback.
-web.capture_screenshot Specify whether or not to capture screenshots during
true|false playback.
-web.clear_cookies true|false Specify whether or not to clear browser cookies
between iterations.
-web.clear_cache true|false Specify whether or not to clear the browser cache
between iterations.
-web.webdom_proxy_port n Specify the port used for communication between the
web browser and the agent. The default value is
7666.
-web.capture_screenshot_ Specify the number of milliseconds to wait after a
interval n new page is detected and the screenshot is captured.
The default value is 500.
-web.date_format date_format_ Specify a date format string to override the default
string date format string used when performing date
validation tests.
■ Fail - report the error and fail the current iteration of the script.
A.2.9.1 General
The following table lists the general error recovery settings.
Setting Description
err.basic.VARIABLE_NOT_FOUND Variable Not Found.
err.basic.CREATE_VARIABLE_ERROR Create Variable Failed
err.basic.FILE_NOT_FOUND File Not Found
err.basic.SEGMENT_PARSER_ERROR Segment Parser Failed
err.basic.BINARY_DECODING_EXCEPTION Binary Decode Failed
err.basic.ENCRYPTION_SERVICE_NOT_ Encryption Service Not Initialized
INITIALIZED
err.basic.GENERAL_SCRIPT_EXCEPTION Unexpected Script Error
Setting Description
err.functionalTest.FT_MATCH_ERROR Text Matching Test failed
err.functionalTest.OBJECT_TEST_ERROR Object Test failed
err.functionalTest.TABLE_TEST_ERROR Table Test failed
A.2.9.3 HTTP
The following table lists the HTTP error recovery settings.
Setting Description
err.http.ZERO_LENGTH_DOWNLOAD Zero Length Downloads
err.http.MATCH_ERROR Text Matching Test failed
err.http.RESPONSE_TIME_ERROR Response Time error
err.http.SOLVE_ERROR Solve Variable failed
err.http.HTML_PARSING_ERROR HTML Parsing error
err.http.INTERNET_INVALID_URL Invalid URL
err.http.INVALID_HTTP_RESPONSE_CODE Invalid HTTP Response Code
err.http.KEYSTORE_LOAD_ERROR Client Certificate Keystore error
Setting Description
err.formsFT.FORMS_FT_ERROR Oracle Forms Error
Setting Description
err.formsLT.CONNECT_ERROR Forms Connect Error
err.formsLT.IO_ERROR Forms Input/Output Communication
Error
err.formsLT.MATCH_ERROR Forms Content Match Failed
err.formsLT.PLAYBACK_ERROR Forms Playback Error
err.formsLT.COMPONENT_NOT_FOUND Forms Component Not Found
Setting Description
err.webdom.RESPONSE_TIME_ERROR Response Time Error
err.webdom.WEBDOM_SOLVE_ERROR Solve Variable Failed
A.2.9.7 Utilities
The following table lists the Utilities error recovery settings.
Setting Description
err.utilities.SQL_ERROR SQL Execute Error
err.utilities.XML_PARSING_ERROR XML Parsing Error
err.utilities.CSV_LOADING_ERROR CSV Loading Error
This appendix lists the error messages for the OpenScript Workbench Platform and
HTTP and Siebel Modules.
C.1 Installation
In some instances, the OpenScript Internet Explorer and/or Firefox browser plug-ins
fail to install properly. You can manually install and uninstall Internet Explorer and/or
Firefox browser plug-ins using batch files provided with OpenScript to resolve the
issue.
The following batch files are located in <installdir>\OpenScript
■ InstallBrowserHelpers.bat
■ UninstallBrowserHelpers.bat
Usage: file.bat installation path [install|uninstall] [IE|FF|both]
The following example shows the usage and default values:
InstallBrowserHelpers.bat C:\OracleATS\OpenScript\ install both
Troubleshooting C-1
Manual Installation of Firefox Extension
Apache 2.0 (Apache BCEL, Apache Jakarta, Apache WSS4J XML, Tomcat, TrueZip,
Xalan, XMLBeans)
All recipients must receive a copy of the Apache 2.0 license (see the Appendix below
for attachment of the license http://www.apache.org/licenses/LICENSE-2.0.html);
All distributed source code, documentation, and configuration files must retain all
copyright, patent, trademark and attribution notices contained in the Apache
materials;
If the Apache code retains a "NOTICE" text file, then Oracle must include in
distributions of such Apache code the "NOTICE" text file in at least one of the
Cryptix
"Copyright (c) 1995-2005 The Cryptix Foundation Limited. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met: 1. Redistributions of source
code must retain the copyright notice, this list of conditions and the following
disclaimer. 2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution. THIS SOFTWARE IS
PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE."
Intel Utilities
"Copyright © 1996 Intel Corporation. All Rights Reserved. Permission is granted to
use, copy and distribute this software and its documentation for any purpose and
without fee, provided, that the above copyright notice and this statement appear in all
copies. Intel makes no representations about the suitability of this software for any
purpose. This software is provided "AS IS." Intel specifically disclaims all warranties,
express or implied, and all liability, including consequential and other indirect
damages, for the use of this software, including liability for infringement of any
proprietary rights, and including the warranties of merchantability and fitness for a
particular purpose. Intel does not assume any responsibility for any errors which may
appear in this software nor any responsibility to update it., this list of conditions and
the disclaimer below in the documentation and/or other materials provided with the
distribution."
JaWin
"This product includes software developed by the DevelopMentor OpenSource Project
(http://www.develop.com/OpenSource). Copyright (c) 2001 DevelopMentor. All
rights reserved. Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: 1.
Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer. 2. Redistributions in binary form must
reproduce the above copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided with the
distribution. 3. The end-user documentation included with the redistribution, if any,
JDOM
"This product includes software developed by the JDOM Project
(http://www.jdom.org/). Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met: 1. Redistributions of source
code must retain the above copyright notice, this list of conditions, and the following
disclaimer. 2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the disclaimer that follows these conditions in the
documentation and/or other materials provided with the distribution. 3. The name
"JDOM" must not be used to endorse or promote products derived from this software
without prior written permission. For written permission, please contact <request_
AT_jdom_DOT_org>. 4. Products derived from this software may not be called
"JDOM", nor may "JDOM" appear in their name, without prior written permission
from the JDOM Project Management <request_AT_jdom_DOT_org>. In addition, we
request (but do not require) that you include in the end-user documentation provided
with the redistribution and/or in the software itself an acknowledgement equivalent
to the following: "This product includes software developed by the JDOM Project
(http://www.jdom.org/)." Alternatively, the acknowledgment may be graphical using
the logos available at http://www.jdom.org/images/logos. THIS SOFTWARE IS
PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE."
TidyCom
"Copyright © 1998-2000 World Wide Web Consortium."
Xstream
"Copyright (c) 2003-2006, Joe Walnes. Copyright (c) 2006-2007, XStream Committers.
All rights reserved. Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer. Redistributions in binary form must
reproduce the above copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided with the
distribution. Neither the name of XStream nor the names of its contributors may be
used to endorse or promote products derived from this software without specific prior
written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE."
Zlib
"Copyright (c) 1995-2005 Jean-loup Gailly and Mark Adler. This software is provided
'as-is', without any express or implied warranty. In no event will the authors be held
liable for any damages arising from the use of this software. Permission is granted to
anyone to use this software for any purpose, including commercial applications, and
to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of
this software must not be misrepresented; you must not claim that you wrote the
original software. If you use this software in a product, an acknowledgment in the
product documentation would be appreciated but is not required. 2. Altered source
versions must be plainly marked as such, and must not be misrepresented as being the
original software. 3. This notice may not be removed or altered from any source
distribution. Jean-loup Gailly jloup@gzip.org. Mark Adler
madler@alumni.caltech.edu"
Index-1
databanks exceptions, 2-6
configuring, 4-2 adding breakpoints, 3-26
definition, 1-2, 4-2 execute code, 3-28
getting records, 4-3
using, 4-1
F
debug
setting preferences, 2-6 File Not Found setting, 2-7
debug logging filter
enabling, 3-28 See URL filter, 6-12
Debug View, 1-15 Finish section
debugging scripts, 3-23 definition, 1-2
adding breakpoints, 3-24 folders
adding Java exception breakpoint, 3-26 managing, 3-2
adding views, 3-24 for statement
inspecting variables, 3-27 adding to script, 3-11
pausing and resuming scripts, 3-26 Form Server Connect Failed setting, 2-8
delay Forms Component Not Found setting, 2-8
adding to script, 3-10 Forms Contents Match Failed setting, 2-8
Details View, 1-3, 1-4, 1-13 Forms Input/Output Communication Error
Developer Perspective, 1-4 setting, 2-8
available options, 1-5 Forms Playback Error setting, 2-8
Breakpoint View, 1-4, 1-15 Function Failed setting, 2-7
Console View, 1-4, 1-14 function statement
Debug View, 1-4, 1-15 adding to script, 3-11
Details View, 1-4, 1-13 Functional Test module
Error Log View, 1-4 setting playback preferences, 2-9
Navigator View, 1-4, 1-15
Package Explorer View, 1-4, 1-15 G
Problems View, 1-4, 1-13
Properties View, 1-4, 1-14 General preferences, 2-2
Results View, 1-4, 1-14
Script View, 1-4, 1-12 H
Variables View, 1-4, 1-15
Has Error control statement
DIME, 11-7
adding to script, 3-20
Direct Internet Message Encapsulation, 11-7
headers group, 6-14
Hide browser during playback setting, 2-10
E High-Interactivity components, 12-2
EBS/Forms Functional Test module HTML Parsing Error setting, 2-7
setting playback preferences, 2-14 HTTP error messages, B-7
setting record preferences, 2-18 HTTP exceptions, B-7
EBS/Forms Load Test module HTTP Get Navigation, 6-30
setting record preferences, 2-18 HTTP module
EnableAutomation setting, 12-3 about, 6-1
encode strings, 6-31, 6-32 key features, 6-1
encoding setting playback preferences, 2-10, 6-13
resetting, 6-17 setting record preferences, 2-16, 6-11
encryption preferences, 2-3 using, 6-1
Encryption Service Not Initialized setting, 2-7 HTTP scripts
Error Log View, 1-4 adding a DOM variable, 6-22
error recovery adding authentication, 6-23
adding to script, 3-17 adding cookies, 6-27
functional testing, A-13 adding Get Navigation, 6-30
general, A-13 adding Multipart Post Navigation, 6-31
HTTP, A-13 adding Post Navigation, 6-30
Oracle EBS/Forms functional testing, A-13 adding server response tests, 6-25
Oracle EBS/Forms load testing, A-14 adding text matching tests, 6-24
setting preferences, 2-6 adding user agent, 6-27
utilities, A-14 adding variables, 6-22
Web functional testing, A-14 adding XML Post Navigation, 6-32
deleting cookie, 6-27
Index-2
deleting variables from, 6-23 Multipart Post Navigation, 6-31
finding variable in, 6-23
modifying, 6-19
N
playing back, 6-13, 6-16
recording, 6-10, 6-12 navigation
using HTTP API, 6-33 adding, 5-8, 6-28
viewing playback results, 6-16 adding browser navigation, 5-8
HTTP service exceptions, B-7 adding HTTP Get, 6-30
adding HTTP Post, 6-30
adding multipart Post, 6-31
I adding XML Post, 6-32
import Navigator View, 1-4, 1-15
REUI User Session log, 3-9 nodes
Initialize section moving in a script, 3-23
definition, 1-2 Nonce, 11-6
inspect variable, 3-27
installation, 1-2
O
troubleshooting, C-1
Invalid HTTP Response Code setting, 2-8 Object Enumeration
Invalid URL setting, 2-8 setting preferences, 2-9
I/O Errors, B-10 object identification
iterations, 6-16 editing libraries, 5-18
setting preferences, 2-18, 2-19, 2-20
x,y offset, 5-17
J x,y position, 5-17
Java Code Editor, 1-5, 1-13 object identifiers
finish(), 1-13 adding/editing, 5-3
initialize(), 1-13 Object Not Found setting, 2-8
run(), 1-13 Object Test Failed setting, 2-7
Java Code Script Offset (x,y), 5-17
creating new project, 3-3 OpenScript
Java Exception Breakpoint, 3-26 Breakpoint View, 1-15
Console View, 1-14
Correlation interface, 1-2
L
Databanking, 1-2
log message Debug View, 1-15
adding to script, 3-11 definition, 1-1
Details View, 1-13
M Developer Perspective, 1-4
installing, 1-2
Match Errors, B-11 Java Code View, 1-2
Menu options menu options, 1-4
Edit, 1-5 Navigator and Package Explorer Views, 1-15
File, 1-4 preferences, 1-2
Help, 1-9 Problems View, 1-13
Navigate, 1-9 Properties View, 1-2, 1-14
Project, 1-10 Results View, 1-14
Run, 1-8 starting, 1-3
Script, 1-6 tool bar, 1-11
Search, 1-6 tree view, 1-2
Tools, 1-9 Variables View, 1-15
View, 1-7 OpenScript Workbench, 1-3
Window, 1-10 options
module error messages, B-1 Configure Databank, 4-2
modules Substitute Variable, 4-2
ADF Functional Test, 9-1 Oracle EBS/Forms
Oracle EBS/Forms Functional Test, 7-1 creating new project, 3-3, 3-4
Oracle EBS/Forms Load Test, 8-1 Oracle EBS/Forms Error setting, 2-8
Oracle Fusion/ADF Load Test, 10-1 Oracle EBS/Forms Functional Test module
Web Functional Test, 5-1 about, 7-1
MTOM, 11-7
Index-3
adding Oracle Forms object identifiers, 7-3 Playback Failed setting, 2-9
editing Oracle Forms object identifiers, 7-3 playback HTTP scripts
key features, 7-1 using iterations, 6-16
prerequisites, 7-2 using Oracle Load Testing, 6-17
setting playback preferences, 2-14, 7-5 Playback preferences, 2-4
setting record preferences, 2-18, 7-3 Action Settings, 2-14
using, 7-1 Capture Screenshot Interval, 2-16
Oracle EBS/Forms Functional Test scripts Compression, 2-11
adding EBS/Forms actions, 7-6 Connections, 2-11
modifying, 7-6 Download Manager, 2-13
playing back scripts, 7-5, 7-6 Error Handling, 2-5
playing back scripts with iterations, 7-6 Event Timeout, 2-14
recording scripts, 7-2, 7-4 General, 2-4
using Forms Functional Test API, 7-7 Headers, 2-11
Oracle EBS/Forms Load Test error messages, B-8 Miscellaneous, 2-15
Oracle EBS/Forms Load Test module Object Enumeration, 2-9
Correlation Library, 8-8 Object Timeout, 2-15
key features, 8-1 Other, 2-11
prerequisites, 8-2 setting, 6-13
setting Correlation preferences, 8-8 SSL, 2-11
setting playback preferences, 8-4 System, 2-5, 2-10
setting record preferences, 2-18, 8-3 playback results
using, 8-1 comparing, 6-17
Oracle EBS/Forms Load Test scripts Position (x,y), 5-17
adding Forms actions, 8-5 post data variables, 6-26
analyzing Message Logs, 8-12 Post Navigation, 6-30
converting Forms actions to XML, 8-6 preferences, 2-1
debugging using the Message Log, 8-11 Browsers, 2-3
modifying, 8-5 EBS/Forms functional test, 2-14, 2-18
playing back scripts, 8-4, 8-5 EBS/Forms load test, 2-18
playing back scripts with iterations, 8-5 encryption, 2-3
recording scripts, 8-2, 8-3 error recovery, 2-6
troubleshooting, 8-11 functional test, 2-9
troubleshooting ifError messages, 8-13 general, 2-4
using Forms Functional Test API, 8-7 General category, 2-2
Oracle Fusion/ ADF Load Test module HTTP, 2-10, 2-16
key features, 10-1 playback, 6-13
Oracle Fusion/ADF Functional Test scripts Playback category, 2-4
adding Fusion/ADF actions, 9-5 Record category, 2-16
modifying, 9-5 repository settings, 2-4
Oracle Fusion/ADF Load Test module setting, 2-1
Correlation Library, 10-4 setting project, 2-27
setting Correlation preferences, 10-3 setting Siebel Correlation, 13-14
using, 10-1 Siebel functional test, 2-19
Oracle Fusion/ADF Load Test scripts Step Group category, 2-21
application programming interface, 10-5 Web functional test, 2-15, 2-20
playing back scripts, 10-3 Web Services, 2-21
playing back scripts with iterations, 10-3 Problems View, 1-3, 1-4, 1-13
recording scripts, 10-2 project preferences, 2-27
Oracle Load Testing properties
playing back HTTP scripts, 6-17 assets, 3-8
correlation, 3-8
modules, 3-8
P
setting for scripts, 3-7
Package Explorer View, 1-4, 1-15 step groups, 3-8
parameterization, 4-1, 6-28 Properties View, 1-3, 1-4, 1-14
password digest, 11-6 proxy group, 6-13
password text, 11-6 proxy recording preferences, 6-11
platform error messages, B-4 Proxy Settings tab, 6-11
Playback Errors, B-12
Index-4
R modifying, 3-1, 3-9
opening existing, 3-5
record ADF Functional Test, 9-3
pausing and resuming, 3-26
record HTTP script, 6-12
setting properties, 3-7
record Oracle EBS/Forms Load Test, 8-2
storing, 3-1
record Oracle Forms Functional Test, 7-2
Security Extensions
record Oracle Fusion/ADF Load Test, 10-2
adding to Web Services, 11-5
Record preferences, 2-16
Security SOAP Messages with Attachments, 11-7
EBS/Forms load test, 2-18
segment parser exceptions, B-3
General, 2-16, 2-18, 2-20, 2-21
Segment Parser Failed setting, 2-7
Object Identification, 2-18, 2-19, 2-20
server response tests, 5-11, 6-25
Parser Tools, 2-21
set variable
Proxy Configuration, 2-21
adding to script, 3-16
Proxy Settings, 2-17
Shared Data error messages, B-13
URL Filters, 2-17
Shared Data module
record Web Functional Test, 5-2
about, 15-1
recorded results
enabling, 15-2
comparing, 6-17
key features, 15-1
repository
setting connection parameters, 15-3
creating, 3-1
setting password encryption, 15-3
definition, 3-1
using the Shared Data API, 15-4
managing, 3-2
Siebel
setting preferences, 2-4
creating new project, 3-3, 3-4
response charset, 6-31
Siebel Correlation Library, 13-14
Response Time Error setting, 2-7, 2-8
Siebel error messages, B-14
Result Object
Siebel exceptions, B-13, B-14
adding to script, 3-20
Siebel Functional Test module
Result View
adding Siebel Object Identifiers, 12-7
toolbar buttons, 1-14
editing Siebel Object Identifiers, 12-7
Results View, 1-3, 1-4, 1-14
enabling Siebel test automation, 12-3
REUI User Session logs
High-Interactivity components, 12-2
importing, 3-9
key features, 12-1
Run section
setting browser options, 12-4
definition, 1-2
setting up Siebel environment, 12-2
runScript statement
Standard-Interactivity applications, 12-2
adding to script, 3-16
testing Siebel applications, 12-2
using, 12-1
S Siebel Functional Test scripts
adding Siebel actions, 12-8
script
creating Siebel scripts, 12-3
commands, 1-2
determining a Siebel component type, 12-5
steps, 1-2
modifying scripts, 12-8
script creation exceptions, B-2
recording Siebel functional test scripts, 12-5
script databanks
setting record preferences, 12-6
using, 4-2
starting the Siebel application, 12-4
script exceptions, B-1
Siebel Load Test module
script project
using, 13-1
creating, 3-3
SOAP Message Transmission Optimization
script service exceptions, B-4
Mechanism, 11-7
script variables
Socket Timeout setting, 2-12
using, 6-20
Solve Variable Failed setting, 2-7, 2-8
Script View, 1-4, 6-19
SQL Execute Error setting, 2-8
Java Code, 1-13
SSL exceptions, B-5
Tree View, 1-12
ssl group, 6-14
Scripting Workbench, 1-1
Standard-Interactivity applications, 12-2
scripts
Step Group preferences, 2-21
adding assets, 3-14
ADF load test, 2-22
creating, 3-1
basic module, 2-22
debugging, 3-23
Forms functional test, 2-23
managing, 3-2
Forms load test, 2-24
migrating, 3-6
Index-5
HTTP, 2-23 V
Siebel functional test, 2-25, 2-26
Siebel load test, 2-26 variable
step groups deleting from script, 6-23
adding to script, 3-9 finding in script, 6-23
definition, 3-9 inspecting, 3-27
SWA, 11-7 variable exceptions, B-4
SWECmd=AutoOn, 12-4 Variable Not Found setting, 2-7
Variables View, 1-4, 1-15
verifying actions, 3-19
T views
Table Test Failed setting, 2-7 adding, 3-24
TCP exceptions, B-5
test cases W
adding object tests, 5-13
Wait for Page Timeout setting, 2-8
adding server response test, 5-11, 6-25
watch variable, 3-27
adding table tests, 5-15
Web
adding text matching, 5-12, 6-24
creating new project, 3-3
Test Modules, 1-1
Web error messages, B-14
Tester Perspective, 1-3
Web Functional Test module
adding views, 3-24
about, 5-1
Console View, 1-3, 1-14
adding Web object identifiers, 5-3
Details View, 1-3, 1-13
editing Web object identifiers, 5-3
Error Log View, 1-4
key features, 5-2
Problems View, 1-3, 1-13
setting playback preferences, 2-15, 5-7
Properties View, 1-3, 1-14
setting record preferences, 2-20, 5-2
Results View, 1-3, 1-14
using, 5-1
Script View, 1-3, 1-12
Web Functional Test scripts
text file encoding
adding browser navigation, 5-8
changing, 3-23
adding object libraries to scripts, 5-10
Text Matching Failed setting, 2-7
adding object tests, 5-13
text matching tests
adding server response tests, 5-11
adding, 5-12, 6-24
adding table tests, 5-15
Tree View, 6-19
adding text matching tests, 5-12
Finish section, 1-13
adding wait for page, 5-16
Initialize section, 1-12
adding web actions, 5-9
Run section, 1-12
editing object libraries, 5-18
troubleshooting, C-1
inspecting object paths, 5-17
modifying, 5-8
U playing back scripts, 5-7, 5-8
Unexpected Script Error setting, 2-7 playing back scripts with iterations, 5-8
URL encoding exceptions, B-4 recording scripts, 5-2, 5-6
URL filter setting properties, 5-18
creating, 6-12 substituting databank variables, 5-18
setting preferences, 2-17 using Web Functional Test API, 5-19
Use XPath setting, 2-9 Web Service exceptions, B-14
Use XPath with Smart Match setting, 2-9 Web Services module
user agent adding WSDL files, 11-2
adding to script, 6-27 key features, 11-1
Utilities module setting record preferences, 2-21, 11-8
getting database values, 14-3 using, 11-1
key features, 14-1 Web Services scripts
reading CSV files, 14-2 adding attachments, 11-6
reading text files, 14-1 adding methods to scripts, 11-2
reading XML files, 14-2 adding post navigation, 11-4
using, 14-1 adding security extensions, 11-5
using XPath generator, 14-4 adding Text Matching tests, 11-4
creating new project, 3-3
creating scripts using WSDL Manager, 11-2
editing method parameters, 11-3
Index-6
modifying scripts, 11-3
recording scripts, 11-8
Web/HTTP
creating new project, 3-4
Workbench
Developer Perspective, 1-4
overview, 1-3
Tester Perspective, 1-3
workspaces
creating, 3-1
definition, 3-1
WSDL Manager
adding WSDL files, 11-2
X
XML file data
posting, 6-18
reading files, 14-2
XML Parsing Error setting, 2-8
XML Post Navigation, 6-32
XPath Generator, 14-4
Z
Zero Length Downloads setting, 2-7
Index-7
Index-8