Prerequisites
Build reliable SAP selectors
Handle authentication securely
Troubleshooting
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.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
Show all 16
Show all 16
- 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
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.
Show all 10
Show all 10
- 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
Select scenarios to monitor
Prioritize short, stable journeys that validate important SAP capabilities.Availability scenario
Example:Open the SAP login page
Confirm that the page loads
Sign in
Confirm that the Fiori launchpad appears
Sign out
Application-launch scenario
Example:Sign in
Locate a specified application tile
Open the application
Confirm that its initial view loads
Validate a stable page element
Search scenario
Example:Open the required SAP application
Enter an approved test search
Submit the search
Confirm that expected results appear
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
Install the RPA Bot Recorder
Follow the general GermainUX RPA Bot Recorder installation procedure. At a high level:Obtain the supported browser extension
Install it in the browser used to record the scenario
Approve the required extension permissions
Configure the GermainUX environment if prompted
Restart the browser when required
Confirm that the recorder opens successfully
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.
Show all 10
Show all 10
- Prepare the test account.
- Prepare reusable test data.
- Document the expected result of each step.
- Identify pages containing sensitive information.
Record the SAP scenario
Open the target SAP application
Open the RPA Bot Recorder
Start recording
Perform the required SAP workflow
Pause before unnecessary navigation or exploratory actions
Add explicit validations at important steps
Stop recording
Save the scenario with a descriptive name
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
- 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
Dynamic SAP controls
Pay particular attention to:- Fiori tiles
- Shell navigation
- Value-help dialogs
- Search suggestions
- Dynamic tables
- Lazy-loaded rows
Show all 12
Show all 12
- Popovers
- Modal dialogs
- Date pickers
- Iframes
- New browser windows
- Virtualized controls
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
Show all 10
Show all 10
- Dialog opens
- Table contains an expected result
- URL or route changes
- Business confirmation appears
- Per-step timeout
- Page-load timeout
- Scenario timeout
- Retry behavior
- Polling interval
- Failure screenshot behavior
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
Show all 10
Show all 10
- Workflow reaches the expected status
- No user-facing application error appears
- Returned data is current
- Integration result is available
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
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
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
- Naming convention
- Maximum retained records
- Cleanup process
- Failure recovery
- Ownership
- Audit requirements
Save and review the recording
After recording:Review every command
Remove accidental actions
Replace fragile selectors
Replace fixed delays with explicit waits
Add functional validations
Replace literal credentials with secure references
Remove sensitive values
Add cleanup steps where appropriate
Run the scenario several times locally
Test it from a clean browser session
Deploy the synthetic scenario
After validation:Save or export the Selenium scenario
Add it to the GermainUX synthetic-monitoring configuration
Select the execution node
Select the browser
Configure the schedule
Configure timeouts and retries
Assign the application and environment
Configure the credential references
Configure screenshots and diagnostic capture
Configure alerts
Run an on-demand test
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
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
Configure synthetic KPIs
Recommended KPIs include: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
Show all 9
Show all 9
- Individual step exceeding its objective
- Failure from multiple locations
- New application error
- Scenario
- Application and environment
- Execution location
- Failed step
- Error or validation message
- Duration
Show all 9
Show all 9
- 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
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.
Show all 12
Show all 12
- 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
Show all 9
Show all 9
- Business-process changes
- Test-data changes
- Role or permission changes
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
Scenario works during recording but fails unattended
Check:- Dynamic selectors
- Browser-window size
- Browser version
- Authentication state
- Missing explicit waits
- Execution-node network path
Show all 10
Show all 10
- 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
Related documentation
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
Can't find what you need?
The content of this document is proprietary to GERMAIN SOFTWARE LLC.

