From 882edb9653b87bc15a0c558998bf36df55dac858 Mon Sep 17 00:00:00 2001 From: Oleksii Korniienko Date: Tue, 15 Sep 2026 14:39:12 +0200 Subject: [PATCH] Handle UnexpectedAlertOpenError in RestartFromLocalDevlile. Assisted-by: Claude Code Signed-off-by: Oleksii Korniienko --- .../RestartFromLocalDevfile.spec.ts | 46 +++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/tests/e2e/specs/restart-tests/RestartFromLocalDevfile.spec.ts b/tests/e2e/specs/restart-tests/RestartFromLocalDevfile.spec.ts index 796aac6f447..7439a1332d3 100644 --- a/tests/e2e/specs/restart-tests/RestartFromLocalDevfile.spec.ts +++ b/tests/e2e/specs/restart-tests/RestartFromLocalDevfile.spec.ts @@ -26,7 +26,7 @@ import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil'; import { DriverHelper } from '../../utils/DriverHelper'; import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests'; import { RestartWorkspaceDialog } from '../../pageobjects/ide/RestartWorkspaceDialog'; -import { By } from 'selenium-webdriver'; +import { By, error } from 'selenium-webdriver'; import { registerRunningWorkspace } from '../MochaHooks'; suite(`Test case with empty workspace (per-user storage) ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void { @@ -112,8 +112,28 @@ suite(`Test case with empty workspace (per-user storage) ${BASE_TEST_CONSTANTS.T test('Restart workspace from local devfile with bad image', async function (): Promise { await restartWorkspaceDialog.restartFromLocalDevfile(projectName); + Logger.info('Waiting for "Restart Workspace" confirmation popup'); - await restartWorkspaceDialog.confirmRestartWorkspace(); + try { + await restartWorkspaceDialog.confirmRestartWorkspace(); + } catch (err) { + if (err instanceof error.UnexpectedAlertOpenError) { + let alertText: string = ''; + try { + alertText = await driverHelper.getDriver().switchTo().alert().getText(); + } catch (alertErr) { + // alert already auto-dismissed by Chrome + } + if (alertText === '') { + Logger.info('UnexpectedAlertOpenError with empty text caught, retrying confirmRestartWorkspace'); + await restartWorkspaceDialog.confirmRestartWorkspace(); + } else { + throw new error.UnexpectedAlertOpenError(`unexpected alert with text: "${alertText}"`); + } + } else { + throw err; + } + } }); test('Wait for workspace start failure and restart', async function (): Promise { @@ -281,8 +301,28 @@ suite(`Test case with pvc-fail workspace (bad image restart) ${BASE_TEST_CONSTAN test('Restart workspace from local devfile with bad image', async function (): Promise { await restartWorkspaceDialog.restartFromLocalDevfile(projectName); + Logger.info('Waiting for "Restart Workspace" confirmation popup'); - await restartWorkspaceDialog.confirmRestartWorkspace(); + try { + await restartWorkspaceDialog.confirmRestartWorkspace(); + } catch (err) { + if (err instanceof error.UnexpectedAlertOpenError) { + let alertText: string = ''; + try { + alertText = await driverHelper.getDriver().switchTo().alert().getText(); + } catch (alertErr) { + // alert already auto-dismissed by Chrome + } + if (alertText === '') { + Logger.info('UnexpectedAlertOpenError with empty text caught, retrying confirmRestartWorkspace'); + await restartWorkspaceDialog.confirmRestartWorkspace(); + } else { + throw new error.UnexpectedAlertOpenError(`unexpected alert with text: "${alertText}"`); + } + } else { + throw err; + } + } }); test('Wait for workspace start failure and restart with default devfile', async function (): Promise {