Skip to main content
Electron flows use @qawolf/flows/web. The callback receives the first window as page, giving you the full Playwright API for interacting with the app.

Examples

Launch and interact with an Electron app
Choose the executable path at runtime Use explicit launch when the path depends on runtime logic — for example, switching between a stable and canary build.

When to use

  • Your app is a desktop application built with Electron.
  • You need to test app startup, window behavior, or native OS integrations.
  • Your flow needs to interact with the first Electron window before any navigation.
  • You want to switch between builds — stable vs canary — at runtime.

Notes

Declarative vs explicit launch For most Electron flows, use the declarative style with target: "Electron" and launch.executablePath. The callback receives the first window as page automatically. Use explicit launch({ kind: "electron", executablePath }) only when the executable path depends on runtime logic. In this case, the first window is returned as firstWindowPage rather than injected as page. For the full Electron launch shape, see the Web API Reference.
Last modified on May 20, 2026