diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 1390539e1..8d2d383cd 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -49,7 +49,7 @@ jobs: e2e-test: name: Playwright E2E Tests (Linux) - timeout-minutes: 180 + timeout-minutes: 240 runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 @@ -70,7 +70,7 @@ jobs: sudo chown root node_modules/electron/dist/chrome-sandbox sudo chmod 4755 node_modules/electron/dist/chrome-sandbox - - name: Run playwright Tests + - name: Run E2E Tests uses: ./.github/actions/tests/run-e2e-tests with: os: ubuntu diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 6677adfb1..676108baf 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -49,7 +49,7 @@ jobs: e2e-test: name: Playwright E2E Tests (macOS) - timeout-minutes: 180 + timeout-minutes: 240 runs-on: macos-latest steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index d774f65c4..bb9eee8cd 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -58,7 +58,7 @@ jobs: e2e-test: name: Playwright E2E Tests (Windows) - timeout-minutes: 180 + timeout-minutes: 240 runs-on: windows-latest steps: - uses: actions/checkout@v6 diff --git a/playwright.config.ts b/playwright.config.ts index ec7d9cba1..5669c87eb 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -9,7 +9,7 @@ if (process.env.CI) { export default defineConfig({ fullyParallel: true, forbidOnly: !!process.env.CI, - retries: process.env.CI ? 2 : 1, + retries: process.env.CI ? 2 : 0, workers: undefined, reporter, diff --git a/tests/collection/default-sandbox-mode/default-sandbox-mode.spec.ts b/tests/collection/default-sandbox-mode/default-sandbox-mode.spec.ts index ad87a78fe..e3ad7919f 100644 --- a/tests/collection/default-sandbox-mode/default-sandbox-mode.spec.ts +++ b/tests/collection/default-sandbox-mode/default-sandbox-mode.spec.ts @@ -15,13 +15,17 @@ test.describe('Default JavaScript Sandbox Mode', () => { // Click on sandbox mode selector to open security settings await sandboxLocators.sandboxModeSelector().click(); - // Change to developer mode - const developerRadio = sandboxLocators.developerModeRadio(); - await developerRadio.check(); + // Safe mode should be selected by default + await expect(sandboxLocators.safeModeRadio()).toHaveAttribute('aria-checked', 'true'); - // For developer mode, check if safe mode is currently selected - const safeModeChecked = await sandboxLocators.safeModeRadio().isChecked().catch(() => false); - await expect(safeModeChecked).toBe(false); + // Change to developer mode. The option is a menuitemradio whose checked + // state flips only after the async save dispatch resolves + const developerRadio = sandboxLocators.developerModeRadio(); + await developerRadio.click(); + await expect(developerRadio).toHaveAttribute('aria-checked', 'true'); + + // Safe mode should no longer be selected + await expect(sandboxLocators.safeModeRadio()).toHaveAttribute('aria-checked', 'false'); await page.keyboard.press('Escape'); });