Skip to content

[BUG] E2E WebKit is too slow #103

Description

@iLollek

Description

WebKit E2E tests fail intermittently because WebKit's JS execution is significantly slower than Chromium/Firefox. Three test fixtures (Dashboard, Sidebar, Overlay) run in parallel and share the same backend state. Each parallel test writes state updates via SignalR, triggering Angular re-renders of the map cards. During the CSS transition (transform 150ms) on .map-card, Playwright considers elements "not stable" and refuses to interact with them. Chromium/Firefox process re-renders fast enough that elements stabilize between Playwright actions - WebKit does not.

Component

  • Frontend (Angular Control Panel)
  • Frontend (Overlays)
  • Backend (ASP.NET Core)
  • Deployment / Setup

Environment

Frontend:

  • Browser: WebKit (Safari engine, via Playwright)
  • OS: Ubuntu 22.04 (GitHub Actions runner)

Other:

  • Streaming Tool Version/Branch: 44-add-e2e-tests and master basically

Steps to Reproduce

  1. Open a Pull Request targeting master
  2. Wait for the E2E workflow to run (matrix: chromium, firefox, webkit)
  3. Observe that the webkit job fails while chromium and firefox pass

Expected Behavior

All three browser matrix jobs pass consistently.

Actual Behavior

The WebKit job fails with:

element is not stable
element was detached from the DOM, retrying
System.TimeoutException : Timeout 30000ms exceeded.

Affected Features

  • Control Panel

Additional Context

  • Happens consistently on WebKit, never on Chromium/Firefox
  • Root cause: shared backend state + parallel test fixtures + CSS transition = unstable elements in slow WebKit
  • Workaround applied: Force = true on affected Playwright clicks to skip the stability check
  • Long-term fix: isolate backend state per test run, or remove the transition: transform 150ms from .map-card

Metadata

Metadata

Assignees

Labels

Low PriorityFor Issues and Pull Requests with low prioritybugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions