• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mxschmitt / playwright-go
77%
main: 78%

Build:
Build:
LAST BUILD BRANCH: feat/connect-remote-websocket
DEFAULT BRANCH: main
Repo Added 29 Aug 2020 10:26AM UTC
Files 64
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH feat/connect-remote-websocket
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • chore/migrate-to-mxschmitt
  • chore/modernize-docs-site
  • ci/rerun-flaky-tests-gotestsum
  • codex/fix-page-frames-race
  • cursor/cdp-download-guid-test-8e4e
  • feat/allow-cli-path-env
  • feat/connect-remote-websocket
  • feature/websocket
  • fix/assertions-mixed-string-regexp-lists
  • fix/ci-concurrency-serializes-main
  • fix/coveralls-badge-rendering
  • fix/expect-request-response-object-predicate
  • fix/getby-invalid-argument-panic
  • fix/lost-wakeup-in-wait-for-load-state
  • fix/page-frames-data-race
  • fix/readme-badges
  • fix/transport-stdlib-json
  • fix/waiter-predicate-panics
  • fix/webkit-folder-upload-eats-package-timeout
  • main
  • master
  • roll/v1.62.1
  • skill/release-playwright
  • skill/roll-pr-footer
  • upstream/cdp-event-unknown-guid-passthrough

13 Oct 2026 08:19AM UTC coverage: 77.488% (-0.7%) from 78.163%
38368699058

Pull #644

github

minhhuynh-tinyfish
feat: add ConnectRemote to drive a remote Playwright server without a local driver

ConnectRemote speaks the Playwright protocol directly to a
BrowserType.launchServer endpoint over WebSocket (one JSON text frame per
message), so no Node.js driver is downloaded or started on the client.
BrowserType.Connect still needs one, because it opens the WebSocket
through LocalUtils.connect on the local driver.

The handshake always sends a Playwright/<driver version> User-Agent and
does not let callers override it: the server only enforces its
major.minor compatibility check for a User-Agent it can parse. A 428
refusal is returned as ErrVersionMismatch naming both versions.

Without a local driver there is no LocalUtils, so tracing skips
client-side stack collection instead of dereferencing nil.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pull Request #644: feat: add ConnectRemote to drive a remote Playwright server without a local driver

50 of 151 new or added lines in 4 files covered. (33.11%)

2 existing lines in 1 file now uncovered.

7996 of 10319 relevant lines covered (77.49%)

14673.76 hits per line

Relevant lines Covered
Build:
Build:
10319 RELEVANT LINES 7996 COVERED LINES
14673.76 HITS PER LINE
Source Files on main
  • Tree
  • List 64
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
38368699058 feat/connect-remote-websocket feat: add ConnectRemote to drive a remote Playwright server without a local driver ConnectRemote speaks the Playwright protocol directly to a BrowserType.launchServer endpoint over WebSocket (one JSON text frame per message), so no Node.js driver... Pull #644 13 Oct 2026 08:29AM UTC minhhuynh-tinyfish github
77.49
34903889989 main test: live CDP download guid coverage and unroute interception deadlock fix (#643) * test: cover CDP download guid passthrough with a live Chromium session A Page.enable'd CDPSession plus a real download is what used to kill the driver connectio... push 14 Sep 2026 10:31PM UTC web-flow github
78.16
34898902517 cursor/cdp-download-guid-test-8e4e fix: do not hold route mutexes across interception protocol calls TestContextUnrouteCallShouldStopContextRouteFromHAR hung on WebKit macOS because onRoute held the context lock while waiting for setNetworkInterceptionPatterns. Dispatch then block... Pull #643 14 Sep 2026 09:35PM UTC cursoragent github
78.15
34892905900 cursor/cdp-download-guid-test-8e4e test: cover CDP download guid passthrough with a live Chromium session A Page.enable'd CDPSession plus a real download is what used to kill the driver connection; keep a browser-level regression next to the unit tests. Co-authored-by: Max Schmit... Pull #643 14 Sep 2026 08:41PM UTC cursoragent github
78.11
34892813226 main fix: allow unknown guids in CDP event payloads to pass through (#642) Thanks! push 14 Sep 2026 08:32PM UTC web-flow github
78.11
34877308904 upstream/cdp-event-unknown-guid-passthrough fix: allow unknown guids in CDP event payloads to pass through (cherry picked from commit 954948393) Pull #642 14 Sep 2026 05:59PM UTC pcockrill github
78.09
34399555832 main fix: subscribe before re-checking in WaitForLoadState and WaitForURL so a state recorded in between is not lost (#641) push 09 Sep 2026 08:19PM UTC web-flow github
78.07
34021920463 fix/lost-wakeup-in-wait-for-load-state fix: subscribe before re-checking in WaitForLoadState and WaitForURL so a state recorded in between is not lost Frame.WaitForLoadState read the frame's load states, then built its waiter (a timer goroutine and four listener registrations), and on... Pull #641 06 Sep 2026 08:35AM UTC myrjola github
78.07
31999264115 main fix: reject unusable event predicates instead of panicking in the dispatch goroutine (#635) The generic ExpectEvent/WaitForEvent APIs on Page, BrowserContext and WebSocket take `Predicate any` — necessarily untyped, since the event argument type ... push 17 Aug 2026 06:04AM UTC web-flow github
79.6
31999171077 main fix: report invalid GetBy*/HasText argument types instead of panicking (#637) The GetBy* text parameters are `any` because Go has no string|RegExp union, but the selector helpers assumed anything that was not a regexp was a string: func esca... push 17 Aug 2026 05:57AM UTC web-flow github
79.57
See All Builds (336)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc