This page describes solutions for common GermainUX synthetic-scenario issues involving Windows desktop sessions and exception handling.
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 |
|---|---|---|
|
|
|
|
🏷️ 32-Bit Compatibility Registry Location
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Terminal Server Client
Create the same DWORD value:
|
Name |
Type |
Value |
|---|---|---|
|
|
|
|
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. |