Skip to main content
Availability2022.1 or later

Prerequisites

Conditions to meet first

Build reliable SAP selectors

Handle dynamic Fiori element IDs

Handle authentication securely

Protect credentials in scenarios

Troubleshooting

Resolve SAP recorder issues

Deploy the RPA Bot Recorder for SAP

Deploy the GermainUX RPA Bot Recorder to create Selenium-based synthetic scenarios for browser-accessible SAP applications. Synthetic scenarios continuously test critical SAP journeys so GermainUX can detect availability, performance, functional, and business-process failures before they affect real users.

Recorder versus synthetic execution

The RPA Bot Recorder is a browser extension used to create a Selenium scenario. It is not, by itself, the component that continuously executes the scenario. After recording, deploy the scenario to the appropriate GermainUX synthetic execution environment.

What synthetic SAP monitoring can detect

Synthetic scenarios can identify:
  • SAP application unavailable
  • Login failure
  • Slow authentication
  • Fiori launchpad unavailable
  • Application tile missing
  • Slow page or application launch
  • Search failure
  • Missing or incorrect data
  • Workflow submission failure
  • Integration failure
  • JavaScript error
  • Network timeout
  • Unexpected popup or validation message
  • Business-process failure
  • Performance degradation by location
  • Regression after an SAP release
Synthetic monitoring represents controlled test activity. It does not replace real-user monitoring, which reveals the actual experiences and workflows of production users.

Prerequisites

Before recording a scenario, confirm that:
  • The target SAP application is accessible through a supported browser.
  • You can install the RPA Bot Recorder extension.
  • The GermainUX environment is available.
  • A synthetic execution node can reach the SAP application.
  • A dedicated SAP test account exists.
  • Multifactor authentication requirements have been addressed securely.
  • Safe and repeatable test data is available.
  • The scenario has defined success criteria.
  • The SAP application owner approves the execution frequency.
  • Privacy and credential-handling requirements are documented.

Dedicated synthetic account

Use a dedicated account that:
  • Has only the permissions required by the scenario
  • Is clearly identified as synthetic
  • Is excluded from real-user adoption and productivity reporting
  • Is not shared with human users
  • Has a documented password-rotation process
  • Can operate during the scheduled monitoring period
  • Does not expose production-sensitive information unnecessarily
Do not record personal credentials into a Selenium script.

Select scenarios to monitor

Prioritize short, stable journeys that validate important SAP capabilities.

Availability scenario

Example:
1

Open the SAP login page

2

Confirm that the page loads

3

Sign in

4

Confirm that the Fiori launchpad appears

5

Sign out

Application-launch scenario

Example:
1

Sign in

2

Locate a specified application tile

3

Open the application

4

Confirm that its initial view loads

5

Validate a stable page element

Search scenario

Example:
1

Open the required SAP application

2

Enter an approved test search

3

Submit the search

4

Confirm that expected results appear

5

Validate that the result is current or correct

Business-process scenario

Examples include:
  • Create a test purchase requisition
  • Look up an approved test material
  • Create or update a test sales order
  • Submit an approval step
  • Review an invoice
  • Open an employee self-service page
  • Validate inventory availability
Use non-production or reversible test operations whenever possible.

Install the RPA Bot Recorder

Follow the general GermainUX RPA Bot Recorder installation procedure. At a high level:
1

Obtain the supported browser extension

2

Install it in the browser used to record the scenario

3

Approve the required extension permissions

4

Configure the GermainUX environment if prompted

5

Restart the browser when required

6

Confirm that the recorder opens successfully

For enterprise-managed browsers, deploy the extension through the organization’s approved browser policy or endpoint-management platform. The recorder is normally required only on workstations used to create or maintain scenarios. It does not need to be installed for ordinary SAP users.

Prepare the recording environment

Before recording:
  • Use the same browser family as the intended execution environment.
  • Set the browser zoom to the standard value.
  • Use a predictable window size.
  • Disable unrelated browser extensions.
  • Close unnecessary tabs.
  • Clear stale authentication state when required.
  • Prepare the test account.
  • Prepare reusable test data.
  • Document the expected result of each step.
  • Identify pages containing sensitive information.
Record the shortest path that validates the required business capability.

Record the SAP scenario

1

Open the target SAP application

2

Open the RPA Bot Recorder

3

Start recording

4

Perform the required SAP workflow

5

Pause before unnecessary navigation or exploratory actions

6

Add explicit validations at important steps

7

