13 Using the Hyperion Load Test Module

This chapter provides instructions on configuring and using the OpenScript Hyperion Load Test Module, which provides support for load testing of Hyperion applications.

13.1 About the Hyperion Load Test Module

The Hyperion Load Test Module is an extension module to the OpenScript HTTP Module that extends the Web testing with Hyperion-specific correlation rules.

13.1.1 Key Features of the Hyperion Load Test Module

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

13.2 Recording Hyperion Load Tests

The Hyperion Load Test Module records Hyperion-specific correlation rules into HTTP load testing scripts for automating testing of Hyperion EnterpriseOne applications.

13.2.1 Recording Hyperion Load Test Scripts

To record Hyperion Load Test scripts:

  1. Start OpenScript.

  2. Set the Hyperion Load Test Correlation preferences.

  3. Select New from the File menu.

  4. Expand the Load Testing group.

  5. Select Oracle Hyperion (The Hyperion script combines both HTTP and Hyperion technologies as part of the same script).

  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 node of the script tree specified by the Set Record Section setting (the Run node is the default).

  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.

13.3 Playing Back Scripts

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.

13.3.1 Playing Back Hyperion Load Scripts

To play back Hyperion Load scripts:

  1. Start OpenScript.

  2. Open the Hyperion Load script to play back.

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

13.3.2 Playing Back Hyperion Load Scripts with Iterations

To play back Hyperion Load scripts with iterations:

  1. Start OpenScript.

  2. Open the Hyperion Load script to play back.

  3. Select Iterate from the Script menu or click the toolbar button.

  4. Select Use Databanks.

  5. Select which databank file to specify the settings for if more than one database is configured for the script.

  6. Specify the settings for the databank file.

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

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

13.4 Setting Hyperion Load Test Correlation Preferences

To set Setting Hyperion Load Test Correlation preferences:

  1. Start OpenScript.

  2. Select OpenScript Preferences from the View menu.

  3. Expand the OpenScript node and the Correlation category.

  4. Select Hyperion Load Testing Module.

  5. Expand the Hyperion Load Test library.

  6. Select or clear the check boxes to enable or disable specific rules.

  7. Click the Add or Edit buttons to modify rules in the library.

  8. Click OK.

13.5 Hyperion Load Test Correlation Library

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.