You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Binds the browser to a named pipe or web socket, making it available for other clients to connect to.
304
+
305
+
### param: Browser.bind.title
306
+
* since: v1.59
307
+
-`title` <[string]>
308
+
309
+
Title of the browser server, used for identification.
310
+
311
+
### option: Browser.bind.workspaceDir
312
+
* since: v1.59
313
+
-`workspaceDir` <[string]>
314
+
315
+
Working directory associated with this browser server.
316
+
317
+
### option: Browser.bind.metadata
318
+
* since: v1.59
319
+
* langs: js
320
+
-`metadata` <[Object]<[string], [any]>>
321
+
322
+
Additional metadata to associate with the browser server.
323
+
324
+
### option: Browser.bind.host
325
+
* since: v1.59
326
+
-`host` <[string]>
327
+
328
+
Host to bind the web socket server to. When specified, a web socket server is created instead of a named pipe.
329
+
330
+
### option: Browser.bind.port
331
+
* since: v1.59
332
+
-`port` <[int]>
333
+
334
+
Port to bind the web socket server to. When specified, a web socket server is created instead of a named pipe. Use `0` to let the OS pick an available port.
335
+
298
336
## async method: Browser.removeAllListeners
299
337
* since: v1.47
300
338
* langs: js
@@ -382,6 +420,11 @@ This API controls [Chromium Tracing](https://www.chromium.org/developers/how-tos
382
420
383
421
Returns the buffer with trace data.
384
422
423
+
## async method: Browser.unbind
424
+
* since: v1.59
425
+
426
+
Unbinds the browser server previously bound with [`method: Browser.bind`].
Copy file name to clipboardExpand all lines: docs/src/release-notes-csharp.md
+59-3Lines changed: 59 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,14 @@ import LiteYouTube from '@site/src/components/LiteYouTube';
10
10
11
11
### 🎬 Screencast
12
12
13
-
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordingsand as real-time frame streams.
13
+
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordings, annotations, overlays, and a real-time frame stream.
**Video recording** — record video with precise start/stop control, as an alternative to the [`option: Browser.newContext.recordVideoDir`] option:
19
+
20
+
**Screencast recording** — record video with precise start/stop control, as an alternative to the [`option: Browser.newContext.recordVideoDir`] option:
Copy file name to clipboardExpand all lines: docs/src/release-notes-java.md
+56-3Lines changed: 56 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,14 @@ import LiteYouTube from '@site/src/components/LiteYouTube';
10
10
11
11
### 🎬 Screencast
12
12
13
-
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordingsand as real-time frame streams.
13
+
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordings, annotations, overlays, and a real-time frame stream.
**Video recording** — record video with precise start/stop control, as an alternative to the [`option: Browser.newContext.recordVideoDir`] option:
19
+
20
+
**Screencast recording** — record video with precise start/stop control, as an alternative to the [`option: Browser.newContext.recordVideoDir`] option:
Copy file name to clipboardExpand all lines: docs/src/release-notes-js.md
+61-5Lines changed: 61 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,14 @@ import LiteYouTube from '@site/src/components/LiteYouTube';
10
10
11
11
### 🎬 Screencast
12
12
13
-
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordingsand as real-time frame streams.
13
+
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordings, annotations, overlays, and a real-time frame stream.
The resulting video serves as a receipt: chapter titles provide context, action annotations highlight each interaction, and the visual walkthrough is faster to review than text logs.
93
96
94
-
### 🤖 Agentic Tools
97
+
### 🔗 Interoperability
98
+
99
+
New [`method: Browser.bind`] API makes a launched browser available for `playwright-cli`, `@playwright/mcp`, and other clients to connect to.
100
+
101
+
**Bind a browser** — start a browser and bind it so others can connect:
-`playwright-cli` binds all of its browsers automatically, so you can see what your agents are doing.
150
+
- Pass `PLAYWRIGHT_DASHBOARD=1` env variable to see all `@playwright/test` browsers in the dashboard.
95
151
96
-
#### CLI debugger
152
+
###🐛 CLI debugger for agents
97
153
98
154
Coding agents can now run `npx playwright test --debug=cli` to attach and debug tests over `playwright-cli` — perfect for automatically fixing tests in agentic workflows:
- Expect "toHaveTitle" at output/tests/example.spec.ts:7
117
173
```
118
174
119
-
#### CLI trace analysis
175
+
###📋 CLI trace analysis for agents
120
176
121
177
Coding agents can run `npx playwright trace` to explore [Playwright Trace](./trace-viewer.md) and understand failing or flaky tests from the command line:
Copy file name to clipboardExpand all lines: docs/src/release-notes-python.md
+59-3Lines changed: 59 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,14 @@ import LiteYouTube from '@site/src/components/LiteYouTube';
10
10
11
11
### 🎬 Screencast
12
12
13
-
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordingsand as real-time frame streams.
13
+
New [`property: Page.screencast`] API provides a unified interface for capturing page content — both as video recordings, annotations, overlays, and a real-time frame stream.
**Video recording** — record video with precise start/stop control, as an alternative to the [`option: Browser.newContext.recordVideoDir`] option:
19
+
20
+
**Screencast recording** — record video with precise start/stop control, as an alternative to the [`option: Browser.newContext.recordVideoDir`] option:
18
21
19
22
```python
20
23
page.screencast.start(path="video.webm")
@@ -103,10 +106,63 @@ The resulting video serves as a receipt: chapter titles provide context, action
103
106
- Method [`method: BrowserContext.isClosed`].
104
107
- Method [`method: Request.existingResponse`] returns the response without waiting.
105
108
- Method [`method: Response.httpVersion`] returns the HTTP version used by the response.
106
-
- Event [`event: CDPSession.close`] for CDP sessions.
107
109
- Option `live` in [`method: Tracing.start`] for real-time trace updates.
108
110
- Option `artifacts_dir` in [`method: BrowserType.launch`] to configure the artifacts directory.
109
111
112
+
### 🔗 Interoperability
113
+
114
+
New [`method: Browser.bind`] API makes a launched browser available for `playwright-cli`, `@playwright/mcp`, and other clients to connect to.
115
+
116
+
**Bind a browser** — start a browser and bind it so others can connect:
0 commit comments