Stop recording

8

Save the scenario with a descriptive name

Example names:
Include the application and environment in the name when scenarios from multiple SAP systems are managed together.

Build reliable SAP selectors

SAP Fiori and SAPUI5 applications can generate dynamic element identifiers. Recorded selectors should be reviewed before production deployment.

Prefer stable selectors

Prefer:
  • Stable semantic attributes
  • Accessible names
  • Application-defined identifiers
  • Control labels
  • Stable test attributes
  • Relative selectors anchored to a stable container
  • SAPUI5 control properties exposed consistently
Avoid relying only on:
  • Absolute XPath
  • Position in the DOM
  • Generated numeric identifiers
  • Temporary CSS classes
  • Dynamic table row positions
  • Displayed text that changes by language
  • Long selectors containing the complete page hierarchy
Example of a fragile selector:
A selector based on a stable button role, label, or application identifier is preferable.

Dynamic SAP controls

Pay particular attention to:
  • Fiori tiles
  • Shell navigation
  • Value-help dialogs
  • Search suggestions
  • Dynamic tables
  • Lazy-loaded rows
  • Popovers
  • Modal dialogs
  • Date pickers
  • Iframes
  • New browser windows
  • Virtualized controls
A selector that works during recording may fail during unattended execution if it depends on temporary page state.

Configure waits and timing

Do not rely primarily on fixed delays. Use explicit waits for conditions such as:
  • Element is present
  • Element is visible
  • Element is enabled
  • Page or application title is correct
  • Loading indicator disappears
  • Network-dependent result appears
  • Dialog opens
  • Table contains an expected result
  • URL or route changes
  • Business confirmation appears
Use fixed waits only when no reliable application condition is available. Configure:
  • Per-step timeout
  • Page-load timeout
  • Scenario timeout
  • Retry behavior
  • Polling interval
  • Failure screenshot behavior
Timeouts should accommodate normal SAP response-time variation without hiding genuine degradation.

Add functional validations

A page loading successfully does not prove that the SAP function works. Add validations for:
  • Expected application title
  • Fiori tile available
  • Search result present
  • Expected test record displayed
  • Required field enabled
  • Confirmation message displayed
  • Workflow reaches the expected status
  • No user-facing application error appears
  • Returned data is current
  • Integration result is available
Keep these outcomes separate:

Handle authentication securely

Credentials

Store synthetic credentials in the supported GermainUX credential mechanism. Reference them at runtime rather than storing literal usernames and passwords in the recorded script. Do not include credentials in:
  • Scenario names
  • URLs
  • Screenshots
  • Source code
  • Step descriptions
  • Logs
  • Custom attributes

Single sign-on

SAP authentication may involve:
  • SAML
  • OAuth
  • Corporate identity providers
  • Windows integrated authentication
  • Client certificates
  • SAP identity services
  • Multifactor authentication
Validate the complete authentication path from the synthetic execution node.

Multifactor authentication

Interactive MFA can prevent unattended synthetic execution. Use an organization-approved synthetic authentication approach, such as:
  • Dedicated non-human account governed by compensating controls
  • Test identity-provider policy
  • Approved certificate-based authentication
  • Supported token mechanism
  • Non-production test authentication
Do not bypass MFA controls without explicit security approval.

Manage test data

Synthetic business transactions must be repeatable. Use one of these patterns:
  • Read-only lookup
  • Reusable test record
  • Unique test record followed by cleanup
  • Record created in a non-production environment
  • Transaction automatically reversed
  • Test data reset before each run
If the scenario creates or modifies data, define:
  • Naming convention
  • Maximum retained records
  • Cleanup process
  • Failure recovery
  • Ownership
  • Audit requirements
Avoid scenarios that create unlimited purchase requisitions, orders, users, invoices, or other production records.

Save and review the recording

After recording:
1

Review every command

2

Remove accidental actions

3

Replace fragile selectors

4

Replace fixed delays with explicit waits

5

Add functional validations

6

Replace literal credentials with secure references

7

Remove sensitive values

8

Add cleanup steps where appropriate

9

Run the scenario several times locally

10

Test it from a clean browser session

A scenario is not ready for scheduling merely because the initial recording completed once.

Deploy the synthetic scenario

After validation:
1

Save or export the Selenium scenario

2

Add it to the GermainUX synthetic-monitoring configuration

3

Select the execution node

4

Select the browser

5

Configure the schedule

6

Configure timeouts and retries

7

Assign the application and environment

