RPA Bot Recorder Deployment for SAP

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

Component

Purpose

RPA Bot Recorder

Records and edits the initial browser scenario

GermainUX Engine and platform

Runs the recorded scenario on a schedule; Manages execution, collects results, analyzes failures, and triggers alerts

RUM JS

Captures real-user sessions; not required solely to execute a synthetic scenario

After recording, deploy the scenario to the appropriate GermainUX synthetic execution environment.

🔍 What synthetic SAP monitoring can detect

Synthetic scenarios can identify:

Issue

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:

Prerequisite

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:

Account property

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:

SAP PROD - Fiori Login
SAP PROD - Material Search
SAP QA - Purchase Requisition
SAP PROD - Sales Order Lookup

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:

Preferred selector

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:

Fragile selector

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:

/html/body/div[3]/div/div[2]/div[1]/button

A selector based on a stable button role, label, or application identifier is preferable.

warning 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:

Condition

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:

Validation

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:

Outcome

Meaning

Technical success

The browser action completed

Functional success

The expected SAP result appeared

Performance success

The step completed within its objective

User validation

SAP correctly prevented invalid input

Application failure

SAP did not operate correctly

Test-data failure

The scenario’s required test data was unavailable

🔒 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:

Place

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:

Pattern

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:

Scenario

Example frequency

Login and launchpad

Every 5–15 minutes

Critical read-only lookup

Every 15–30 minutes

Multi-step workflow

Every 30–60 minutes

Data-changing transaction

Less frequently, based on approved test-data controls

Avoid running many overlapping scenarios with the same account.

📈 Configure synthetic KPIs

Recommended KPIs include:

KPI

Description

Scenario Availability

Percentage of scheduled executions completed successfully

Scenario Duration

Total execution time

Step Duration

Duration of an individual action or validation

Scenario Failure

Scenario that cannot complete

Functional Validation Failure

Expected SAP state or result was not found

Login Duration

Time required to authenticate

Application Launch Duration

Time required to open the target SAP application

SLA Compliance

Percentage of executions meeting the configured objective

Execution Volume

Number of scheduled executions

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.

Component: Engine, RPA Bot Recorder

Feature Availability: 2022.1 or later