This chapter provides instructions on configuring and using the OpenScript Hyperion Load Test Module, which provides support for load testing of Hyperion applications.
The Hyperion Load Test Module is an extension module to the OpenScript HTTP Module that extends the Web testing with Hyperion-specific correlation rules.
The Hyperion Load Test Script Module. The New Project wizard (New from the File menu) includes an "Oracle Hyperion" option in the Load Test Group to use when creating Hyperion load testing projects in OpenScript.
Correlation Library. The Hyperion Load Test Module includes a Hyperion-specific library of correlation rules for parameterizing HTTP scripts.
The Hyperion Load Test Module records Hyperion-specific correlation rules into HTTP load testing scripts for automating testing of Hyperion EnterpriseOne applications.
To record Hyperion Load Test scripts:
Start OpenScript.
Set the Hyperion Load Test Correlation preferences.
Select New from the File menu.
Expand the Load Testing group.
Select Oracle Hyperion (The Hyperion script combines both HTTP and Hyperion technologies as part of the same script).
Click Next.
Select the Repository and Workspace.
Enter a script name.
Click Finish. A new Script tree is created in the Script View.
Select Record from the Script menu. The browser automatically opens when you start recording.
Load the web page where you want to start recording into the browser.
Navigate the web site to record page objects, actions, and navigations. The page objects, actions, and navigations will be added to the node of the script tree specified by the Set Record Section setting (the Run node is the default).
When finished navigating pages, close the browser.
Select Stop from the Script menu or click the Stop button on the OpenScript toolbar.
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.OpenScript plays back recorded Hyperion actions. The actions used for playback will either be those that are recorded or specified manually in the Java Code view.
The Hyperion Load Test Module uses the OpenScript playback and iterate toolbar buttons which allows users to start the script playback for either a single playback through the script or multiple iterations using data from a databank file. Playback results for Hyperion Load scripts can be viewed in the Results and Console views.
To play back Hyperion Load scripts:
Start OpenScript.
Open the Hyperion Load script to play back.
Select Playback from the Script menu or click the toolbar button.
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.
To play back Hyperion Load scripts with iterations:
Start OpenScript.
Open the Hyperion Load script to play back.
Select Iterate from the Script menu or click the toolbar button.
Select Use Databanks.
Select which databank file to specify the settings for if more than one database is configured for the script.
Specify the settings for the databank file.
Select the Run no more than [ ] iterations option and set the iteration count to the desired number of playback iterations. See Section 4.2.4, "Playing Back Scripts With Iterations" for additional information about iteration settings.
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.
To set Setting Hyperion Load Test Correlation preferences:
Start OpenScript.
Select OpenScript Preferences from the View menu.
Expand the OpenScript node and the Correlation category.
Select Hyperion Load Testing Module.
Expand the Hyperion Load Test library.
Select or clear the check boxes to enable or disable specific rules.
Click the Add or Edit buttons to modify rules in the library.
Click OK.
The Hyperion Load Test Module includes a correlation library that automatically recognizes and substitutes Hyperion parameters with OpenScript variables and functions during script recording. The script nodes show the Hyperion entities included in the page navigation. The HTTP recorder automatically recognizes and parameterizes Hyperion entities for Load testing.
Additional libraries and rules can be added using the OpenScript Correlation library Preferences for Hyperion Load Test.
The Hyperion correlation library defines the correlation rules for Hyperion-based applications. The correlation rules specify the variable names and regular expressions to use to replace dynamic data in Hyperion applications and navigations. The default Hyperion correlation library provided with the OpenScript Hyperion Load Test Module includes the following correlation rules:
ssoToken - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<token><!\[CDATA\[(.+?)]]> </token>
and replaces it with the variable name ssoToken
in all locations.
ssoTokenCRLF - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<token><!\[CDATA\[(.+?)]]> </token>
and replaces it with the variable name ssoTokenCRLF
in all locations. Newline characters are converted to CRLF.
ssoTokenStar - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<token><!\[CDATA\[(.+?)]]></token>
and replaces it with the variable name ssoTokenStar
in all locations. Newline characters are converted to * (asterisk) character.
ssoTokenAtSign - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<token><!\[CDATA\[(.+?)]]></token>
and replaces it with the variable name ssoTokenAtSign
in all locations. Newline characters are converted to @ sign character.
ssoTokenCRLFS - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<token><!\[CDATA\[(.+?)]]></token>
and replaces it with the variable name ssoTokenCRLFS
in all locations. Newline characters are converted to \ CRLFS.
ssoTokenBNToLF - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern sToken = "(.+?)"
and replaces it with the variable name ssoTokenBNToLF
in all locations. \n (backslash n) characters are converted to LF.
ssoTokenBNToCRLF - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern sToken = "(.+?)"
and replaces it with the variable name ssoTokenBNToCRLF
in all locations. \n (backslash n) characters are converted to CRLF.
repositoryToken - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_'sessionId':'(.+?)'
and replaces it with the variable name repositoryToken
in all locations.
ssnkey - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern name="ssnkeystate" value="(.+?)" />
and replaces it with the variable name ssnkey
in all locations.
viewState - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern ViewState" value="(.+?)">
and replaces it with the variable name viewState
in all locations.
afrLoop - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _afrLoop=(.+?)"
and replaces it with the variable name afrLoop
in all locations.
ctrlState - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _adf.ctrl-state=(.+?)["&'&<]
and replaces it with the variable name ctrlState
in all locations.
asserterToken - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<assertertoken> <!\[CDATA\[(.+?)]]></assertertoken>
and replaces it with the variable name asserterToken
in all locations.
asserterTokenEnc - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _multiline_<assertertoken> <!\[CDATA\[(.+?)]]></assertertoken>
and replaces it with the variable name asserterTokenEnc
in all locations using URL Encoding.
extraToken - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern ExtraToken = "(.+?)"
and replaces it with the variable name extraToken
in all locations.
headers - Correlate Headers - this rule implements the default Correlate Headers correlation rules for Hyperion applications that use dynamic headers.
ora_epm_ctg header - Correlate Headers - this rule implements the Correlate Headers correlation rules to parameterize the Hyperion application ora_epm_ctg
header with the asserterToken
variable.
ora_epm_ctg header encoded - Correlate Headers - this rule implements the Correlate Headers correlation rules to parameterize the Hyperion application ora_epm_ctg
header with the asserterTokenEnc
variable.
X-ORACLE-BPMUI-CSRF - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern X-ORACLE-BPMUI-CSRF: (.*)(?:\r)
and replaces it with the variable name X-ORACLE-BPMUI-CSRF
in all locations.
X-ORACLE-BPMUI-CSRF_v2 - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <customheader name="X-ORACLE-BPMUI-CSRF" value="(.+?)"
and replaces it with the variable name X-ORACLE-BPMUI-CSRF
in all locations.
X-ORACLE-BPMUI-CSRF header - Correlate Headers - this rule implements the Correlate Headers correlation rules to parameterize the Hyperion application X-ORACLE-BPMUI-CSRF
header with the X-ORACLE-BPMUI-CSRF
variable.
fr_id - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <customheader name="fr_id" value="(.+?)" />
and replaces it with the variable name fr_id
in all locations.
fr_id header - Correlate Headers - this rule implements the Correlate Headers correlation rules to parameterize the Hyperion application fr_id
header with the fr_id
variable.
Referer Headers - Correlate Referer Header - this rule implements the default Correlate Referer Header correlation rules for Hyperion applications that use dynamic headers.
Cookie Headers - Correlate Cookie Header - this rule implements the default Correlate Cookie Header correlation rules for Hyperion applications that use dynamic headers.
bpmui - Variable Substitution - this rule locates text in the Response Header matching the Regular Expression pattern X-ORACLE-BPMUI-CSRF: (.*)(?:\\r|$)
and replaces it with the variable name bpmui
in all locations.
reportId - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern REPORTID="(.+?)"
and replaces it with the variable name reportId
in all locations.
SmartView sID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <sID>(.+?)</sID>
and replaces it with the variable name sID
in all locations.
SmartView sso - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <sso>(.+?)</sso>
and replaces it with the variable name sso
in all locations.
instanceId - Function/Text Substitution - this rule locates text in the HTML matching the Regular Expression pattern nstanceId=(([0-9]{1,9}))
and replaces it with the {{@randomPerIteration(1000,9999999,index)}}
function in the specified locations.
uuid - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern uuid:'(.+?)'
and replaces it with the variable name uuid
in all locations.
unique - Function/Text Substitution - this rule locates text in the HTML matching the Regular Expression pattern unique=(([0-9]*))
and replaces it with the {{@timestamp}}
function in the specified locations.
PageHash - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern PageHash=(.+?)&
and replaces it with the variable name PageHash
in all locations.
rtrnID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern _rtrnId=(.+?)&
and replaces it with the variable name rtrnID
in all locations.
uuid_v2 - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern 'uuid':'(.+?)'
and replaces it with the variable name uuidv2
in all locations.
transformerActionId - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern wizardState\.LONG_MAX_VALUE = "(.+?)";
and replaces it with the variable name transformerActionId
in all locations.
Dom correlation - DOM Correlation - this rule implements the default Web Document Object Model correlation rules for Hyperion applications.
Client Set Cookie - Client Set Cookie - this rule type automatically transforms web page cookie objects with dynamic data.
frameDialogID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <BpmDialog id="(.+?)"
and replaces it with the variable name frameDialogID
in all locations.
PDF_ID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern &fileId=(.+?)&fr_id=
and replaces it with the variable name PDF_ID
in all locations.
BQY_Wizard_ID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern name="wizardIdFN" value="(.+?)"
and replaces it with the variable name BQY_Wizard_ID
in all locations.
SQR_out_ID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern getspfhtmloutput/(.+?)/
and replaces it with the variable name SQR_out_ID
in all locations.
formId - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern loadForm('(.+?)')
and replaces it with the variable name formId
in all locations.
dimId - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern 'dimId':(.+?),
and replaces it with the variable name dimId
in all locations.
Tab Index - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <div id="pt1:rgn(.+?):
and replaces it with the variable name tabIndex
in all locations.
J_Id - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern launchInline('(.+?)')
and replaces it with the variable name J_Id
in all locations.
CI - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern Application=xxxx&CI=(.+?)"
and replaces it with the variable name CI
in all locations.
GI - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern "GI_0" VALUE="(.+?)"
and replaces it with the variable name GI
in all locations.
TASK_ID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <kv="activityId">(.+?)</k>
and replaces it with the variable name TASK_ID
in all locations.
SOURCE_ID - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern <kv="providerId">(.+?)</k>
and replaces it with the variable name SOURCE_ID
in all locations.
selectedMembers - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern style="background-color:white;" class="x25" theme="default" type="text" value="(.+?)"
and replaces it with the variable name selectedMembers
in all locations.
selectedMembers_URL - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern style="background-color:white;" class="x25" theme="default" type="text" value="(.+?)"
and replaces it with the variable name selectedMembers_URL
in all locations.
randomNFToken - Variable Substitution - this rule locates text in the HTML matching the Regular Expression pattern 'nfToken':"(.+?)"
and replaces it with the variable name randomNFToken
in all locations.
jsRandomToken - Function/Text Substitution - this rule locates text in the HTML matching the Regular Expression pattern nfToken=(([^&]+))
and replaces it with the {{@jsRandomToken({{token}})}}
function in the specified locations.