Troubleshoot Synthetic Scenario

This page describes solutions for common GermainUX synthetic-scenario issues involving Windows desktop sessions and exception handling.

warning Scenario Blocked by Windows Security or an Inactive Desktop Session

🔍 Problem

A Selenium-based GermainUX RPA Bot scenario fails to run on Windows or Microsoft Edge because:

Issue

Detail

A Windows Security dialog appears.

The Engine does not have access to an interactive desktop.

The RDP session is minimized, locked, or disconnected.

Browser interactions requiring a visible desktop cannot be completed.

🔧 Solution

For scenarios that require an interactive Windows desktop:

Action

Run the GermainUX Engine in the foreground.

Maintain an active RDP session to the Windows server.

Ensure that the Engine account has the permissions required to launch and control the browser.

Configure Windows so the remote desktop is not suppressed when the RDP client is minimized.

Registry changes should be reviewed and performed by an authorized Windows administrator. Back up the applicable registry keys before making changes.

💻 Configure the RDP Client Registry

On the Windows machine running the RDP client used to maintain the Engine session, configure the following registry locations.

🏷️ 64-Bit Registry Location

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal Server Client

Create this DWORD value:

Name

Type

Value

RemoteDesktop_SuppressWhenMinimized

DWORD (32-bit)

2

🏷️ 32-Bit Compatibility Registry Location

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Terminal Server Client

Create the same DWORD value:

Name

Type

Value

RemoteDesktop_SuppressWhenMinimized

DWORD (32-bit)

2

After applying the changes:

Step

Action

1

Close and reopen the RDP client.

2

Reconnect to the Engine server.

3

Start the GermainUX Engine in the interactive session.

4

Run the synthetic scenario manually.

5

Confirm that Edge and the WebDriver can complete the workflow.

If a Windows Security dialog still appears, confirm that authentication, browser policies, credential access, and the Engine service account are configured correctly.

❌ Catch a Scenario Failure

🔍 Problem

Java-style try/catch exception handling is not supported in MVEL-based synthetic scenarios.

For example, the following pattern cannot be used reliably in an MVEL scenario:

try {
    wait.until(
        ExpectedConditions.elementToBeClickable(
            By.partialLinkText("Find Customer")
        )
    );

    wait.until(
        ExpectedConditions.not(
            ExpectedConditions.presenceOfAllElementsLocatedBy(
                By.className("siebui-busy")
            )
        )
    );
} catch (Exception ex) {
    log.info("The synthetic scenario failed.", ex);
}

💡 Solution

In GermainUX versions that support JavaScript-based Selenium scenarios, implement the scenario in JavaScript when structured exception handling is required.

JavaScript scenarios can use try/catch to:

Capability

Capture element lookup or timeout failures.

Add contextual logging.

Record a custom failure event.

Take a screenshot.

Perform cleanup or recovery.

Rethrow the error so GermainUX records the scenario as failed.

Use these resources:

Resource

Link

Download the complete JavaScript scenario

please contact us.

Read the JavaScript scenario guide

please contact us.

After converting the scenario:

Step

Action

1

Run it manually.

2

Force a known failure condition.

3

Confirm that the exception is captured and logged.

4

Verify that GermainUX reports the scenario as failed.

5

Confirm that the resulting screenshot, video, and diagnostic data are available.