8

Configure the credential references

9

Configure screenshots and diagnostic capture

10

Configure alerts

11

Run an on-demand test

12

Enable the schedule

Select an execution location

The synthetic node should represent the network path being tested. Potential locations include:
  • Inside the corporate network
  • A regional office
  • A data center
  • A cloud region
  • A VPN-connected location
  • An externally accessible location
Use multiple locations when you need to distinguish an SAP application failure from a regional network, VPN, DNS, or proxy problem.

Configure the schedule

Choose a frequency based on:
  • Business criticality
  • User operating hours
  • Expected outage-detection time
  • Scenario duration
  • SAP system capacity
  • Test-data impact
  • Authentication limits
  • Licensing constraints
Examples: Avoid running many overlapping scenarios with the same account.

Configure synthetic KPIs

Recommended KPIs include: Keep synthetic KPIs separate from real-user KPIs.

Configure alerts

Create alerts for actionable conditions such as:
  • Consecutive scenario failures
  • Login failure
  • Fiori launchpad unavailable
  • Required application missing
  • Functional validation failure
  • Scenario-duration degradation
  • Individual step exceeding its objective
  • Failure from multiple locations
  • New application error
Use consecutive-failure or multi-location rules to reduce alerts caused by isolated transient conditions. An alert should include:
  • Scenario
  • Application and environment
  • Execution location
  • Failed step
  • Error or validation message
  • Duration
  • Timestamp
  • Screenshot or diagnostic link, when permitted
  • Link to the execution details

Correlate synthetic and operational telemetry

When RUM JS and the Engine are also deployed, correlate a synthetic failure with:
  • Browser requests
  • JavaScript errors
  • SAP API health
  • SAP log events
  • Integration failures
  • Database health
  • Host metrics
  • Deployment or maintenance events
Exclude the synthetic account from real-user adoption, productivity, and conversion reporting.

Validate production deployment

Before enabling continuous execution, confirm that:
  • The scenario succeeds repeatedly from the selected node.
  • Credentials are retrieved securely.
  • Authentication works unattended.
  • Selectors remain stable.
  • Explicit waits handle normal SAP timing variation.
  • Functional validations detect incorrect results.
  • Screenshots exclude sensitive data.
  • Test data is cleaned up.
  • The account is identifiable as synthetic.
  • Synthetic sessions are excluded from real-user KPIs.
  • Failures trigger the intended alert.
  • Planned maintenance does not create unnecessary incidents.

Maintenance

Review scenarios after:
  • SAP upgrades
  • Fiori or SAPUI5 changes
  • Theme or layout changes
  • Authentication changes
  • Browser upgrades
  • Network or proxy changes
  • Business-process changes
  • Test-data changes
  • Role or permission changes
Maintain version history for each scenario and document why material changes were made.

Troubleshooting

Recording does not capture an action

The control may be:
  • Inside an iframe
  • Dynamically created
  • Implemented through a custom SAPUI5 event
  • Covered by another element
  • Opened in a new window
  • Not supported by the recorder’s automatic capture
Add or edit the corresponding Selenium step manually.

Scenario works during recording but fails unattended

Check:
  • Dynamic selectors
  • Browser-window size
  • Browser version
  • Authentication state
  • Missing explicit waits
  • Execution-node network path
  • Test data
  • User permissions
  • Locale and time zone
  • Popups and consent messages

SAP element cannot be found

Replace generated IDs or absolute XPath with a stable semantic selector. Add an explicit wait for the control to become visible and enabled.

Scenario is slow but does not fail

Configure warning and critical duration thresholds for the scenario and individual steps. Functional success does not mean performance is acceptable.

MFA blocks execution

Use only an organization-approved synthetic authentication method. Do not place one-time codes or personal MFA credentials in the scenario.

Duplicate test records accumulate

Add cleanup logic, reuse a controlled record, or move the scenario to a non-production environment. Disable the schedule until data management is corrected.

Synthetic activity appears as real-user activity

Filter or classify using:
  • Synthetic username
  • Execution-node address
  • Scenario metadata
  • Browser identifier
  • Dedicated application or environment attribute

Get More Information

GermainUX can help determine which monitoring, analytics and automation capabilities are appropriate for your Salesforce Experience Cloud environment. Contact GermainUX Support.

Get Help

Contact GermainUX Support

The GermainUX Team can help you set this up.

Can't find what you need?

Search all GermainUX docs with Ctrl + K, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE LLC.