Skip to content

feat(electron): move Electron API to a separate package#40184

Open
dgozman wants to merge 3 commits intomicrosoft:mainfrom
dgozman:feat-experimental-electron
Open

feat(electron): move Electron API to a separate package#40184
dgozman wants to merge 3 commits intomicrosoft:mainfrom
dgozman:feat-experimental-electron

Conversation

@dgozman
Copy link
Copy Markdown
Collaborator

@dgozman dgozman commented Apr 13, 2026

Summary

  • Extract the Electron API out of playwright-core into a new @playwright/electron package, built purely on top of chromium.connectToWorker + chromium.connectOverCDP.
  • playwright-core no longer ships any Electron-specific client/server/dispatcher/protocol code.
  • Document migration paths for removed launch options (recordHar, recordVideo, bypassCSP, ignoreHTTPSErrors, timezoneId, locale, etc.) in the new package's README.

@dgozman dgozman force-pushed the feat-experimental-electron branch from de762e6 to 55effdc Compare April 13, 2026 14:56
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@dgozman dgozman force-pushed the feat-experimental-electron branch 3 times, most recently from 79e6e36 to 4856f9a Compare April 14, 2026 14:42
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

dgozman added 2 commits April 16, 2026 09:50
Extract the experimental Electron automation API out of playwright-core
into a new @playwright/experimental-electron package. The new package is
a pure client built on top of chromium.connectToWorker (Node side) and
chromium.connectOverCDP (Chromium side), so playwright-core no longer
ships any Electron-specific client/server/dispatcher/protocol code.

A few legacy launch options (recordHar, recordVideo, tracesDir,
bypassCSP, artifactsDir) cannot be wired through the public surface
today; they are documented in packages/playwright-electron/features.md
together with the supported workarounds (page.screencast.start,
context.tracing.startHar, etc.).
Drop "experimental" from the package name and update docs, tests,
and build tooling accordingly.
@dgozman dgozman force-pushed the feat-experimental-electron branch from 4856f9a to df8eadf Compare April 16, 2026 10:40
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@dgozman dgozman changed the title feat(electron): move experimental Electron API to a separate package feat(electron): move Electron API to a separate package Apr 16, 2026
Remove electron dispatcher entries from channels scope state tests,
and build the @playwright/electron package for installation tests.
@github-actions
Copy link
Copy Markdown
Contributor

Test results for "tests 1"

9 failed
❌ [installation tests] › playwright-electron-should-work.spec.ts:21 › electron should work @package-installations-ubuntu-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:31 › electron should work with special characters in path @package-installations-ubuntu-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:44 › should work when wrapped inside @playwright/test and trace is enabled @package-installations-ubuntu-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:21 › electron should work @package-installations-windows-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:31 › electron should work with special characters in path @package-installations-windows-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:44 › should work when wrapped inside @playwright/test and trace is enabled @package-installations-windows-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:21 › electron should work @package-installations-macos-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:31 › electron should work with special characters in path @package-installations-macos-latest
❌ [installation tests] › playwright-electron-should-work.spec.ts:44 › should work when wrapped inside @playwright/test and trace is enabled @package-installations-macos-latest

3 flaky ⚠️ [chromium-library] › library/video.spec.ts:476 › screencast › should capture static page in persistent context @smoke `@ubuntu-22.04-chromium-tip-of-tree`
⚠️ [firefox-library] › library/inspector/cli-codegen-1.spec.ts:1080 › cli codegen › should not throw csp directive violation errors `@firefox-ubuntu-22.04-node20`
⚠️ [playwright-test] › ui-mode-test-output.spec.ts:118 › should collapse repeated console messages for test `@ubuntu-latest-node20`

39180 passed, 847 skipped


Merge workflow run.

@github-actions
Copy link
Copy Markdown
Contributor

Test results for "MCP"

2 failed
❌ [firefox] › mcp/dashboard.spec.ts:34 › should show current workspace sessions first @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:34 › should show current workspace sessions first @mcp-windows-latest

6042 passed, 976 skipped


Merge workflow run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant