What problem does it solve?
This Skill eliminates flaky, slow Electron end-to-end tests by standardizing a runtime contract and deterministic testing patterns so your CI results match your local results.
Core Features & Use Cases
- Runtime contract for tests: Implements a shared
window.__e2e API with readiness flags (window.__e2e.ready.*), an append-only structured event log (window.__e2e.events), and a test bridge (window.__e2e.bridge) for deterministic state changes.
- Deterministic synchronization: Replaces timing hacks with readiness polling and event-driven assertions so tests wait for real integration boundaries (LSP/IPC/file/model transitions) instead of sleeps.
- Deep, resilient assertions: Encourages asserting on underlying model data (via the bridge) and structured events rather than brittle DOM strings or console-log parsing.
- CI + environment conventions: Standardizes
E2E_* environment variables for consistent app startup, isolation, headless behavior, and trace capture.
Quick Start
Use the electron-e2e-testing Skill to migrate your app to the window.__e2e contract, then update your Playwright E2E suite to wait on readiness/events and assert through the bridge for integration correctness.