Skip to content

Roll to Playwright v1.60.0#592

Open
nczz wants to merge 11 commits into
playwright-community:mainfrom
nczz:roll/v1.60.0
Open

Roll to Playwright v1.60.0#592
nczz wants to merge 11 commits into
playwright-community:mainfrom
nczz:roll/v1.60.0

Conversation

@nczz
Copy link
Copy Markdown

@nczz nczz commented May 15, 2026

Roll playwright-go to Playwright v1.60.0.

Runtime alignment

  • Align HAR export with Playwright 1.60 protocol behavior by handling artifact vs entries results and local .zip export compression.
  • Align recordHarOptions serialization with the v1.60 protocol field name.
  • Align WebSocketRoute close/connect forwarding behavior with upstream Playwright client semantics.
  • Avoid route handler shared-error races in iframe route helpers.

Test alignment and stabilization

  • Update TestMouseWheel to move the mouse before wheel input, matching upstream Playwright 1.60 page/wheel.spec.ts.
  • Keep WebKit macOS popup skips scoped to popup tests only. These are documented as a GitHub macOS WebKit browser-close cascade and are not treated as a runtime fix.
  • Keep existing Chromium local-network launch compatibility for CI.

Verification

Local verification run before opening this PR:

  • BROWSER=webkit go test -run '^(TestBrowserContextWindowOpenshouldUseParentTabContext|TestPageEventShouldHaveURL|TestBrowserContextEventsRequest|TestBrowserContextEventsResponse|TestDialogEventShouldWorkInImmdiatelyClosedPopup|TestDialogShouldWorkInPopup|TestPageExpectPopup|TestPageOpener|TestPageClockPopup|TestMouseWheel)$' -count=1 -race -timeout 120s -v ./tests
  • BROWSER=webkit go test -timeout 15m -v -coverprofile=covprofile -coverpkg="github.com/playwright-community/playwright-go" --race ./...
  • go test -count=1 -timeout 15m -v -coverprofile=covprofile -coverpkg="github.com/playwright-community/playwright-go" --race ./...

Fork CI verification:

  • nczz/playwright-go PR checks passed after rerunning a WebKit macOS oldstable flake.

Known limitation

WebKit on GitHub macOS currently closes the browser while opening several popup cases, which can cascade into unrelated failures. This PR isolates only those popup tests behind isWebKit && runtime.GOOS == "darwin"; non-WebKit and non-macOS coverage still runs. This is a CI containment, not a claim that the underlying WebKit/macOS popup issue is fixed.

nczz added 11 commits May 11, 2026 13:47
- Update Playwright driver to v1.59.1
- Chromium 147.0.7727.15, Firefox 148.0.2, WebKit 26.4
- Add Browser.Bind/Unbind (startServer/stopServer protocol)
- Add BrowserContext.Debugger, IsClosed, SetStorageState
- Add Page.AriaSnapshot, Screencast, ClearConsoleMessages, ClearPageErrors, PageErrors
- Add CDPSession.OnClose, ConsoleMessage.Timestamp, Response.HttpVersion
- Add Request.ExistingResponse, Locator.Normalize, Locator.Description
- Add Debugger class (event-based PausedDetails)
- Add Screencast class (client-side wrapper for screencast commands)
- Add Disposable to objectFactory (driver sends but Go doesn't expose)
- Fix Connect protocol: wsEndpoint -> endpoint
- Fix video: artifact from page initializer (no longer event-based)
- Fix skipFieldSerialization: handle nil Func types
- Patch fixes: add Go to route.url, unroute.url, routeWebSocket.url,
  waitForURL, pageErrors, Description langs
- Generator fixes: Disposable->void, Promise->void in func returns,
  FilePayload union->any, void event handler

BREAKING CHANGE: RecordVideo.Dir changed from string to *string
(generated from protocol, dir is now optional in PW 1.59)
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