15 Using the Siebel Load Test Module

This chapter provides instructions on configuring and using the OpenScript Siebel Load Test Module, which tests Siebel-based applications by automating the underlying HTTP protocol traffic.

15.1 About the Siebel Load Test Module

The Siebel Load Test Module provides support for load testing of Siebel web applications. The Siebel module is an extension to the HTTP Module.

15.1.1 Key Features of the Siebel Load Test Module

The Siebel Load Test Module is an extension module to the OpenScript HTTP Module that extends Web load testing with Siebel Load Test recording and playback capabilities. The Siebel Load Test Module is fully integrated with the OpenScript platform including the Results view, Details view, Properties view, Console/Problems views, Preferences, Step Groups, Script Manager, and Workspace Manager. 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.

The Siebel Load Test recorder displays commands in the Tree View in easy-to-understand commands. By default, script commands are grouped into Steps Groups by the Web page on which they were performed. Each Step Group contains one or more script commands corresponding to recorded actions that were performed on the page. The default name for the Step Group is the Web page Title (as specified in the "Title" tag).

OpenScript shows the results of Siebel Load Test script playback in the Results view. The Results view shows results for each script command (including duration and 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 Siebel Load Test Module API includes a "siebel" class that provides additional programming functionality.

15.1.2 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.

15.2 Load Testing Siebel Applications

The following is an outline of the procedures and best practices used to load test Siebel applications with the OpenScript application.

15.2.1 Setting Up Siebel Load Test Environments

The load test environment should approximate as closely as possible a working Siebel deployment environment. However, hardware cost constraints may be a limiting factor. The following sections provide recommendations about basic test system configurations. Additional test system configurations can be used based upon hardware and network availability.

15.2.1.1 Basic Configuration

The basic n-tier configuration should consist of the following systems:

  • Web Server

  • Siebel Server

  • Database Server

  • Database Storage

See the Siebel Installation Guide in the in the Siebel document bookshelf for information hardware and Siebel installation and any licensing requirements.

Note:

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.

15.2.1.2 Floating Load Balancing Test Server

In addition to the basic tier configuration, various load balancing tests should include another system that can be configured on a single system as a movable server between tiers. The floating load balancing server can be used to test fail-over of clustered servers and recovery of servers if one server (on any one of the tiers) in a multiple server configuration goes down.

A floating Server could be configured as Web Server, Siebel Server, and Database Server on the same machine.

15.2.1.3 Clustered Web Server Configuration

The clustered Web server configuration tests two or more Web servers accessing a single Siebel server. This configuration is used to test how Siebel and the database server handles load balancing from multiple users accessing from multiple Web browsers and systems.

15.2.1.4 Clustered Siebel Servers Configuration

The clustered Siebel server configuration tests two or more Siebel servers handing Web traffic and accessing a single database server. This configuration is used to test Web traffic load balancing on clustered Siebel servers and how the database server handles load balancing from multiple Siebel servers accessing from multiple systems.

15.2.1.5 Clustered Database Server Configuration

The clustered database server configuration tests two or more database servers handing Siebel data and accessing the database storage. This configuration is used to test Siebel data load balancing on clustered database servers and how the database storage handles load balancing from multiple database servers accessing from multiple systems.

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

15.2.2 Siebel Correlation Library

OpenScript includes a Siebel Test Automation library that Oracle Application Testing Suite applications can communicate with when creating Scripts. The Siebel Correlation Library is installed automatically as part of he OpenScript installation.

15.2.3 Script Creation Techniques

The following are tips and techniques to use when creating Siebel load test scripts using the Oracle Functional Testing application:

  • Disable browser caching to make sure the pages are returned from the server rather than the browser cache.

  • Record actions from login through logout to make sure parameters are passed properly between page navigations.

  • Record actions slowly in the Siebel environment to make sure the recorder records all actions to the OpenScript script. If possible, watch as the script pages are added to the script tree.

  • Close the external browser window after recording.

  • Save the script. When you save a Siebel proxy-recorded script, OpenScript automatically creates a Java Agent version of the script in the workspace. Depending upon the size of the script, the file save operation may take some time.

15.2.4 Recording Scripts for Load Tests

Siebel load testing scripts are recording in an external browser window using the OpenScript proxy recorder. When you record a Siebel Load Test Script, OpenScript automatically starts the proxy recorder and opens an external browser window when you click the Record button on the toolbar. Once the external browser opens, you can load your Siebel application and start recording page navigation.

OpenScript does not support record and playback of the CTI Toolbar. URLS with the SWECmd=WaitForCmd are filtered out by default.

15.2.5 Starting the Siebel Application

Start the Siebel application in the browser using the start URL:

http://hostname/application/start.swe

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.

15.2.6 Playing Back Scripts

OpenScript playback provides a convenient way to test and verify the page navigation recorded to the script.

  1. Open a Siebel load test script in OpenScript.

  2. Select Playback from the Script menu or click the toolbar button to verify the script plays back correctly.

  3. Select items in the Results view and review the tabs in the Details view to check for any errors. Click the Headers tab to view request and response header data.

  4. Verify that the response headers do not contain content or data value errors. One type of content error to check for is a "204 No Content" error. For example:

    HTTP/1.1 100 Continue
    Server: Microsoft-IIS/5.0
    Date: Fri, 20 Mar 2009 15:51:47 GMT
    X-Powered-By: ASP.NET
    HTTP/1.1 200 OK: 
    Server: Microsoft-IIS/5.0
    Date: Fri, 20 Mar 2009 15:51:47 GMT
    X-Powered-By: ASP.NET
    content-language: en
    cache-control: no-cache
    content-type: text/html;charset=UTF-8
    content-length: 3762
    

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.

15.2.7 Resolving Script Issues

Each navigation node in the script tree shows the URL, Post Data, Recorded Headers, and Custom Dynamic values recorded to the script.

Expand nodes in the script tree to view the navigation sequence.

The PostData node shows the Siebel entities included in the page navigation. OpenScript Siebel Load Testing recorder automatically recognizes and parameterizes Siebel entities for Load testing. Playing back a script verifies that the recorder parameterized the Siebel entities properly.

The tree view nodes show the automatically created dynamic value names and Siebel path for parameters required for the next page. The name and Siebel path are shown as variable nodes under the post data node. It also shows automatically parameterized Siebel functions in curly braces, for example:

SWEC={{@SWECount}}

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.

15.2.7.1 Siebel Entities to Parameterize

The following table shows some common Siebel commands that may appear in the PostData of the page navigation:

Siebel Command Name
SWEACn Application Count
SWEBMC Bookmark
SWEBRS Browser Retry Sequence
SWEBID Browser ID
_sn Cookie
SWEFI Form ID
SWEVLC View Layout Cache
SWETS Timestamp
SWEC SWE Count
SWERowId, SWERowIds Row IDs
s_#_#_#_# Record Data

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.

15.2.8 Using Databanks with Siebel

Data values in Siebel post data strings can be parameterized in a script and connected to a Databank file that provides input data for data-driven tests. The OpenScript script editing options let you specify additional Siebel method names that use parameterized data.

  1. Record or open a Siebel script in OpenScript.

  2. Select Find/Replace from the Edit menu.

  3. Type SWEMethod and click Find.

  4. Continue clicking Find until you locate the SWEMethod that requires databanked values.

    For example, the PostData in a script page may contain the following record data name=value pair:

    s_1_2_49_0=doctest
    

    The SWEMethod that posts the data is SWEMethod=Mirror Add GotoView.

To use Databank parameters for the data values:

  1. Select Script Properties from the Script menu.

  2. Select the Assets type.

  3. Select Databanks.

  4. Click Add.

  5. Select the Repository from the My Repositories tree.

  6. Select the Databank file from the repository or file folder.

  7. Enter an alias name to use for the Databank or leave the default alias name. The default alias name is the name of the .CSV Databank file.

  8. Click OK.

  9. Click OK to add the Databank file.

  10. Right click the parameter node in the script tree that you want to substitute with a databank variable and select Substitute Variable.

  11. If necessary expand the Databanks node and select the databank field you want to use as the input parameter data.

  12. Click Finish.

  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.

  17. Verify the script plays back correctly.

  18. Save the script.

  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.

15.2.9 Preparing the Siebel Server Manager Commands

The Oracle Load Testing ServerStats uses the Siebel Server Manager program to retrieve statistics from the Siebel Server while running Virtual Users in a load test. The ServerStats Metrics need to be configured to run the Siebel Server Manager with input commands from a batch file and a file containing the input commands. The batch file and command input file must be created and placed on the Siebel Server where the ServerStats Metrics can access and run the batch file. This section explains the basic requirements of the batch file and command input file.

Note:

Starting the Siebel command-line server-monitoring program may require system administrator level privileges for the Siebel server. The Oracle Load Testing system testing the Siebel server needs the required user permissions to access the Siebel server and run the Siebel Server Manager program from the local host.

15.2.9.1 Creating the Batch File

Use any ASCII editor to create a batch file and a commands file to run the Siebel Server Manager program. The batch file name will be referenced in the Oracle Load Testing ServerStats metrics. You can use any name for the batch file (for example srvrmgr_cmds.txt).

Use the following syntax to specify the command in the batch file to start the Siebel Server Manager program:

\\machine IP\path to Siebel server bin\srvrmgr -g gateway -e enterprise -u username  p password -i input_File
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 using the Siebel command-line server-monitoring program (srvrmgr) and command line flags, see the Siebel System Administration Guide Version 7.7 (or newer) documentation in the Siebel document bookshelf.

The following is an example of a command in a batch file to start the Siebel Server Manager:

\\10.16.111.00\c$\sea77\siebsrvr\bin\srvrmgr -g gateway -e siebel -u sadmin -p sadmin -i srvrmgr_cmds.txt

15.2.9.2 Creating the Command Input File

The command input file contains the commands to run in the Siebel Server Manager program. The command input file will be automatically run by the batch file at each Oracle Load Testing ServerStats Collection Interval. The example in the previous section uses the file name srvrmgr_cmds.txt as the input file in the srvrmgr command. You can use any file name as long as the batch command matches the file name of the input file.

srvrmgr_cmds.txt is a text file that contains the sequence of commands to run in the Siebel Server Manager program. The following is an example of an input file with Server Manager commands:

configure list statistics show STAT_ALIAS, CURR_VAL
list statistics
quit

The configure list statistics show STAT_ALIAS, CURR_VAL command specifies which Siebel Statistics to return from the srvrmgr program. STAT_ALIAS, CURR_VAL are the column names of the data values to return. STAT_ALIAS is the alias for the Statistic name. CURR_VAL is the current value for the statistic. quit closes the Siebel Server Manager session.

The list statistics command returns the statistics to Siebel Server terminal. The Oracle Load Testing Data Collector uses the Regular Expressions defined in the ServerStats metrics to extract specific data from the statistics returned from the srvrmgr program.

You can configure the srvrmgr commands to provide any of the available statistics data that can be returned by the srvrmgr program. See the Siebel System Administration Guide Version 7.7 (or newer) documentation in the Siebel document bookshelf for additional information about Siebel Server Manager commands.

15.2.9.3 Siebel Statistics

The srvrmgr program returns the following statistics:

Name Alias Description
Average Connect Time AvgConnTime Average connect time for Object Manager sessions
Average Reply Size AvgRepSize Average size of reply messages (in bytes)
Average Request Size AvgReqSize Average size of request messages (in bytes)
Average Requests Per Session AvgReqs Average number of requests per Object Manager session
Average Response Time AvgRespTime Average Object Manager response time
Average Think Time AvgThinkTime Average end-user think time between requests
Avg SQL Execute Time AvgSQLExecTime Average time for SQL execute operations (in seconds)
Avg SQL Fetch Time AvgSQLFetchTime Average time for SQL fetch operations (in seconds)
Avg SQL Parse Time AvgSQLParseTime Average time for SQL parse operations (in seconds)
CPU Time CPUTime Total CPU time for component tasks (in seconds)
Elapsed Time ElapsedTime Total elapsed (running) time for component tasks (in seconds)
Maximum Peak Memory Usage MaxPeakMemory Peak Mem used by task. Rolls up differently from MinPeakMemory
Minimum Peak Memory Usage MinPeakMemory Peak Mem used by task. Rolls up differently than MaxPeakMemory
Num of DBConn Retries NumDBConnRtrs Number of Retries due to DB Connection Loss
Num of DLRbk Retries NumDLRbkRtrs Number of Retries due to Deadlock Rollbacks
Num of Exhausted Retries NumExhstRtrs Number of Times All Retries are Exhausted
Number of SQL Executes SQLExecs Total number of SQL execute operations
Number of SQL Fetches SQLFetches Total number of SQL fetch operations
Number of SQL Parses SQLParses Total number of SQL parse operations
Number of Sleeps Sleeps Total number of sleeps for component tasks
Object Manager Errors Errors Number of errors encountered during Object Manager session
Reply Messages RepMsgs Number of reply messages sent by the server
Request Messages ReqMsgs Number of request message received by the server
SQL Execute Time SQLExecTime Total elapsed time for SQL execute operations (in seconds)
SQL Fetch Time SQLFetchTime Total elapsed time for SQL fetch operations (in seconds)
SQL Parse Time SQLParseTime Total elapsed time for SQL parse operations (in seconds)
Sleep Time SleepTime Total amount of sleep time for component tasks (in seconds)
Tasks Exceeding Configured Cap TskXcdCfgCpt Number of tasks stated that exceeded configured capacity
Tests Attempted TestsAttempted Number of tests that were started
Tests Failed TestsFailed Number of tests that failed
Tests Successful TestsSuccessful Number of tests that were successful
Total Database Response Time DBRespTime Total Database Response/Processing Time (milliseconds)
Total Reply Size RepSize Total size (in bytes) of reply messages
Total Request Size ReqSize Total size (in bytes) of request messages
Total Response Time RespTime Total Object Manager response time (in seconds)
Total Tasks TotalTasks Total number of tasks completed for server components
Total Think Time ThinkTime Total end-user think time (in seconds)

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.

15.2.9.4 Batch File Location

Once you create the batch file and command input file, copy the files to the Oracle Load Testing local host in the C:\Oracle\DataCollector directory.

15.2.10 Defining ServerStats Metrics

Oracle Load Testing ServerStats metrics are used to collect the data from the Siebel Server Manager program. This section explains how to set up Virtual Agents in ServerStats (Oracle Load Testing) to run the Siebel Server Manager program (srvrmgr) from the command-line interface.

  1. Start the Oracle Load Testing application.

  2. Select ServerStats from the Tools menu.

  3. Select the Metrics node to view the metric categories.

  4. Click New.

  5. Enter a name for the metric.

  6. Enter a description for the metric.

  7. Select Virtual Agent as the Metric type.

  8. Click Next.

  9. Enter the name of the batch file you created to run the srvrmgr program in the Command Line field.

  10. Enter a Regular expression to parse the data returned from the srvrmgr program in the Matching Regexp field. For the Server Manager srvrmgr program commands:

    configure list statistics show STAT_ALIAS, CURR_VAL
    list statistics
    quit
    

    use the following format for the Regular Expression:

    /aliasName\s+([0-9]+)/ 
    

    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:

  14. Click OK to start the test.

  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.

15.2.11 Defining a ServerStats Configuration

Oracle Load Testing ServerStats configurations are used to specify which metrics to include when collecting the data from the Siebel Server Manager program and update Oracle Load Testing graphs and reports. You can also create a metric profile for Siebel metric and use the profile as part of the configuration. This section explains how to define a ServerStats configuration and add metrics to the configuration.

  1. If necessary, start Oracle Load Testing and select ServerStats from the Tools menu.

  2. Click the Configurations node to view existing configurations.

  3. Click New.

  4. Enter a name for the configuration.

  5. Enter a description for the configuration.

  6. Click Save. The configuration window adds new options for adding and updating monitors:

  7. Click Add a new monitor.

  8. Expand the User defined node and select a Siebel metric.

  9. Click Next.

  10. Set the monitored system, data collector, and collection interval.

  11. Click Next. The metric is added to the list of monitors in the configuration.

  12. Click Finish.

  13. Repeat steps 7-12 to add additional metrics to the configuration.

  14. Click Test.

  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.

  17. Click Update.

15.2.12 Importing Pre-Configured Metrics and Profiles to Oracle Load Testing

If you have pre-configured files for Siebel metrics and metric profiles, you can import the files into Oracle Load Testing rather than manually configure the metrics and profiles.

  1. If necessary, start the Oracle Load Testing application.

  2. Select Import File from the Tools menu.

  3. Select the File Type. The ServerStats file types are as follows:

    Type Extension
    ServerStats Metric .metric
    ServerStats Metric Profile .hwm
    ServerStats Configuration .config

  4. Click Browse to select the file location.

  5. Select the drive and directory location.

  6. Select the file to import.

  7. Click Open.

  8. Click Upload.

  9. Click OK.

  10. Repeat steps 4-9 for each file to upload.

15.2.13 Running Load Tests in the Oracle Load Testing Console

Select the script or a user-defined profile from the Select scripts & user-defined profiles list.

  1. Select a script.

  2. Click Add to scenario.

  3. Set the # VUs.

  4. Set the System to use to test.

  5. Set the User Mode to Java Client.

  6. Set the Iteration Delay to 1.

  7. Set the VU Pacing (Think Time) to Recorded.

  8. Click Add to Autopilot.

  9. Set the Start and Stop test options.

  10. Set the Virtual User Rampup.

  11. Select the ServerStats configuration you defined earlier.

  12. Click the Run Test button.

  13. Specify the Session to Save.

  14. Click OK.

15.2.13.1 Viewing VU Grid

The Virtual User grid lets you view the progress of the script playback for each virtual user. If necessary, click the Watch VU Grid tab to switch to the grid.

15.2.13.2 Viewing ServerStats

The ServerStats display lets you view the Siebel Server statistics in real time using the ServerStats display window. Select ServerStats Display from the Tools menu to open the ServerStats display.

15.2.14 Generating Graphs and Reports Using Oracle Load Testing

You can generate graphs from Virtual User and ServerStats data during run time and for post testing analysis.

15.2.14.1 Creating Custom Runtime Graphs

The View Run Graphs tab lets you generate custom graphs during test runtime.

  1. While the load test is running, click the View Run Graphs tab.

  2. Click New Graph. A new blank graph tab is added to the Reports and Graphs section.

  3. Scroll down to the Filters section.

  4. Enter a graph name.

  5. Expand ServerStats Monitors in the Available Data Series tree.

  6. Select the data series to add to the graph.

  7. Click Add Data Series.

  8. Repeat to add other monitors to the data series.

  9. Specify the Plot Data Series and Y-Axis Scaling options.

  10. Click Generate Graphs. The custom graph appears as a new tab in the Reports and Graphs section.

15.2.14.2 Creating Custom Reports

The Create Reports tab lets you generate custom reports and graphs after the test for post-testing analysis.

  1. Click Create Reports tab.

  2. Click New Graph.

  3. Select the ServerStats session as the Available Data Series.

  4. Expand Available Data Series tree.

  5. Select the data series to add to the graph.

  6. Click Add Data Series.

  7. Click Generate Graph. The custom graph appears as a new tab in the Reports and Graphs section.

    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.

15.3 Setting Siebel Correlation Preferences

To set Setting Siebel Correlation preferences:

  1. Start OpenScript.

  2. Select OpenScript Preferences from the View menu.

  3. Expand the OpenScript node and the Correlation category.

  4. Expand the Siebel Load 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. See Section 15.4, "Siebel Correlation Library" for a list of correlation rules.

  7. Click OK.

15.4 Siebel Correlation Library

The Siebel correlation library defines the correlation rules for Siebel (Siebel versions 7.7, 7.8, 8.0, 8.1). The correlation rules specify the variable names and regular expressions to use to replace dynamic data in Siebel applications and navigations.

The default Siebel correlation library provided with the OpenScript Siebel Module includes the following correlation rules:

  • Siebel SWEACn - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWEACn=(\d+) and replaces it with the variable name SWEACn in all locations.

  • Siebel SN - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _sn=((.+?))& and replaces it with the variable name siebelsn in the specified location. The variable name siebelsn uses the Regular Expression pattern name="_sn" value="(.+?)".

  • Siebel SN - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _sn=((.+?))& and replaces it with the variable name siebelsn in the specified location. The variable name siebelsn uses the Regular Expression pattern _sn=(.+?)".

  • Siebel SN - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _sn=((.+?))& and replaces it with the variable name siebelsn in the specified location. The variable name siebelsn uses the Regular Expression pattern _sn=(.+?)&.

  • Siebel SWEBID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWEBID(=|%3d|%3D)((\d+)) and replaces it with the variable name SWEBID in the specified location. The variable name SWEBID uses the Regular Expression pattern navigator.id = ([0-9]+?);.

  • Siebel SWEBID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWEBID(=|%3d|%3D)((\d+)) and replaces it with the variable name SWEBID in the specified location. The variable name SWEBID uses the Regular Expression pattern navigator.id = "([0-9]+?)".

  • Siebel SWEBMC - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWEBMC=(((|%3d|%3D)\d+([&%]|$|\s))) and replaces it with the variable name SWEBMC in the specified location. The variable name SWEBMC uses the Regular Expression pattern SWEBMC(?:=|%3d|%3D)(\d+)[?&?%].

  • Siebel SWEBRS - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWEBRS=(((|%3d|%3D)\d+([&%]|$|\s))) and replaces it with the variable name SWEBRS in the specified location. The variable name SWEBRS uses the Regular Expression pattern <input type = "hidden" name="SWEBRS"\s+?value="(\d+?)">.

  • Siebel SWEFI - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWEFI=(((|%3d|%3D)\d+([&%]|$|\s))) and replaces it with the variable name SWEFI in the specified location. The variable name SWEFI uses the Regular Expression pattern (.)SWEFI\1(\d+)\1.

  • SWETS - Function/Text Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWETS=((\d{13,})) and replaces it with the function {{@timestamp}} in the specified location.

  • SWSECancelID - Function/Text Substitution - this rule locates text in the HTML matching the Regular Expression pattern SWSECancelID=(=|%3d|%3D)((\d{10,})) and replaces it with the function {{@timestampsecs}} in the specified location.

  • RefID - Function/Text Substitution - this rule locates text in the HTML matching the Regular Expression pattern refID(=|%3d|%3D)((\d+)) and replaces it with the function {{@CounterRefID}} in the specified location.

  • Siebel Correlation Rule - this rule locates all Siebel SWEC and RowIDs.

  • alarmDate - Substitute Recorded Date - this rule locates the alarmDate in the HTML matching ther Regular Expression pattern alarmDate(((\d{1,2})\*(\d{1,2})/(\d{1,2})/(\d{4}))) and replaces it with the function {{@today(n,M/d/yyyy)}} in the specified location.

  • currentDate - Substitute Recorded Date - this rule locates the date the script was recorded and replaces it with the date pattern M/dd/yyyy.

15.5 Siebel Script Functions

Dynamic values returned from a Siebel server can be replaced by Siebel-specific OpenScript functions. The following script functions are available specifically for Siebel scripts when you substitute a variable value:

  • {{@CounterRefID,x}}: this function is used to replace the refID parameter in QueryString or Postdata strings. x is the recorded value.

  • {{@siebeltimestampsecs}}: this function is used to replace the Siebel time stamp with the script variable {{@siebeltimestampsecs}}. The value is the current timestamp in seconds instead of milliseconds.

  • {{@SWECount}}, {{@SWECInc(x)}}, {{@SWECSet()}}: these functions are used to replace SWEC parameters in QueryString or Postdata strings.