diff --git a/dotnet/docs/api/class-browsercontext.mdx b/dotnet/docs/api/class-browsercontext.mdx index 20193e086a..780152c63d 100644 --- a/dotnet/docs/api/class-browsercontext.mdx +++ b/dotnet/docs/api/class-browsercontext.mdx @@ -113,7 +113,7 @@ The order of evaluation of multiple scripts installed via [BrowserContext.AddIni Script to be evaluated in all pages in the browser context. **Returns** -- [void]# +- [Disposable]# --- @@ -316,7 +316,7 @@ await page.GetByRole(AriaRole.Button).ClickAsync(); Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [void]# +- [Disposable]# --- @@ -378,7 +378,7 @@ class BrowserContextExamples Callback function that will be called in the Playwright's context. **Returns** -- [void]# +- [Disposable]# --- @@ -561,7 +561,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [void]# +- [Disposable]# --- diff --git a/dotnet/docs/api/class-browsertype.mdx b/dotnet/docs/api/class-browsertype.mdx index 432477d3ec..9917630b1d 100644 --- a/dotnet/docs/api/class-browsertype.mdx +++ b/dotnet/docs/api/class-browsertype.mdx @@ -47,11 +47,11 @@ The major and minor version of the Playwright instance that connects needs to ma **Usage** ```csharp -await BrowserType.ConnectAsync(wsEndpoint, options); +await BrowserType.ConnectAsync(endpoint, options); ``` **Arguments** -- `wsEndpoint` [string] Added in: v1.10# +- `endpoint` [string] Added in: v1.10# A Playwright browser websocket endpoint to connect to. You obtain this endpoint via `BrowserServer.wsEndpoint`. - `options` `BrowserTypeConnectOptions?` *(optional)* diff --git a/dotnet/docs/api/class-page.mdx b/dotnet/docs/api/class-page.mdx index 8a297b86b4..f75c0e694b 100644 --- a/dotnet/docs/api/class-page.mdx +++ b/dotnet/docs/api/class-page.mdx @@ -86,7 +86,7 @@ The order of evaluation of multiple scripts installed via [BrowserContext.AddIni Script to be evaluated in all pages in the browser context. **Returns** -- [void]# +- [Disposable]# --- @@ -661,7 +661,7 @@ class PageExamples Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [void]# +- [Disposable]# --- @@ -730,7 +730,7 @@ class PageExamples Callback function which will be called in Playwright's context. **Returns** -- [void]# +- [Disposable]# --- @@ -1703,7 +1703,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [void]# +- [Disposable]# --- diff --git a/dotnet/docs/aria-snapshots.mdx b/dotnet/docs/aria-snapshots.mdx index 5acd541b69..724de0c59e 100644 --- a/dotnet/docs/aria-snapshots.mdx +++ b/dotnet/docs/aria-snapshots.mdx @@ -197,6 +197,12 @@ Following snapshot will fail due to Feature C not being in the template: - listitem: Feature B ``` +#### Setting `children` mode globally + +Instead of adding a `/children` property to every snapshot, you can set the default children matching mode for all `toMatchAriaSnapshot` calls in the configuration file: + +Individual snapshots can still override the global setting by including an explicit `/children` property in the template. + ### Matching with regular expressions Regular expressions allow flexible matching for elements with dynamic or variable text. Accessible names and text can support regex patterns. diff --git a/java/docs/api/class-browsercontext.mdx b/java/docs/api/class-browsercontext.mdx index fab5b2e715..e2b36a5fb6 100644 --- a/java/docs/api/class-browsercontext.mdx +++ b/java/docs/api/class-browsercontext.mdx @@ -112,7 +112,7 @@ The order of evaluation of multiple scripts installed via [BrowserContext.addIni Script to be evaluated in all pages in the browser context. **Returns** -- [void]# +- [Disposable]# --- @@ -322,7 +322,7 @@ public class Example { Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [void]# +- [Disposable]# --- @@ -388,7 +388,7 @@ public class Example { Callback function that will be called in the Playwright's context. **Returns** -- [void]# +- [Disposable]# --- @@ -571,7 +571,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [void]# +- [Disposable]# --- diff --git a/java/docs/api/class-browsertype.mdx b/java/docs/api/class-browsertype.mdx index 832ae422d5..06ea6a7e0d 100644 --- a/java/docs/api/class-browsertype.mdx +++ b/java/docs/api/class-browsertype.mdx @@ -45,12 +45,12 @@ The major and minor version of the Playwright instance that connects needs to ma **Usage** ```java -BrowserType.connect(wsEndpoint); -BrowserType.connect(wsEndpoint, options); +BrowserType.connect(endpoint); +BrowserType.connect(endpoint, options); ``` **Arguments** -- `wsEndpoint` [String] Added in: v1.10# +- `endpoint` [String] Added in: v1.10# A Playwright browser websocket endpoint to connect to. You obtain this endpoint via `BrowserServer.wsEndpoint`. - `options` `BrowserType.ConnectOptions` *(optional)* diff --git a/java/docs/api/class-page.mdx b/java/docs/api/class-page.mdx index f49d9b0672..551536c9c6 100644 --- a/java/docs/api/class-page.mdx +++ b/java/docs/api/class-page.mdx @@ -87,7 +87,7 @@ The order of evaluation of multiple scripts installed via [BrowserContext.addIni Script to be evaluated in all pages in the browser context. **Returns** -- [void]# +- [Disposable]# --- @@ -663,7 +663,7 @@ public class Example { Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [void]# +- [Disposable]# --- @@ -734,7 +734,7 @@ public class Example { Callback function which will be called in Playwright's context. **Returns** -- [void]# +- [Disposable]# --- @@ -1761,7 +1761,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [void]# +- [Disposable]# --- diff --git a/java/docs/aria-snapshots.mdx b/java/docs/aria-snapshots.mdx index cc00021916..f4edd6634b 100644 --- a/java/docs/aria-snapshots.mdx +++ b/java/docs/aria-snapshots.mdx @@ -197,6 +197,12 @@ Following snapshot will fail due to Feature C not being in the template: - listitem: Feature B ``` +#### Setting `children` mode globally + +Instead of adding a `/children` property to every snapshot, you can set the default children matching mode for all `toMatchAriaSnapshot` calls in the configuration file: + +Individual snapshots can still override the global setting by including an explicit `/children` property in the template. + ### Matching with regular expressions Regular expressions allow flexible matching for elements with dynamic or variable text. Accessible names and text can support regex patterns. diff --git a/nodejs/docs/accessibility-testing.mdx b/nodejs/docs/accessibility-testing.mdx index 880497c74c..612ab9d8f6 100644 --- a/nodejs/docs/accessibility-testing.mdx +++ b/nodejs/docs/accessibility-testing.mdx @@ -351,6 +351,7 @@ test('example using custom fixture', async ({ page, makeAxeBuilder }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -359,7 +360,6 @@ test('example using custom fixture', async ({ page, makeAxeBuilder }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -374,6 +374,7 @@ test('example using custom fixture', async ({ page, makeAxeBuilder }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/actionability.mdx b/nodejs/docs/actionability.mdx index 0c2264a1b4..11371591c5 100644 --- a/nodejs/docs/actionability.mdx +++ b/nodejs/docs/actionability.mdx @@ -141,6 +141,7 @@ For example, consider a scenario where Playwright will click `Sign Up` button re [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -149,7 +150,6 @@ For example, consider a scenario where Playwright will click `Sign Up` button re [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -164,6 +164,7 @@ For example, consider a scenario where Playwright will click `Sign Up` button re [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api-testing.mdx b/nodejs/docs/api-testing.mdx index 3c6a341ff8..5538c92aef 100644 --- a/nodejs/docs/api-testing.mdx +++ b/nodejs/docs/api-testing.mdx @@ -392,6 +392,7 @@ test('global context request has isolated cookie storage', async ({ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -400,7 +401,6 @@ test('global context request has isolated cookie storage', async ({ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -415,6 +415,7 @@ test('global context request has isolated cookie storage', async ({ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-android.mdx b/nodejs/docs/api/class-android.mdx index 75afde52b5..1348e9a8e9 100644 --- a/nodejs/docs/api/class-android.mdx +++ b/nodejs/docs/api/class-android.mdx @@ -93,12 +93,12 @@ This methods attaches Playwright to an existing Android device. Use [android.lau **Usage** ```js -await android.connect(wsEndpoint); -await android.connect(wsEndpoint, options); +await android.connect(endpoint); +await android.connect(endpoint, options); ``` **Arguments** -- `wsEndpoint` [string]# +- `endpoint` [string]# A browser websocket endpoint to connect to. - `options` [Object] *(optional)* @@ -262,6 +262,7 @@ android.setDefaultTimeout(timeout); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -270,7 +271,6 @@ android.setDefaultTimeout(timeout); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -285,6 +285,7 @@ android.setDefaultTimeout(timeout); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-androiddevice.mdx b/nodejs/docs/api/class-androiddevice.mdx index e12031b2d1..98c7d178ac 100644 --- a/nodejs/docs/api/class-androiddevice.mdx +++ b/nodejs/docs/api/class-androiddevice.mdx @@ -958,6 +958,7 @@ androidDevice.on('webview', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -966,7 +967,6 @@ androidDevice.on('webview', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -981,6 +981,7 @@ androidDevice.on('webview', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-androidinput.mdx b/nodejs/docs/api/class-androidinput.mdx index 7e84b18f74..27ce7be682 100644 --- a/nodejs/docs/api/class-androidinput.mdx +++ b/nodejs/docs/api/class-androidinput.mdx @@ -176,6 +176,7 @@ await androidInput.type(text); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -184,7 +185,6 @@ await androidInput.type(text); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -199,6 +199,7 @@ await androidInput.type(text); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-androidsocket.mdx b/nodejs/docs/api/class-androidsocket.mdx index 2d7cac6804..2780e2e5a6 100644 --- a/nodejs/docs/api/class-androidsocket.mdx +++ b/nodejs/docs/api/class-androidsocket.mdx @@ -103,6 +103,7 @@ androidSocket.on('data', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -111,7 +112,6 @@ androidSocket.on('data', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -126,6 +126,7 @@ androidSocket.on('data', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-androidwebview.mdx b/nodejs/docs/api/class-androidwebview.mdx index 8235dcaeb3..8032e15733 100644 --- a/nodejs/docs/api/class-androidwebview.mdx +++ b/nodejs/docs/api/class-androidwebview.mdx @@ -98,6 +98,7 @@ androidWebView.on('close', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -106,7 +107,6 @@ androidWebView.on('close', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -121,6 +121,7 @@ androidWebView.on('close', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-apirequest.mdx b/nodejs/docs/api/class-apirequest.mdx index 427c965320..8433e6b2fa 100644 --- a/nodejs/docs/api/class-apirequest.mdx +++ b/nodejs/docs/api/class-apirequest.mdx @@ -186,6 +186,7 @@ await apiRequest.newContext(options); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -194,7 +195,6 @@ await apiRequest.newContext(options); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -209,6 +209,7 @@ await apiRequest.newContext(options); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-apirequestcontext.mdx b/nodejs/docs/api/class-apirequestcontext.mdx index f1eb668a49..1777f8d9a8 100644 --- a/nodejs/docs/api/class-apirequestcontext.mdx +++ b/nodejs/docs/api/class-apirequestcontext.mdx @@ -643,6 +643,7 @@ await apiRequestContext.storageState(options); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -651,7 +652,6 @@ await apiRequestContext.storageState(options); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -666,6 +666,7 @@ await apiRequestContext.storageState(options); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-apiresponse.mdx b/nodejs/docs/api/class-apiresponse.mdx index f276d60fb6..ae527f9597 100644 --- a/nodejs/docs/api/class-apiresponse.mdx +++ b/nodejs/docs/api/class-apiresponse.mdx @@ -209,6 +209,7 @@ apiResponse.url(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -217,7 +218,6 @@ apiResponse.url(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -232,6 +232,7 @@ apiResponse.url(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-apiresponseassertions.mdx b/nodejs/docs/api/class-apiresponseassertions.mdx index 30955e67d2..b8ae213ca7 100644 --- a/nodejs/docs/api/class-apiresponseassertions.mdx +++ b/nodejs/docs/api/class-apiresponseassertions.mdx @@ -79,6 +79,7 @@ await expect(response).not.toBeOK(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -87,7 +88,6 @@ await expect(response).not.toBeOK(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -102,6 +102,7 @@ await expect(response).not.toBeOK(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-browser.mdx b/nodejs/docs/api/class-browser.mdx index 780c597b30..82e9d3ee1d 100644 --- a/nodejs/docs/api/class-browser.mdx +++ b/nodejs/docs/api/class-browser.mdx @@ -880,6 +880,7 @@ browser.on('disconnected', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -888,7 +889,6 @@ browser.on('disconnected', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -903,6 +903,7 @@ browser.on('disconnected', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-browsercontext.mdx b/nodejs/docs/api/class-browsercontext.mdx index 22a072d75b..65ad4d906e 100644 --- a/nodejs/docs/api/class-browsercontext.mdx +++ b/nodejs/docs/api/class-browsercontext.mdx @@ -123,7 +123,7 @@ The order of evaluation of multiple scripts installed via [browserContext.addIni Optional argument to pass to [script](/api/class-browsercontext.mdx#browser-context-add-init-script-option-script) (only supported when passing a function). **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -329,7 +329,7 @@ const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'. Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -380,7 +380,7 @@ const crypto = require('crypto'); Callback function that will be called in the Playwright's context. **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -591,7 +591,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -1412,6 +1412,7 @@ await browserContext.setHTTPCredentials(httpCredentials); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -1420,7 +1421,6 @@ await browserContext.setHTTPCredentials(httpCredentials); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -1435,6 +1435,7 @@ await browserContext.setHTTPCredentials(httpCredentials); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-browserserver.mdx b/nodejs/docs/api/class-browserserver.mdx index 3ec93eefc1..7bf49c7cb3 100644 --- a/nodejs/docs/api/class-browserserver.mdx +++ b/nodejs/docs/api/class-browserserver.mdx @@ -117,6 +117,7 @@ browserServer.on('close', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -125,7 +126,6 @@ browserServer.on('close', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -140,6 +140,7 @@ browserServer.on('close', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-browsertype.mdx b/nodejs/docs/api/class-browsertype.mdx index 6c7eb62022..7334da8ff3 100644 --- a/nodejs/docs/api/class-browsertype.mdx +++ b/nodejs/docs/api/class-browsertype.mdx @@ -40,12 +40,12 @@ The major and minor version of the Playwright instance that connects needs to ma **Usage** ```js -await browserType.connect(wsEndpoint); -await browserType.connect(wsEndpoint, options); +await browserType.connect(endpoint); +await browserType.connect(endpoint, options); ``` **Arguments** -- `wsEndpoint` [string] Added in: v1.10# +- `endpoint` [string] Added in: v1.10# A Playwright browser websocket endpoint to connect to. You obtain this endpoint via `BrowserServer.wsEndpoint`. - `options` [Object] *(optional)* @@ -749,6 +749,7 @@ browserType.name(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -757,7 +758,6 @@ browserType.name(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -772,6 +772,7 @@ browserType.name(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-cdpsession.mdx b/nodejs/docs/api/class-cdpsession.mdx index 70ee900f41..38d76837b6 100644 --- a/nodejs/docs/api/class-cdpsession.mdx +++ b/nodejs/docs/api/class-cdpsession.mdx @@ -70,6 +70,47 @@ await cdpSession.send(method, params); **Returns** - [Promise]<[Object]># +--- + +## Events + +### on('close') {#cdp-session-event-close} + +Added in: v1.59cdpSession.on('close') + +Emitted when the session is closed, either because the target was closed or `session.detach()` was called. + +**Usage** + +```js +cdpSession.on('close', data => {}); +``` + +--- + +### on('event') {#cdp-session-event-event} + +Added in: v1.59cdpSession.on('event') + +Emitted for every CDP event received from the session. Allows subscribing to all CDP events at once without knowing their names ahead of time. + +**Usage** + +```js +session.on('event', ({ name, params }) => { + console.log(`CDP event: ${name}`, params); +}); +``` + +**Event data** +- [Object] + - `method` [string] + + CDP event name. + - `params` [Object] *(optional)* + + CDP event parameters. + [Android]: /api/class-android.mdx "Android" [AndroidDevice]: /api/class-androiddevice.mdx "AndroidDevice" @@ -89,6 +130,7 @@ await cdpSession.send(method, params); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -97,7 +139,6 @@ await cdpSession.send(method, params); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -112,6 +153,7 @@ await cdpSession.send(method, params); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-clock.mdx b/nodejs/docs/api/class-clock.mdx index 9d6499a517..e480e195e5 100644 --- a/nodejs/docs/api/class-clock.mdx +++ b/nodejs/docs/api/class-clock.mdx @@ -217,6 +217,7 @@ await page.clock.setSystemTime('2020-02-02'); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -225,7 +226,6 @@ await page.clock.setSystemTime('2020-02-02'); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -240,6 +240,7 @@ await page.clock.setSystemTime('2020-02-02'); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-consolemessage.mdx b/nodejs/docs/api/class-consolemessage.mdx index ec746ce936..fef8831847 100644 --- a/nodejs/docs/api/class-consolemessage.mdx +++ b/nodejs/docs/api/class-consolemessage.mdx @@ -177,6 +177,7 @@ consoleMessage.worker(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -185,7 +186,6 @@ consoleMessage.worker(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -200,6 +200,7 @@ consoleMessage.worker(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-coverage.mdx b/nodejs/docs/api/class-coverage.mdx index fb11363430..21c8df7bc7 100644 --- a/nodejs/docs/api/class-coverage.mdx +++ b/nodejs/docs/api/class-coverage.mdx @@ -201,6 +201,7 @@ await coverage.stopJSCoverage(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -209,7 +210,6 @@ await coverage.stopJSCoverage(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -224,6 +224,7 @@ await coverage.stopJSCoverage(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-dialog.mdx b/nodejs/docs/api/class-dialog.mdx index c9b98ca621..169a08ca0a 100644 --- a/nodejs/docs/api/class-dialog.mdx +++ b/nodejs/docs/api/class-dialog.mdx @@ -160,6 +160,7 @@ dialog.type(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -168,7 +169,6 @@ dialog.type(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -183,6 +183,7 @@ dialog.type(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-disposable.mdx b/nodejs/docs/api/class-disposable.mdx new file mode 100644 index 0000000000..4ffe036e2c --- /dev/null +++ b/nodejs/docs/api/class-disposable.mdx @@ -0,0 +1,139 @@ +--- +id: class-disposable +title: "Disposable" +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import HTMLCard from '@site/src/components/HTMLCard'; + + +[Disposable] is returned from various methods to allow undoing the corresponding action. For example, [page.addInitScript()](/api/class-page.mdx#page-add-init-script) returns a [Disposable] that can be used to remove the init script. + + +--- + +## Methods + +### dispose {#disposable-dispose} + +Added in: v1.59disposable.dispose + +Removes the associated resource. For example, removes the init script installed via [page.addInitScript()](/api/class-page.mdx#page-add-init-script) or [browserContext.addInitScript()](/api/class-browsercontext.mdx#browser-context-add-init-script). + +**Usage** + +```js +await disposable.dispose(); +``` + +**Returns** +- [Promise]<[void]># + + +[Android]: /api/class-android.mdx "Android" +[AndroidDevice]: /api/class-androiddevice.mdx "AndroidDevice" +[AndroidInput]: /api/class-androidinput.mdx "AndroidInput" +[AndroidSocket]: /api/class-androidsocket.mdx "AndroidSocket" +[AndroidWebView]: /api/class-androidwebview.mdx "AndroidWebView" +[APIRequest]: /api/class-apirequest.mdx "APIRequest" +[APIRequestContext]: /api/class-apirequestcontext.mdx "APIRequestContext" +[APIResponse]: /api/class-apiresponse.mdx "APIResponse" +[APIResponseAssertions]: /api/class-apiresponseassertions.mdx "APIResponseAssertions" +[Browser]: /api/class-browser.mdx "Browser" +[BrowserContext]: /api/class-browsercontext.mdx "BrowserContext" +[BrowserServer]: /api/class-browserserver.mdx "BrowserServer" +[BrowserType]: /api/class-browsertype.mdx "BrowserType" +[CDPSession]: /api/class-cdpsession.mdx "CDPSession" +[Clock]: /api/class-clock.mdx "Clock" +[ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" +[Coverage]: /api/class-coverage.mdx "Coverage" +[Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" +[Download]: /api/class-download.mdx "Download" +[Electron]: /api/class-electron.mdx "Electron" +[ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" +[ElementHandle]: /api/class-elementhandle.mdx "ElementHandle" +[FileChooser]: /api/class-filechooser.mdx "FileChooser" +[Frame]: /api/class-frame.mdx "Frame" +[FrameLocator]: /api/class-framelocator.mdx "FrameLocator" +[GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" +[JSHandle]: /api/class-jshandle.mdx "JSHandle" +[Keyboard]: /api/class-keyboard.mdx "Keyboard" +[Locator]: /api/class-locator.mdx "Locator" +[LocatorAssertions]: /api/class-locatorassertions.mdx "LocatorAssertions" +[Logger]: /api/class-logger.mdx "Logger" +[Mouse]: /api/class-mouse.mdx "Mouse" +[Page]: /api/class-page.mdx "Page" +[PageAgent]: /api/class-pageagent.mdx "PageAgent" +[PageAssertions]: /api/class-pageassertions.mdx "PageAssertions" +[Playwright]: /api/class-playwright.mdx "Playwright" +[PlaywrightAssertions]: /api/class-playwrightassertions.mdx "PlaywrightAssertions" +[Request]: /api/class-request.mdx "Request" +[Response]: /api/class-response.mdx "Response" +[Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" +[Selectors]: /api/class-selectors.mdx "Selectors" +[SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" +[TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" +[Touchscreen]: /api/class-touchscreen.mdx "Touchscreen" +[Tracing]: /api/class-tracing.mdx "Tracing" +[Video]: /api/class-video.mdx "Video" +[WebError]: /api/class-weberror.mdx "WebError" +[WebSocket]: /api/class-websocket.mdx "WebSocket" +[WebSocketRoute]: /api/class-websocketroute.mdx "WebSocketRoute" +[Worker]: /api/class-worker.mdx "Worker" +[Fixtures]: /api/class-fixtures.mdx "Fixtures" +[FullConfig]: /api/class-fullconfig.mdx "FullConfig" +[FullProject]: /api/class-fullproject.mdx "FullProject" +[Location]: /api/class-location.mdx "Location" +[Test]: /api/class-test.mdx "Test" +[TestConfig]: /api/class-testconfig.mdx "TestConfig" +[TestInfo]: /api/class-testinfo.mdx "TestInfo" +[TestInfoError]: /api/class-testinfoerror.mdx "TestInfoError" +[TestOptions]: /api/class-testoptions.mdx "TestOptions" +[TestProject]: /api/class-testproject.mdx "TestProject" +[TestStepInfo]: /api/class-teststepinfo.mdx "TestStepInfo" +[WorkerInfo]: /api/class-workerinfo.mdx "WorkerInfo" +[Reporter]: /api/class-reporter.mdx "Reporter" +[Suite]: /api/class-suite.mdx "Suite" +[TestCase]: /api/class-testcase.mdx "TestCase" +[TestError]: /api/class-testerror.mdx "TestError" +[TestResult]: /api/class-testresult.mdx "TestResult" +[TestStep]: /api/class-teststep.mdx "TestStep" +[Element]: https://developer.mozilla.org/en-US/docs/Web/API/element "Element" +[EvaluationArgument]: /evaluating.mdx#evaluation-argument "EvaluationArgument" +[Promise]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise" +[iterator]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols "Iterator" +[origin]: https://developer.mozilla.org/en-US/docs/Glossary/Origin "Origin" +[selector]: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors "selector" +[Serializable]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Description "Serializable" +[UIEvent.detail]: https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail "UIEvent.detail" +[UnixTime]: https://en.wikipedia.org/wiki/Unix_time "Unix Time" +[xpath]: https://developer.mozilla.org/en-US/docs/Web/XPath "xpath" + +[Array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array "Array" +[boolean]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type "Boolean" +[Buffer]: https://nodejs.org/api/buffer.html#buffer_class_buffer "Buffer" +[ChildProcess]: https://nodejs.org/api/child_process.html "ChildProcess" +[Date]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date "Date" +[Error]: https://nodejs.org/api/errors.html#errors_class_error "Error" +[EventEmitter]: https://nodejs.org/api/events.html#events_class_eventemitter "EventEmitter" +[function]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function "Function" +[FormData]: https://developer.mozilla.org/en-US/docs/Web/API/FormData "FormData" +[Map]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map "Map" +[Metadata]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object<string, any>" +[null]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null "null" +[number]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type "Number" +[Object]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object "Object" +[Promise]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise "Promise" +[Readable]: https://nodejs.org/api/stream.html#stream_class_stream_readable "Readable" +[ReadStream]: https://nodejs.org/api/fs.html#class-fsreadstream "ReadStream" +[RegExp]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp "RegExp" +[string]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type "string" +[void]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined "void" +[URL]: https://nodejs.org/api/url.html "URL" +[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams "URLSearchParams" + +[all available image tags]: https://mcr.microsoft.com/en-us/product/playwright/about "all available image tags" +[Microsoft Artifact Registry]: https://mcr.microsoft.com/en-us/product/playwright/about "Microsoft Artifact Registry" +[Dockerfile.noble]: https://github.com/microsoft/playwright/blob/main/utils/docker/Dockerfile.noble "Dockerfile.noble" diff --git a/nodejs/docs/api/class-download.mdx b/nodejs/docs/api/class-download.mdx index de550ef4da..5ca6403c96 100644 --- a/nodejs/docs/api/class-download.mdx +++ b/nodejs/docs/api/class-download.mdx @@ -210,6 +210,7 @@ download.url(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -218,7 +219,6 @@ download.url(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -233,6 +233,7 @@ download.url(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-electron.mdx b/nodejs/docs/api/class-electron.mdx index 6965f0abe2..874134a7f1 100644 --- a/nodejs/docs/api/class-electron.mdx +++ b/nodejs/docs/api/class-electron.mdx @@ -201,6 +201,7 @@ await electron.launch(options); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -209,7 +210,6 @@ await electron.launch(options); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -224,6 +224,7 @@ await electron.launch(options); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-electronapplication.mdx b/nodejs/docs/api/class-electronapplication.mdx index a5899c8813..3f783d6159 100644 --- a/nodejs/docs/api/class-electronapplication.mdx +++ b/nodejs/docs/api/class-electronapplication.mdx @@ -329,6 +329,7 @@ electronApplication.on('window', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -337,7 +338,6 @@ electronApplication.on('window', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -352,6 +352,7 @@ electronApplication.on('window', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-elementhandle.mdx b/nodejs/docs/api/class-elementhandle.mdx index 036a82f64c..f91c8cfba5 100644 --- a/nodejs/docs/api/class-elementhandle.mdx +++ b/nodejs/docs/api/class-elementhandle.mdx @@ -1610,6 +1610,7 @@ This method does not work across navigations, use [page.waitForSelector()](/api/ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -1618,7 +1619,6 @@ This method does not work across navigations, use [page.waitForSelector()](/api/ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -1633,6 +1633,7 @@ This method does not work across navigations, use [page.waitForSelector()](/api/ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-filechooser.mdx b/nodejs/docs/api/class-filechooser.mdx index 6ae461b7ba..c8a7c27dc8 100644 --- a/nodejs/docs/api/class-filechooser.mdx +++ b/nodejs/docs/api/class-filechooser.mdx @@ -132,6 +132,7 @@ await fileChooser.setFiles(files, options); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -140,7 +141,6 @@ await fileChooser.setFiles(files, options); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -155,6 +155,7 @@ await fileChooser.setFiles(files, options); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-fixtures.mdx b/nodejs/docs/api/class-fixtures.mdx index 85599c40aa..3631f9b7c2 100644 --- a/nodejs/docs/api/class-fixtures.mdx +++ b/nodejs/docs/api/class-fixtures.mdx @@ -180,6 +180,7 @@ test('basic test', async ({ request }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -188,7 +189,6 @@ test('basic test', async ({ request }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -203,6 +203,7 @@ test('basic test', async ({ request }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-frame.mdx b/nodejs/docs/api/class-frame.mdx index a2a4c2871d..a905fb64c7 100644 --- a/nodejs/docs/api/class-frame.mdx +++ b/nodejs/docs/api/class-frame.mdx @@ -2672,6 +2672,7 @@ await frame.waitForTimeout(timeout); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -2680,7 +2681,6 @@ await frame.waitForTimeout(timeout); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -2695,6 +2695,7 @@ await frame.waitForTimeout(timeout); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-framelocator.mdx b/nodejs/docs/api/class-framelocator.mdx index 275b69fcd6..2a6538227c 100644 --- a/nodejs/docs/api/class-framelocator.mdx +++ b/nodejs/docs/api/class-framelocator.mdx @@ -554,6 +554,7 @@ frameLocator.nth(index); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -562,7 +563,6 @@ frameLocator.nth(index); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -577,6 +577,7 @@ frameLocator.nth(index); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-fullconfig.mdx b/nodejs/docs/api/class-fullconfig.mdx index ed88c61038..3d6b494946 100644 --- a/nodejs/docs/api/class-fullconfig.mdx +++ b/nodejs/docs/api/class-fullconfig.mdx @@ -460,6 +460,7 @@ fullConfig.workers [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -468,7 +469,6 @@ fullConfig.workers [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -483,6 +483,7 @@ fullConfig.workers [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-fullproject.mdx b/nodejs/docs/api/class-fullproject.mdx index 51a2d6762c..bc284c3280 100644 --- a/nodejs/docs/api/class-fullproject.mdx +++ b/nodejs/docs/api/class-fullproject.mdx @@ -303,6 +303,7 @@ fullProject.use [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -311,7 +312,6 @@ fullProject.use [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -326,6 +326,7 @@ fullProject.use [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-genericassertions.mdx b/nodejs/docs/api/class-genericassertions.mdx index cae867c786..9d1f39526e 100644 --- a/nodejs/docs/api/class-genericassertions.mdx +++ b/nodejs/docs/api/class-genericassertions.mdx @@ -801,6 +801,7 @@ expect(value).not.toBe(2); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -809,7 +810,6 @@ expect(value).not.toBe(2); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -824,6 +824,7 @@ expect(value).not.toBe(2); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-jshandle.mdx b/nodejs/docs/api/class-jshandle.mdx index 8f9ea2a9e4..f71f0f3176 100644 --- a/nodejs/docs/api/class-jshandle.mdx +++ b/nodejs/docs/api/class-jshandle.mdx @@ -203,6 +203,7 @@ await jsHandle.jsonValue(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -211,7 +212,6 @@ await jsHandle.jsonValue(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -226,6 +226,7 @@ await jsHandle.jsonValue(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-keyboard.mdx b/nodejs/docs/api/class-keyboard.mdx index b3173f1d93..aeff3f3710 100644 --- a/nodejs/docs/api/class-keyboard.mdx +++ b/nodejs/docs/api/class-keyboard.mdx @@ -244,6 +244,7 @@ await keyboard.up(key); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -252,7 +253,6 @@ await keyboard.up(key); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -267,6 +267,7 @@ await keyboard.up(key); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-location.mdx b/nodejs/docs/api/class-location.mdx index 8999679115..6776164ca0 100644 --- a/nodejs/docs/api/class-location.mdx +++ b/nodejs/docs/api/class-location.mdx @@ -82,6 +82,7 @@ location.line [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -90,7 +91,6 @@ location.line [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -105,6 +105,7 @@ location.line [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-locator.mdx b/nodejs/docs/api/class-locator.mdx index 1841657cfd..6363e6454d 100644 --- a/nodejs/docs/api/class-locator.mdx +++ b/nodejs/docs/api/class-locator.mdx @@ -2554,6 +2554,7 @@ To press a special key, like `Control` or `ArrowDown`, use [locator.press()](/ap [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -2562,7 +2563,6 @@ To press a special key, like `Control` or `ArrowDown`, use [locator.press()](/ap [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -2577,6 +2577,7 @@ To press a special key, like `Control` or `ArrowDown`, use [locator.press()](/ap [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-locatorassertions.mdx b/nodejs/docs/api/class-locatorassertions.mdx index ccb360b31b..f524ff0a49 100644 --- a/nodejs/docs/api/class-locatorassertions.mdx +++ b/nodejs/docs/api/class-locatorassertions.mdx @@ -1136,6 +1136,7 @@ await expect(locator).not.toContainText('error'); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -1144,7 +1145,6 @@ await expect(locator).not.toContainText('error'); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -1159,6 +1159,7 @@ await expect(locator).not.toContainText('error'); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-logger.mdx b/nodejs/docs/api/class-logger.mdx index 0f1914dbe6..aed917aacd 100644 --- a/nodejs/docs/api/class-logger.mdx +++ b/nodejs/docs/api/class-logger.mdx @@ -103,6 +103,7 @@ logger.log(name, severity, message, args, hints); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -111,7 +112,6 @@ logger.log(name, severity, message, args, hints); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -126,6 +126,7 @@ logger.log(name, severity, message, args, hints); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-mouse.mdx b/nodejs/docs/api/class-mouse.mdx index 54b9cfbda1..15fa5ef605 100644 --- a/nodejs/docs/api/class-mouse.mdx +++ b/nodejs/docs/api/class-mouse.mdx @@ -232,6 +232,7 @@ await mouse.wheel(deltaX, deltaY); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -240,7 +241,6 @@ await mouse.wheel(deltaX, deltaY); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -255,6 +255,7 @@ await mouse.wheel(deltaX, deltaY); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-page.mdx b/nodejs/docs/api/class-page.mdx index 72f97435a8..664a1be120 100644 --- a/nodejs/docs/api/class-page.mdx +++ b/nodejs/docs/api/class-page.mdx @@ -97,7 +97,7 @@ The order of evaluation of multiple scripts installed via [browserContext.addIni Optional argument to pass to [script](/api/class-page.mdx#page-add-init-script-option-script) (only supported when passing a function). **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -340,6 +340,23 @@ await page.bringToFront(); --- +### cancelPickLocator {#page-cancel-pick-locator} + +Added in: v1.59page.cancelPickLocator + +Cancels an ongoing [page.pickLocator()](/api/class-page.mdx#page-pick-locator) call by deactivating pick locator mode. If no pick locator mode is active, this method is a no-op. + +**Usage** + +```js +await page.cancelPickLocator(); +``` + +**Returns** +- [Promise]<[void]># + +--- + ### clearConsoleMessages {#page-clear-console-messages} Added in: v1.59page.clearConsoleMessages @@ -742,7 +759,7 @@ const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'. Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -797,7 +814,7 @@ const crypto = require('crypto'); Callback function which will be called in Playwright's context. **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -1327,29 +1344,6 @@ await page.goto(url, options); --- -### inspector {#page-inspector} - -Added in: v1.59page.inspector - -Returns the [Inspector] object associated with this page. - -**Usage** - -```js -const inspector = page.inspector(); -inspector.on('screencastFrame', data => { - console.log('received frame, jpeg size:', data.length); -}); -await inspector.startScreencast(); -// ... perform actions ... -await inspector.stopScreencast(); -``` - -**Returns** -- [Inspector]# - ---- - ### isClosed {#page-is-closed} Added before v1.9page.isClosed @@ -1608,6 +1602,24 @@ The [format](/api/class-page.mdx#page-pdf-option-format) options are: --- +### pickLocator {#page-pick-locator} + +Added in: v1.59page.pickLocator + +Enters pick locator mode where hovering over page elements highlights them and shows the corresponding locator. Once the user clicks an element, the mode is deactivated and the [Locator] for the picked element is returned. + +**Usage** + +```js +const locator = await page.pickLocator(); +console.log(locator); +``` + +**Returns** +- [Promise]<[Locator]># + +--- + ### reload {#page-reload} Added before v1.9page.reload @@ -1820,7 +1832,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [Promise]<[void]># +- [Promise]<[Disposable]># --- @@ -1901,6 +1913,29 @@ await page.routeWebSocket('/ws', ws => { --- +### screencast {#page-screencast} + +Added in: v1.59page.screencast + +Returns the [Screencast] object associated with this page. + +**Usage** + +```js +const screencast = page.screencast(); +screencast.on('screencastFrame', data => { + console.log('received frame, jpeg size:', data.length); +}); +await screencast.start(); +// ... perform actions ... +await screencast.stop(); +``` + +**Returns** +- [Screencast]# + +--- + ### screenshot {#page-screenshot} Added before v1.9page.screenshot @@ -4639,6 +4674,7 @@ await page.waitForTimeout(1000); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -4647,7 +4683,6 @@ await page.waitForTimeout(1000); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -4662,6 +4697,7 @@ await page.waitForTimeout(1000); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-pageagent.mdx b/nodejs/docs/api/class-pageagent.mdx index 1e466a0f0d..7b896e4d6d 100644 --- a/nodejs/docs/api/class-pageagent.mdx +++ b/nodejs/docs/api/class-pageagent.mdx @@ -246,6 +246,7 @@ pageAgent.on('turn', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -254,7 +255,6 @@ pageAgent.on('turn', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -269,6 +269,7 @@ pageAgent.on('turn', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-pageassertions.mdx b/nodejs/docs/api/class-pageassertions.mdx index 1ce6393527..e7061d80b3 100644 --- a/nodejs/docs/api/class-pageassertions.mdx +++ b/nodejs/docs/api/class-pageassertions.mdx @@ -292,6 +292,7 @@ await expect(page).not.toHaveURL('error'); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -300,7 +301,6 @@ await expect(page).not.toHaveURL('error'); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -315,6 +315,7 @@ await expect(page).not.toHaveURL('error'); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-playwright.mdx b/nodejs/docs/api/class-playwright.mdx index 79e1f0e216..49817bcb21 100644 --- a/nodejs/docs/api/class-playwright.mdx +++ b/nodejs/docs/api/class-playwright.mdx @@ -195,6 +195,7 @@ playwright.webkit [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -203,7 +204,6 @@ playwright.webkit [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -218,6 +218,7 @@ playwright.webkit [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-playwrightassertions.mdx b/nodejs/docs/api/class-playwrightassertions.mdx index 220d172185..eb695b5fdc 100644 --- a/nodejs/docs/api/class-playwrightassertions.mdx +++ b/nodejs/docs/api/class-playwrightassertions.mdx @@ -123,6 +123,7 @@ Creates a [PageAssertions] object for the given [Page]. [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -131,7 +132,6 @@ Creates a [PageAssertions] object for the given [Page]. [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -146,6 +146,7 @@ Creates a [PageAssertions] object for the given [Page]. [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-reporter.mdx b/nodejs/docs/api/class-reporter.mdx index 885a9f96a5..efaaa8b7f4 100644 --- a/nodejs/docs/api/class-reporter.mdx +++ b/nodejs/docs/api/class-reporter.mdx @@ -394,6 +394,7 @@ reporter.printsToStdio(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -402,7 +403,6 @@ reporter.printsToStdio(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -417,6 +417,7 @@ reporter.printsToStdio(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-request.mdx b/nodejs/docs/api/class-request.mdx index 3d4ae98a13..17257f498f 100644 --- a/nodejs/docs/api/class-request.mdx +++ b/nodejs/docs/api/class-request.mdx @@ -486,6 +486,7 @@ request.url(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -494,7 +495,6 @@ request.url(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -509,6 +509,7 @@ request.url(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-response.mdx b/nodejs/docs/api/class-response.mdx index faecd51f31..294ca4a0de 100644 --- a/nodejs/docs/api/class-response.mdx +++ b/nodejs/docs/api/class-response.mdx @@ -392,6 +392,7 @@ response.url(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -400,7 +401,6 @@ response.url(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -415,6 +415,7 @@ response.url(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-route.mdx b/nodejs/docs/api/class-route.mdx index 0ab0c5dda6..de0d19f408 100644 --- a/nodejs/docs/api/class-route.mdx +++ b/nodejs/docs/api/class-route.mdx @@ -330,6 +330,7 @@ route.request(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -338,7 +339,6 @@ route.request(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -353,6 +353,7 @@ route.request(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-inspector.mdx b/nodejs/docs/api/class-screencast.mdx similarity index 70% rename from nodejs/docs/api/class-inspector.mdx rename to nodejs/docs/api/class-screencast.mdx index 04167921fb..40ce72327c 100644 --- a/nodejs/docs/api/class-inspector.mdx +++ b/nodejs/docs/api/class-screencast.mdx @@ -1,127 +1,92 @@ --- -id: class-inspector -title: "Inspector" +id: class-screencast +title: "Screencast" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import HTMLCard from '@site/src/components/HTMLCard'; -Interface to the Playwright inspector. +Interface for capturing screencast frames from a page. --- ## Methods -### cancelPickLocator {#inspector-cancel-pick-locator} +### start {#screencast-start} -Added in: v1.59inspector.cancelPickLocator +Added in: v1.59screencast.start -Cancels an ongoing [inspector.pickLocator()](/api/class-inspector.mdx#inspector-pick-locator) call by deactivating pick locator mode. If no pick locator mode is active, this method is a no-op. +Starts capturing screencast frames. Frames are emitted as [screencast.on('screencastframe')](/api/class-screencast.mdx#screencast-event-screencast-frame) events. **Usage** ```js -await inspector.cancelPickLocator(); -``` - -**Returns** -- [Promise]<[void]># - ---- - -### pickLocator {#inspector-pick-locator} - -Added in: v1.59inspector.pickLocator - -Enters pick locator mode where hovering over page elements highlights them and shows the corresponding locator. Once the user clicks an element, the mode is deactivated and the [Locator] for the picked element is returned. - -**Usage** - -```js -const locator = await page.inspector().pickLocator(); -console.log(locator); -``` - -**Returns** -- [Promise]<[Locator]># - ---- - -### startScreencast {#inspector-start-screencast} - -Added in: v1.59inspector.startScreencast - -Starts capturing screencast frames. Frames are emitted as [inspector.on('screencastframe')](/api/class-inspector.mdx#inspector-event-screencast-frame) events. - -**Usage** - -```js -const inspector = page.inspector(); -inspector.on('screencastframe', ({ data, width, height }) => { +const screencast = page.screencast(); +screencast.on('screencastframe', ({ data, width, height }) => { console.log(`frame ${width}x${height}, size: ${data.length}`); }); -await inspector.startScreencast({ size: { width: 800, height: 600 } }); +await screencast.start({ maxSize: { width: 800, height: 600 } }); // ... perform actions ... -await inspector.stopScreencast(); +await screencast.stop(); ``` **Arguments** - `options` [Object] *(optional)* - - `size` [Object] *(optional)*# + - `maxSize` [Object] *(optional)*# - `width` [number] - Frame width in pixels. + Max frame width in pixels. - `height` [number] - Frame height in pixels. + Max frame height in pixels. - Optional dimensions for the screencast frames. If not specified, the current page viewport size is used. + Maximum screencast frame dimensions. The output frame may be smaller to preserve the page aspect ratio. Defaults to 800×800. **Returns** -- [Promise]<[void]># +- [Promise]<[void]># --- -### stopScreencast {#inspector-stop-screencast} +### stop {#screencast-stop} -Added in: v1.59inspector.stopScreencast +Added in: v1.59screencast.stop -Stops the screencast started with [inspector.startScreencast()](/api/class-inspector.mdx#inspector-start-screencast). +Stops the screencast started with [screencast.start()](/api/class-screencast.mdx#screencast-start). **Usage** ```js -await inspector.startScreencast(); +await screencast.start(); // ... perform actions ... -await inspector.stopScreencast(); +await screencast.stop(); ``` **Returns** -- [Promise]<[void]># +- [Promise]<[void]># --- ## Events -### on('screencastframe') {#inspector-event-screencast-frame} +### on('screencastframe') {#screencast-event-screencast-frame} -Added in: v1.59inspector.on('screencastframe') +Added in: v1.59screencast.on('screencastframe') Emitted for each captured JPEG screencast frame while the screencast is running. **Usage** ```js -const inspector = page.inspector(); -inspector.on('screencastframe', ({ data, width, height }) => { +const screencast = page.screencast(); +screencast.on('screencastframe', ({ data, width, height }) => { console.log(`frame ${width}x${height}, jpeg size: ${data.length}`); require('fs').writeFileSync('frame.jpg', data); }); -await inspector.startScreencast({ size: { width: 1280, height: 720 } }); +await screencast.start({ maxSize: { width: 1200, height: 800 } }); // ... perform actions ... -await inspector.stopScreencast(); +await screencast.stop(); ``` **Event data** @@ -129,12 +94,6 @@ await inspector.stopScreencast(); - `data` [Buffer] JPEG-encoded frame data. - - `width` [number] - - Frame width in pixels. - - `height` [number] - - Frame height in pixels. [Android]: /api/class-android.mdx "Android" @@ -155,6 +114,7 @@ await inspector.stopScreencast(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -163,7 +123,6 @@ await inspector.stopScreencast(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -178,6 +137,7 @@ await inspector.stopScreencast(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-selectors.mdx b/nodejs/docs/api/class-selectors.mdx index f06914470b..5a41fec251 100644 --- a/nodejs/docs/api/class-selectors.mdx +++ b/nodejs/docs/api/class-selectors.mdx @@ -118,6 +118,7 @@ selectors.setTestIdAttribute(attributeName); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -126,7 +127,6 @@ selectors.setTestIdAttribute(attributeName); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -141,6 +141,7 @@ selectors.setTestIdAttribute(attributeName); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-snapshotassertions.mdx b/nodejs/docs/api/class-snapshotassertions.mdx index 3e5dbe4895..e2222a6552 100644 --- a/nodejs/docs/api/class-snapshotassertions.mdx +++ b/nodejs/docs/api/class-snapshotassertions.mdx @@ -136,6 +136,7 @@ Note that matching snapshots only work with Playwright test runner. [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -144,7 +145,6 @@ Note that matching snapshots only work with Playwright test runner. [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -159,6 +159,7 @@ Note that matching snapshots only work with Playwright test runner. [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-suite.mdx b/nodejs/docs/api/class-suite.mdx index 3714533658..dae42a1522 100644 --- a/nodejs/docs/api/class-suite.mdx +++ b/nodejs/docs/api/class-suite.mdx @@ -222,6 +222,7 @@ suite.type [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -230,7 +231,6 @@ suite.type [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -245,6 +245,7 @@ suite.type [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-test.mdx b/nodejs/docs/api/class-test.mdx index a71db96f4b..0a07ccaf20 100644 --- a/nodejs/docs/api/class-test.mdx +++ b/nodejs/docs/api/class-test.mdx @@ -1895,6 +1895,7 @@ test.describe.serial.only(() => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -1903,7 +1904,6 @@ test.describe.serial.only(() => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -1918,6 +1918,7 @@ test.describe.serial.only(() => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testcase.mdx b/nodejs/docs/api/class-testcase.mdx index 9ead7ea7b6..a7aa111f05 100644 --- a/nodejs/docs/api/class-testcase.mdx +++ b/nodejs/docs/api/class-testcase.mdx @@ -308,6 +308,7 @@ testCase.type [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -316,7 +317,6 @@ testCase.type [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -331,6 +331,7 @@ testCase.type [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testconfig.mdx b/nodejs/docs/api/class-testconfig.mdx index 3632455624..56cec2ea48 100644 --- a/nodejs/docs/api/class-testconfig.mdx +++ b/nodejs/docs/api/class-testconfig.mdx @@ -150,6 +150,9 @@ export default defineConfig({ - `pathTemplate` [string] *(optional)* A template controlling location of the aria snapshots. See [testConfig.snapshotPathTemplate](/api/class-testconfig.mdx#test-config-snapshot-path-template) for details. + - `children` "contain" | "equal" | "deep-equal" *(optional)* + + Controls how children of the snapshot root are matched against the actual accessibility tree. This is equivalent to adding a `/children` property at the top of every aria snapshot template. Individual snapshots can override this by including an explicit `/children` property. Configuration for the [expect(locator).toMatchAriaSnapshot()](/api/class-locatorassertions.mdx#locator-assertions-to-match-aria-snapshot-2) method. - `toMatchSnapshot` [Object] *(optional)* @@ -1261,6 +1264,7 @@ This path will serve as the base directory for each test file snapshot directory [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -1269,7 +1273,6 @@ This path will serve as the base directory for each test file snapshot directory [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -1284,6 +1287,7 @@ This path will serve as the base directory for each test file snapshot directory [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testerror.mdx b/nodejs/docs/api/class-testerror.mdx index 8e1998b789..6ec5059980 100644 --- a/nodejs/docs/api/class-testerror.mdx +++ b/nodejs/docs/api/class-testerror.mdx @@ -133,6 +133,7 @@ testError.value [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -141,7 +142,6 @@ testError.value [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -156,6 +156,7 @@ testError.value [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testinfo.mdx b/nodejs/docs/api/class-testinfo.mdx index 4fe31c09e9..0a4ea3f0a0 100644 --- a/nodejs/docs/api/class-testinfo.mdx +++ b/nodejs/docs/api/class-testinfo.mdx @@ -879,6 +879,7 @@ testInfo.workerIndex [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -887,7 +888,6 @@ testInfo.workerIndex [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -902,6 +902,7 @@ testInfo.workerIndex [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testinfoerror.mdx b/nodejs/docs/api/class-testinfoerror.mdx index 3eaf0a82da..13a467e8e4 100644 --- a/nodejs/docs/api/class-testinfoerror.mdx +++ b/nodejs/docs/api/class-testinfoerror.mdx @@ -99,6 +99,7 @@ testInfoError.value [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -107,7 +108,6 @@ testInfoError.value [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -122,6 +122,7 @@ testInfoError.value [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testoptions.mdx b/nodejs/docs/api/class-testoptions.mdx index 2b10d2f7e8..2a1acdb9b7 100644 --- a/nodejs/docs/api/class-testoptions.mdx +++ b/nodejs/docs/api/class-testoptions.mdx @@ -1155,6 +1155,7 @@ export default defineConfig({ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -1163,7 +1164,6 @@ export default defineConfig({ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -1178,6 +1178,7 @@ export default defineConfig({ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testproject.mdx b/nodejs/docs/api/class-testproject.mdx index 8de3643848..48ead9b4a2 100644 --- a/nodejs/docs/api/class-testproject.mdx +++ b/nodejs/docs/api/class-testproject.mdx @@ -147,6 +147,9 @@ testProject.expect - `pathTemplate` [string] *(optional)* A template controlling location of the aria snapshots. See [testProject.snapshotPathTemplate](/api/class-testproject.mdx#test-project-snapshot-path-template) for details. + - `children` "contain" | "equal" | "deep-equal" *(optional)* + + Controls how children of the snapshot root are matched against the actual accessibility tree. This is equivalent to adding a `/children` property at the top of every aria snapshot template. Individual snapshots can override this by including an explicit `/children` property. Configuration for the [expect(locator).toMatchAriaSnapshot()](/api/class-locatorassertions.mdx#locator-assertions-to-match-aria-snapshot-2) method. - `toMatchSnapshot` [Object] *(optional)* @@ -783,6 +786,7 @@ export default defineConfig({ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -791,7 +795,6 @@ export default defineConfig({ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -806,6 +809,7 @@ export default defineConfig({ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-testresult.mdx b/nodejs/docs/api/class-testresult.mdx index 6b30ffabab..01bd4f40a6 100644 --- a/nodejs/docs/api/class-testresult.mdx +++ b/nodejs/docs/api/class-testresult.mdx @@ -284,6 +284,7 @@ testResult.workerIndex [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -292,7 +293,6 @@ testResult.workerIndex [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -307,6 +307,7 @@ testResult.workerIndex [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-teststep.mdx b/nodejs/docs/api/class-teststep.mdx index 8161ebdf0c..9f49f5f33e 100644 --- a/nodejs/docs/api/class-teststep.mdx +++ b/nodejs/docs/api/class-teststep.mdx @@ -247,6 +247,7 @@ testStep.title [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -255,7 +256,6 @@ testStep.title [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -270,6 +270,7 @@ testStep.title [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-teststepinfo.mdx b/nodejs/docs/api/class-teststepinfo.mdx index 4c7395a223..ad6b8fdefc 100644 --- a/nodejs/docs/api/class-teststepinfo.mdx +++ b/nodejs/docs/api/class-teststepinfo.mdx @@ -178,6 +178,7 @@ testStepInfo.titlePath [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -186,7 +187,6 @@ testStepInfo.titlePath [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -201,6 +201,7 @@ testStepInfo.titlePath [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-timeouterror.mdx b/nodejs/docs/api/class-timeouterror.mdx index 5e6a6ff7a0..e517b42a3a 100644 --- a/nodejs/docs/api/class-timeouterror.mdx +++ b/nodejs/docs/api/class-timeouterror.mdx @@ -49,6 +49,7 @@ const playwright = require('playwright'); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -57,7 +58,6 @@ const playwright = require('playwright'); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -72,6 +72,7 @@ const playwright = require('playwright'); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-touchscreen.mdx b/nodejs/docs/api/class-touchscreen.mdx index b8b2ade32a..cfbfc9d078 100644 --- a/nodejs/docs/api/class-touchscreen.mdx +++ b/nodejs/docs/api/class-touchscreen.mdx @@ -63,6 +63,7 @@ await touchscreen.tap(x, y); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -71,7 +72,6 @@ await touchscreen.tap(x, y); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -86,6 +86,7 @@ await touchscreen.tap(x, y); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-tracing.mdx b/nodejs/docs/api/class-tracing.mdx index 7574ab6249..f73cb24363 100644 --- a/nodejs/docs/api/class-tracing.mdx +++ b/nodejs/docs/api/class-tracing.mdx @@ -243,6 +243,7 @@ await tracing.stopChunk(options); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -251,7 +252,6 @@ await tracing.stopChunk(options); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -266,6 +266,7 @@ await tracing.stopChunk(options); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-video.mdx b/nodejs/docs/api/class-video.mdx index 413604b880..a7f83bf13c 100644 --- a/nodejs/docs/api/class-video.mdx +++ b/nodejs/docs/api/class-video.mdx @@ -154,6 +154,7 @@ await video.stop(options); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -162,7 +163,6 @@ await video.stop(options); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -177,6 +177,7 @@ await video.stop(options); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-weberror.mdx b/nodejs/docs/api/class-weberror.mdx index 449ef29cd2..b43b63834a 100644 --- a/nodejs/docs/api/class-weberror.mdx +++ b/nodejs/docs/api/class-weberror.mdx @@ -75,6 +75,7 @@ webError.page(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -83,7 +84,6 @@ webError.page(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -98,6 +98,7 @@ webError.page(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-websocket.mdx b/nodejs/docs/api/class-websocket.mdx index 521b1d705e..027bec5ad8 100644 --- a/nodejs/docs/api/class-websocket.mdx +++ b/nodejs/docs/api/class-websocket.mdx @@ -179,6 +179,7 @@ webSocket.on('socketerror', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -187,7 +188,6 @@ webSocket.on('socketerror', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -202,6 +202,7 @@ webSocket.on('socketerror', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-websocketroute.mdx b/nodejs/docs/api/class-websocketroute.mdx index 240ce3e35b..c5ee4b9185 100644 --- a/nodejs/docs/api/class-websocketroute.mdx +++ b/nodejs/docs/api/class-websocketroute.mdx @@ -230,6 +230,7 @@ webSocketRoute.url(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -238,7 +239,6 @@ webSocketRoute.url(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -253,6 +253,7 @@ webSocketRoute.url(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-worker.mdx b/nodejs/docs/api/class-worker.mdx index 5e305b3017..ed7d4b62f0 100644 --- a/nodejs/docs/api/class-worker.mdx +++ b/nodejs/docs/api/class-worker.mdx @@ -191,6 +191,7 @@ worker.on('console', data => {}); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -199,7 +200,6 @@ worker.on('console', data => {}); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -214,6 +214,7 @@ worker.on('console', data => {}); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/api/class-workerinfo.mdx b/nodejs/docs/api/class-workerinfo.mdx index c8a2417288..012d8285fc 100644 --- a/nodejs/docs/api/class-workerinfo.mdx +++ b/nodejs/docs/api/class-workerinfo.mdx @@ -103,6 +103,7 @@ workerInfo.workerIndex [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -111,7 +112,6 @@ workerInfo.workerIndex [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -126,6 +126,7 @@ workerInfo.workerIndex [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/aria-snapshots.mdx b/nodejs/docs/aria-snapshots.mdx index 390fbd11e5..8d4031429c 100644 --- a/nodejs/docs/aria-snapshots.mdx +++ b/nodejs/docs/aria-snapshots.mdx @@ -197,6 +197,24 @@ Following snapshot will fail due to Feature C not being in the template: - listitem: Feature B ``` +#### Setting `children` mode globally + +Instead of adding a `/children` property to every snapshot, you can set the default children matching mode for all `toMatchAriaSnapshot` calls in the configuration file: + +```js title="playwright.config.ts" +import { defineConfig } from '@playwright/test'; + +export default defineConfig({ + expect: { + toMatchAriaSnapshot: { + children: 'equal', + }, + }, +}); +``` + +Individual snapshots can still override the global setting by including an explicit `/children` property in the template. + ### Matching with regular expressions Regular expressions allow flexible matching for elements with dynamic or variable text. Accessible names and text can support regex patterns. @@ -438,6 +456,7 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -446,7 +465,6 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -461,6 +479,7 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/auth.mdx b/nodejs/docs/auth.mdx index df637047a7..7e2807ec6d 100644 --- a/nodejs/docs/auth.mdx +++ b/nodejs/docs/auth.mdx @@ -545,6 +545,7 @@ test('not signed in test', async ({ page }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -553,7 +554,6 @@ test('not signed in test', async ({ page }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -568,6 +568,7 @@ test('not signed in test', async ({ page }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/best-practices.mdx b/nodejs/docs/best-practices.mdx index 4b671710f5..88c2eb22a4 100644 --- a/nodejs/docs/best-practices.mdx +++ b/nodejs/docs/best-practices.mdx @@ -529,6 +529,7 @@ await page.getByRole('link', { name: 'next page' }).click(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -537,7 +538,6 @@ await page.getByRole('link', { name: 'next page' }).click(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -552,6 +552,7 @@ await page.getByRole('link', { name: 'next page' }).click(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/browser-contexts.mdx b/nodejs/docs/browser-contexts.mdx index 370404ccd2..2b31451978 100644 --- a/nodejs/docs/browser-contexts.mdx +++ b/nodejs/docs/browser-contexts.mdx @@ -133,6 +133,7 @@ const userPage = await userContext.newPage(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -141,7 +142,6 @@ const userPage = await userContext.newPage(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -156,6 +156,7 @@ const userPage = await userContext.newPage(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/browsers.mdx b/nodejs/docs/browsers.mdx index f5ea4c6c97..4c150fdf44 100644 --- a/nodejs/docs/browsers.mdx +++ b/nodejs/docs/browsers.mdx @@ -657,6 +657,7 @@ npx playwright uninstall --all [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -665,7 +666,6 @@ npx playwright uninstall --all [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -680,6 +680,7 @@ npx playwright uninstall --all [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/canary-releases.mdx b/nodejs/docs/canary-releases.mdx index 4579966e81..ea2ad2a808 100644 --- a/nodejs/docs/canary-releases.mdx +++ b/nodejs/docs/canary-releases.mdx @@ -59,6 +59,7 @@ The stable and the `next` documentation is published on [playwright.dev](https:/ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -67,7 +68,6 @@ The stable and the `next` documentation is published on [playwright.dev](https:/ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -82,6 +82,7 @@ The stable and the `next` documentation is published on [playwright.dev](https:/ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/chrome-extensions.mdx b/nodejs/docs/chrome-extensions.mdx index c79df6edb6..46960d9613 100644 --- a/nodejs/docs/chrome-extensions.mdx +++ b/nodejs/docs/chrome-extensions.mdx @@ -41,6 +41,23 @@ const { chromium } = require('playwright'); })(); ``` +## Service worker idle suspension (MV3) + +Chrome MV3 service workers are automatically suspended after ~30 seconds of inactivity and restarted on demand. When this happens, Playwright keeps the **same [Worker] object alive** — no new `'serviceworker'` event is emitted. New `evaluate()` calls issued during the restart window are stalled until the new context is ready and then resume automatically: + +```js +const sw = await context.waitForEvent('serviceworker'); + +// ... SW suspends after 30 s of inactivity and is restarted by the browser ... + +// The existing handle is transparent across the restart. +await sw.evaluate(() => sendMessage({ type: 'ping' })); // just works +``` + +:::note +`evaluate()` calls that were already in-flight at the exact moment of suspension will throw with `"Service worker restarted"`, matching the behaviour of page navigations mid-flight. +::: + ## Testing To have the extension loaded when running tests you can use a test fixture to set the context. You can also dynamically retrieve the extension id and use it to load and test the popup page for example. @@ -117,6 +134,7 @@ test('popup page', async ({ page, extensionId }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -125,7 +143,6 @@ test('popup page', async ({ page, extensionId }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -140,6 +157,7 @@ test('popup page', async ({ page, extensionId }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/ci-intro.mdx b/nodejs/docs/ci-intro.mdx index 97ef64f0be..f16ce19ea1 100644 --- a/nodejs/docs/ci-intro.mdx +++ b/nodejs/docs/ci-intro.mdx @@ -182,6 +182,7 @@ Artifacts like trace files, HTML reports or even the console logs contain inform [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -190,7 +191,6 @@ Artifacts like trace files, HTML reports or even the console logs contain inform [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -205,6 +205,7 @@ Artifacts like trace files, HTML reports or even the console logs contain inform [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/ci.mdx b/nodejs/docs/ci.mdx index 3149cec32c..f83a823183 100644 --- a/nodejs/docs/ci.mdx +++ b/nodejs/docs/ci.mdx @@ -524,6 +524,7 @@ xvfb-run npx playwright test [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -532,7 +533,6 @@ xvfb-run npx playwright test [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -547,6 +547,7 @@ xvfb-run npx playwright test [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/clock.mdx b/nodejs/docs/clock.mdx index 1afed2c152..8d11a308a1 100644 --- a/nodejs/docs/clock.mdx +++ b/nodejs/docs/clock.mdx @@ -195,6 +195,7 @@ await expect(page.getByTestId('current-time')).toHaveText('2/2/2024, 10:00:02 AM [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -203,7 +204,6 @@ await expect(page.getByTestId('current-time')).toHaveText('2/2/2024, 10:00:02 AM [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -218,6 +218,7 @@ await expect(page.getByTestId('current-time')).toHaveText('2/2/2024, 10:00:02 AM [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/codegen-intro.mdx b/nodejs/docs/codegen-intro.mdx index 47aa0b04b6..a7f3e6777b 100644 --- a/nodejs/docs/codegen-intro.mdx +++ b/nodejs/docs/codegen-intro.mdx @@ -81,6 +81,7 @@ You can generate tests using emulation for specific viewports, devices, color sc [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -89,7 +90,6 @@ You can generate tests using emulation for specific viewports, devices, color sc [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -104,6 +104,7 @@ You can generate tests using emulation for specific viewports, devices, color sc [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/codegen.mdx b/nodejs/docs/codegen.mdx index 8ce9ba2de0..899d736f5b 100644 --- a/nodejs/docs/codegen.mdx +++ b/nodejs/docs/codegen.mdx @@ -237,6 +237,7 @@ const { chromium } = require('@playwright/test'); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -245,7 +246,6 @@ const { chromium } = require('@playwright/test'); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -260,6 +260,7 @@ const { chromium } = require('@playwright/test'); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/debug.mdx b/nodejs/docs/debug.mdx index 4ef1317a6c..937aed5429 100644 --- a/nodejs/docs/debug.mdx +++ b/nodejs/docs/debug.mdx @@ -334,6 +334,7 @@ await chromium.launch({ headless: false, slowMo: 100 }); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -342,7 +343,6 @@ await chromium.launch({ headless: false, slowMo: 100 }); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -357,6 +357,7 @@ await chromium.launch({ headless: false, slowMo: 100 }); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/dialogs.mdx b/nodejs/docs/dialogs.mdx index 2a349c8c9f..0226040cd5 100644 --- a/nodejs/docs/dialogs.mdx +++ b/nodejs/docs/dialogs.mdx @@ -87,6 +87,7 @@ This will wait for the print dialog to be opened after the button is clicked. Ma [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -95,7 +96,6 @@ This will wait for the print dialog to be opened after the button is clicked. Ma [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -110,6 +110,7 @@ This will wait for the print dialog to be opened after the button is clicked. Ma [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/docker.mdx b/nodejs/docs/docker.mdx index 644f12a5d3..3daefc6b66 100644 --- a/nodejs/docs/docker.mdx +++ b/nodejs/docs/docker.mdx @@ -186,6 +186,7 @@ RUN npx -y playwright@1.58.2 install --with-deps [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -194,7 +195,6 @@ RUN npx -y playwright@1.58.2 install --with-deps [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -209,6 +209,7 @@ RUN npx -y playwright@1.58.2 install --with-deps [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/downloads.mdx b/nodejs/docs/downloads.mdx index 3d8a80537c..65eff07e96 100644 --- a/nodejs/docs/downloads.mdx +++ b/nodejs/docs/downloads.mdx @@ -63,6 +63,7 @@ For uploading files, see the [uploading files](./input.mdx#upload-files) section [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -71,7 +72,6 @@ For uploading files, see the [uploading files](./input.mdx#upload-files) section [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -86,6 +86,7 @@ For uploading files, see the [uploading files](./input.mdx#upload-files) section [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/emulation.mdx b/nodejs/docs/emulation.mdx index 8b3b57577e..3bfb6bbc62 100644 --- a/nodejs/docs/emulation.mdx +++ b/nodejs/docs/emulation.mdx @@ -613,6 +613,7 @@ const context = await browser.newContext({ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -621,7 +622,6 @@ const context = await browser.newContext({ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -636,6 +636,7 @@ const context = await browser.newContext({ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/evaluating.mdx b/nodejs/docs/evaluating.mdx index 1dd853b060..e83b9f44f4 100644 --- a/nodejs/docs/evaluating.mdx +++ b/nodejs/docs/evaluating.mdx @@ -156,6 +156,7 @@ test.beforeEach(async ({ page }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -164,7 +165,6 @@ test.beforeEach(async ({ page }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -179,6 +179,7 @@ test.beforeEach(async ({ page }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/events.mdx b/nodejs/docs/events.mdx index 6d30972b41..28d0096294 100644 --- a/nodejs/docs/events.mdx +++ b/nodejs/docs/events.mdx @@ -76,6 +76,7 @@ await page.evaluate("prompt('Enter a number:')"); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -84,7 +85,6 @@ await page.evaluate("prompt('Enter a number:')"); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -99,6 +99,7 @@ await page.evaluate("prompt('Enter a number:')"); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/extensibility.mdx b/nodejs/docs/extensibility.mdx index fcf3092c6e..d1c61bee03 100644 --- a/nodejs/docs/extensibility.mdx +++ b/nodejs/docs/extensibility.mdx @@ -83,6 +83,7 @@ test('selector engine test', async ({ page }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -91,7 +92,6 @@ test('selector engine test', async ({ page }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -106,6 +106,7 @@ test('selector engine test', async ({ page }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/frames.mdx b/nodejs/docs/frames.mdx index 09aa5e0f4b..ca343544bf 100644 --- a/nodejs/docs/frames.mdx +++ b/nodejs/docs/frames.mdx @@ -52,6 +52,7 @@ await frame.fill('#username-input', 'John'); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -60,7 +61,6 @@ await frame.fill('#username-input', 'John'); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -75,6 +75,7 @@ await frame.fill('#username-input', 'John'); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/getting-started-vscode.mdx b/nodejs/docs/getting-started-vscode.mdx index faad317482..a7e7e5ecf2 100644 --- a/nodejs/docs/getting-started-vscode.mdx +++ b/nodejs/docs/getting-started-vscode.mdx @@ -162,6 +162,7 @@ If you have multiple `playwright.config.ts` files, you can switch between them u [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -170,7 +171,6 @@ If you have multiple `playwright.config.ts` files, you can switch between them u [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -185,6 +185,7 @@ If you have multiple `playwright.config.ts` files, you can switch between them u [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/handles.mdx b/nodejs/docs/handles.mdx index 7befb0509e..8ecb74f61c 100644 --- a/nodejs/docs/handles.mdx +++ b/nodejs/docs/handles.mdx @@ -136,6 +136,7 @@ await locator.click(); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -144,7 +145,6 @@ await locator.click(); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -159,6 +159,7 @@ await locator.click(); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/input.mdx b/nodejs/docs/input.mdx index cb8617385e..48b2e16ba0 100644 --- a/nodejs/docs/input.mdx +++ b/nodejs/docs/input.mdx @@ -283,6 +283,7 @@ await page.getByTestId('scrolling-container').evaluate(e => e.scrollTop += 100); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -291,7 +292,6 @@ await page.getByTestId('scrolling-container').evaluate(e => e.scrollTop += 100); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -306,6 +306,7 @@ await page.getByTestId('scrolling-container').evaluate(e => e.scrollTop += 100); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/intro.mdx b/nodejs/docs/intro.mdx index c8c052a61d..f2a0260ffe 100644 --- a/nodejs/docs/intro.mdx +++ b/nodejs/docs/intro.mdx @@ -288,6 +288,7 @@ pnpm exec playwright --version [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -296,7 +297,6 @@ pnpm exec playwright --version [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -311,6 +311,7 @@ pnpm exec playwright --version [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/languages.mdx b/nodejs/docs/languages.mdx index 5c8e06eb87..d0b02c9e00 100644 --- a/nodejs/docs/languages.mdx +++ b/nodejs/docs/languages.mdx @@ -53,6 +53,7 @@ Playwright for .NET comes with MSTest, NUnit, xUnit, and xUnit v3 [base classes] [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -61,7 +62,6 @@ Playwright for .NET comes with MSTest, NUnit, xUnit, and xUnit v3 [base classes] [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -76,6 +76,7 @@ Playwright for .NET comes with MSTest, NUnit, xUnit, and xUnit v3 [base classes] [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/library.mdx b/nodejs/docs/library.mdx index 30220bf013..3e779de8d7 100644 --- a/nodejs/docs/library.mdx +++ b/nodejs/docs/library.mdx @@ -440,6 +440,7 @@ let page: import('playwright').Page; [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -448,7 +449,6 @@ let page: import('playwright').Page; [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -463,6 +463,7 @@ let page: import('playwright').Page; [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/locators.mdx b/nodejs/docs/locators.mdx index a4d020a111..71ad6a9fd0 100644 --- a/nodejs/docs/locators.mdx +++ b/nodejs/docs/locators.mdx @@ -934,6 +934,7 @@ For less commonly used locators, look at the [other locators](./other-locators.m [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -942,7 +943,6 @@ For less commonly used locators, look at the [other locators](./other-locators.m [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -957,6 +957,7 @@ For less commonly used locators, look at the [other locators](./other-locators.m [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/mock-browser.mdx b/nodejs/docs/mock-browser.mdx index 764ddd55f7..c42edf76b3 100644 --- a/nodejs/docs/mock-browser.mdx +++ b/nodejs/docs/mock-browser.mdx @@ -183,6 +183,7 @@ test('update battery status (no golden)', async ({ page }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -191,7 +192,6 @@ test('update battery status (no golden)', async ({ page }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -206,6 +206,7 @@ test('update battery status (no golden)', async ({ page }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/mock.mdx b/nodejs/docs/mock.mdx index e2b6c97a41..4c652f82ad 100644 --- a/nodejs/docs/mock.mdx +++ b/nodejs/docs/mock.mdx @@ -196,6 +196,7 @@ For more details, see [WebSocketRoute]. [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -204,7 +205,6 @@ For more details, see [WebSocketRoute]. [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -219,6 +219,7 @@ For more details, see [WebSocketRoute]. [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/navigations.mdx b/nodejs/docs/navigations.mdx index 9bd8390426..57c290d9be 100644 --- a/nodejs/docs/navigations.mdx +++ b/nodejs/docs/navigations.mdx @@ -95,6 +95,7 @@ Playwright splits the process of showing a new document in a page into **navigat [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -103,7 +104,6 @@ Playwright splits the process of showing a new document in a page into **navigat [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -118,6 +118,7 @@ Playwright splits the process of showing a new document in a page into **navigat [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/network.mdx b/nodejs/docs/network.mdx index bb2b2dea54..3233bef459 100644 --- a/nodejs/docs/network.mdx +++ b/nodejs/docs/network.mdx @@ -360,6 +360,7 @@ If you're interested in not solely using Service Workers for testing and network [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -368,7 +369,6 @@ If you're interested in not solely using Service Workers for testing and network [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -383,6 +383,7 @@ If you're interested in not solely using Service Workers for testing and network [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/other-locators.mdx b/nodejs/docs/other-locators.mdx index f22d18c5ef..c43258c5f9 100644 --- a/nodejs/docs/other-locators.mdx +++ b/nodejs/docs/other-locators.mdx @@ -423,6 +423,7 @@ For example, `css=article >> text=Hello` captures the element with the text `Hel [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -431,7 +432,6 @@ For example, `css=article >> text=Hello` captures the element with the text `Hel [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -446,6 +446,7 @@ For example, `css=article >> text=Hello` captures the element with the text `Hel [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/pages.mdx b/nodejs/docs/pages.mdx index 45da7abe0f..8111035962 100644 --- a/nodejs/docs/pages.mdx +++ b/nodejs/docs/pages.mdx @@ -109,6 +109,7 @@ page.on('popup', async popup => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -117,7 +118,6 @@ page.on('popup', async popup => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -132,6 +132,7 @@ page.on('popup', async popup => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/pom.mdx b/nodejs/docs/pom.mdx index 40ce6d0944..971a91254c 100644 --- a/nodejs/docs/pom.mdx +++ b/nodejs/docs/pom.mdx @@ -123,13 +123,13 @@ test('getting started should contain table of contents', async ({ page }) => { await playwrightDev.getStarted(); await expect(playwrightDev.tocList).toHaveText([ `How to install Playwright`, - `What's Installed`, + `What's installed`, `How to run the example test`, `How to open the HTML test report`, - `Write tests using web first assertions, page fixtures and locators`, - `Run single test, multiple tests, headed mode`, + `Write tests using web-first assertions, fixtures and locators`, + `Run single or multiple tests; headed mode`, `Generate tests with Codegen`, - `See a trace of your tests` + `View a trace of your tests`, ]); }); @@ -153,13 +153,13 @@ await playwrightDev.goto(); await playwrightDev.getStarted(); await expect(playwrightDev.tocList).toHaveText([ `How to install Playwright`, - `What's Installed`, + `What's installed`, `How to run the example test`, `How to open the HTML test report`, - `Write tests using web first assertions, page fixtures and locators`, - `Run single test, multiple tests, headed mode`, + `Write tests using web-first assertions, fixtures and locators`, + `Run single or multiple tests; headed mode`, `Generate tests with Codegen`, - `See a trace of your tests` + `View a trace of your tests`, ]); ``` @@ -185,6 +185,7 @@ await expect(playwrightDev.tocList).toHaveText([ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -193,7 +194,6 @@ await expect(playwrightDev.tocList).toHaveText([ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -208,6 +208,7 @@ await expect(playwrightDev.tocList).toHaveText([ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/protractor.mdx b/nodejs/docs/protractor.mdx index e0607866e6..c0893243be 100644 --- a/nodejs/docs/protractor.mdx +++ b/nodejs/docs/protractor.mdx @@ -185,6 +185,7 @@ Learn more about Playwright Test runner: [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -193,7 +194,6 @@ Learn more about Playwright Test runner: [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -208,6 +208,7 @@ Learn more about Playwright Test runner: [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/puppeteer.mdx b/nodejs/docs/puppeteer.mdx index 3d85143360..cff7f507ae 100644 --- a/nodejs/docs/puppeteer.mdx +++ b/nodejs/docs/puppeteer.mdx @@ -190,6 +190,7 @@ Learn more about Playwright Test runner: [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -198,7 +199,6 @@ Learn more about Playwright Test runner: [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -213,6 +213,7 @@ Learn more about Playwright Test runner: [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/release-notes.mdx b/nodejs/docs/release-notes.mdx index df501d402d..ba5e1247a0 100644 --- a/nodejs/docs/release-notes.mdx +++ b/nodejs/docs/release-notes.mdx @@ -3187,6 +3187,7 @@ This version of Playwright was also tested against the following stable channels [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -3195,7 +3196,6 @@ This version of Playwright was also tested against the following stable channels [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -3210,6 +3210,7 @@ This version of Playwright was also tested against the following stable channels [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/running-tests.mdx b/nodejs/docs/running-tests.mdx index 45051abdac..7a26e83b51 100644 --- a/nodejs/docs/running-tests.mdx +++ b/nodejs/docs/running-tests.mdx @@ -190,6 +190,7 @@ You can filter and search for tests as well as click on each test to see the tes [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -198,7 +199,6 @@ You can filter and search for tests as well as click on each test to see the tes [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -213,6 +213,7 @@ You can filter and search for tests as well as click on each test to see the tes [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/screenshots.mdx b/nodejs/docs/screenshots.mdx index 1e512e007f..c87849b0f4 100644 --- a/nodejs/docs/screenshots.mdx +++ b/nodejs/docs/screenshots.mdx @@ -60,6 +60,7 @@ await page.locator('.header').screenshot({ path: 'screenshot.png' }); [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -68,7 +69,6 @@ await page.locator('.header').screenshot({ path: 'screenshot.png' }); [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -83,6 +83,7 @@ await page.locator('.header').screenshot({ path: 'screenshot.png' }); [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/selenium-grid.mdx b/nodejs/docs/selenium-grid.mdx index 4f716eb7cf..d6deaf73cb 100644 --- a/nodejs/docs/selenium-grid.mdx +++ b/nodejs/docs/selenium-grid.mdx @@ -142,6 +142,7 @@ This means that Selenium 3 is supported in a best-effort manner, where Playwrigh [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -150,7 +151,6 @@ This means that Selenium 3 is supported in a best-effort manner, where Playwrigh [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -165,6 +165,7 @@ This means that Selenium 3 is supported in a best-effort manner, where Playwrigh [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/service-workers.mdx b/nodejs/docs/service-workers.mdx index 876f65a929..ffe1452a14 100644 --- a/nodejs/docs/service-workers.mdx +++ b/nodejs/docs/service-workers.mdx @@ -148,6 +148,7 @@ Requests for updated Service Worker main script code currently cannot be routed [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -156,7 +157,6 @@ Requests for updated Service Worker main script code currently cannot be routed [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -171,6 +171,7 @@ Requests for updated Service Worker main script code currently cannot be routed [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-agents.mdx b/nodejs/docs/test-agents.mdx index d4a2ffb1df..9ad9fe4523 100644 --- a/nodejs/docs/test-agents.mdx +++ b/nodejs/docs/test-agents.mdx @@ -214,7 +214,7 @@ When the test fails, the healer agent: healer prompt **Output** -* A passing test, or a skipped test if the healer believes the that functionality is broken. +* A passing test, or a skipped test if the healer believes that functionality is broken. ## Artifacts and Conventions @@ -272,6 +272,7 @@ Seed tests provide a ready-to-use `page` context to bootstrap execution. [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -280,7 +281,6 @@ Seed tests provide a ready-to-use `page` context to bootstrap execution. [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -295,6 +295,7 @@ Seed tests provide a ready-to-use `page` context to bootstrap execution. [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-annotations.mdx b/nodejs/docs/test-annotations.mdx index ebb8f721fc..fa72e0a4ee 100644 --- a/nodejs/docs/test-annotations.mdx +++ b/nodejs/docs/test-annotations.mdx @@ -336,6 +336,7 @@ test('example test', async ({ page, browser }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -344,7 +345,6 @@ test('example test', async ({ page, browser }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -359,6 +359,7 @@ test('example test', async ({ page, browser }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-assertions.mdx b/nodejs/docs/test-assertions.mdx index c6bba8e477..8115e903dc 100644 --- a/nodejs/docs/test-assertions.mdx +++ b/nodejs/docs/test-assertions.mdx @@ -378,6 +378,7 @@ test('passes', async ({ database }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -386,7 +387,6 @@ test('passes', async ({ database }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -401,6 +401,7 @@ test('passes', async ({ database }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-cli.mdx b/nodejs/docs/test-cli.mdx index fe9126068c..6c2615e4be 100644 --- a/nodejs/docs/test-cli.mdx +++ b/nodejs/docs/test-cli.mdx @@ -348,6 +348,7 @@ npx playwright clear-cache [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -356,7 +357,6 @@ npx playwright clear-cache [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -371,6 +371,7 @@ npx playwright clear-cache [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-components.mdx b/nodejs/docs/test-components.mdx index 19630c1f4d..cafa56c2e7 100644 --- a/nodejs/docs/test-components.mdx +++ b/nodejs/docs/test-components.mdx @@ -776,6 +776,7 @@ Accessing a component's internal methods or its instance within test code is nei [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -784,7 +785,6 @@ Accessing a component's internal methods or its instance within test code is nei [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -799,6 +799,7 @@ Accessing a component's internal methods or its instance within test code is nei [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-configuration.mdx b/nodejs/docs/test-configuration.mdx index d4328cc749..9f4c0b73da 100644 --- a/nodejs/docs/test-configuration.mdx +++ b/nodejs/docs/test-configuration.mdx @@ -172,6 +172,7 @@ export default defineConfig({ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -180,7 +181,6 @@ export default defineConfig({ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -195,6 +195,7 @@ export default defineConfig({ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-fixtures.mdx b/nodejs/docs/test-fixtures.mdx index e0dac1aaaf..d0d8b7068f 100644 --- a/nodejs/docs/test-fixtures.mdx +++ b/nodejs/docs/test-fixtures.mdx @@ -875,6 +875,7 @@ Note that the fixtures will still run once per [worker process](./test-parallel. [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -883,7 +884,6 @@ Note that the fixtures will still run once per [worker process](./test-parallel. [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -898,6 +898,7 @@ Note that the fixtures will still run once per [worker process](./test-parallel. [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-global-setup-teardown.mdx b/nodejs/docs/test-global-setup-teardown.mdx index 02da447e20..749a1db661 100644 --- a/nodejs/docs/test-global-setup-teardown.mdx +++ b/nodejs/docs/test-global-setup-teardown.mdx @@ -293,6 +293,7 @@ export default globalSetup; [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -301,7 +302,6 @@ export default globalSetup; [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -316,6 +316,7 @@ export default globalSetup; [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-parallel.mdx b/nodejs/docs/test-parallel.mdx index 5aa4076571..9f3226ea94 100644 --- a/nodejs/docs/test-parallel.mdx +++ b/nodejs/docs/test-parallel.mdx @@ -301,6 +301,7 @@ Do not define your tests directly in a helper file. This could lead to unexpecte [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -309,7 +310,6 @@ Do not define your tests directly in a helper file. This could lead to unexpecte [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -324,6 +324,7 @@ Do not define your tests directly in a helper file. This could lead to unexpecte [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-parameterize.mdx b/nodejs/docs/test-parameterize.mdx index 7a24e8bdc9..e1f56f323f 100644 --- a/nodejs/docs/test-parameterize.mdx +++ b/nodejs/docs/test-parameterize.mdx @@ -438,6 +438,7 @@ for (const record of records) { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -446,7 +447,6 @@ for (const record of records) { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -461,6 +461,7 @@ for (const record of records) { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-projects.mdx b/nodejs/docs/test-projects.mdx index cf06b3f909..5e534ecb6b 100644 --- a/nodejs/docs/test-projects.mdx +++ b/nodejs/docs/test-projects.mdx @@ -245,6 +245,7 @@ Projects can be also used to parametrize tests with your custom configuration - [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -253,7 +254,6 @@ Projects can be also used to parametrize tests with your custom configuration - [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -268,6 +268,7 @@ Projects can be also used to parametrize tests with your custom configuration - [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-reporters.mdx b/nodejs/docs/test-reporters.mdx index c5468584e7..dd79ee0c43 100644 --- a/nodejs/docs/test-reporters.mdx +++ b/nodejs/docs/test-reporters.mdx @@ -516,6 +516,7 @@ Here's a short list of open source reporter implementations that you can take a [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -524,7 +525,6 @@ Here's a short list of open source reporter implementations that you can take a [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -539,6 +539,7 @@ Here's a short list of open source reporter implementations that you can take a [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-retries.mdx b/nodejs/docs/test-retries.mdx index 71feff127d..d0e4db3c31 100644 --- a/nodejs/docs/test-retries.mdx +++ b/nodejs/docs/test-retries.mdx @@ -261,6 +261,7 @@ test('runs second', async () => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -269,7 +270,6 @@ test('runs second', async () => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -284,6 +284,7 @@ test('runs second', async () => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-sharding.mdx b/nodejs/docs/test-sharding.mdx index 240a63515b..9837308da3 100644 --- a/nodejs/docs/test-sharding.mdx +++ b/nodejs/docs/test-sharding.mdx @@ -228,6 +228,7 @@ Supported options: [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -236,7 +237,6 @@ Supported options: [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -251,6 +251,7 @@ Supported options: [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-snapshots.mdx b/nodejs/docs/test-snapshots.mdx index 8cb7996554..6338ace7b3 100644 --- a/nodejs/docs/test-snapshots.mdx +++ b/nodejs/docs/test-snapshots.mdx @@ -158,6 +158,7 @@ Snapshots are stored next to the test file, in a separate directory. For example [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -166,7 +167,6 @@ Snapshots are stored next to the test file, in a separate directory. For example [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -181,6 +181,7 @@ Snapshots are stored next to the test file, in a separate directory. For example [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-timeouts.mdx b/nodejs/docs/test-timeouts.mdx index f3c9897fe5..3b4a9fb4cf 100644 --- a/nodejs/docs/test-timeouts.mdx +++ b/nodejs/docs/test-timeouts.mdx @@ -229,6 +229,7 @@ API reference: [test.extend()](/api/class-test.mdx#test-extend). [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -237,7 +238,6 @@ API reference: [test.extend()](/api/class-test.mdx#test-extend). [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -252,6 +252,7 @@ API reference: [test.extend()](/api/class-test.mdx#test-extend). [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-typescript.mdx b/nodejs/docs/test-typescript.mdx index 229321d0dc..f6f8655577 100644 --- a/nodejs/docs/test-typescript.mdx +++ b/nodejs/docs/test-typescript.mdx @@ -157,6 +157,7 @@ Then `npm run test` will build the tests and run them. [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -165,7 +166,6 @@ Then `npm run test` will build the tests and run them. [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -180,6 +180,7 @@ Then `npm run test` will build the tests and run them. [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-ui-mode.mdx b/nodejs/docs/test-ui-mode.mdx index 57c60d7b87..442a9f43b2 100644 --- a/nodejs/docs/test-ui-mode.mdx +++ b/nodejs/docs/test-ui-mode.mdx @@ -151,6 +151,7 @@ Be aware that when specifying the `--ui-host=0.0.0.0` flag, UI Mode with your tr [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -159,7 +160,6 @@ Be aware that when specifying the `--ui-host=0.0.0.0` flag, UI Mode with your tr [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -174,6 +174,7 @@ Be aware that when specifying the `--ui-host=0.0.0.0` flag, UI Mode with your tr [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-use-options.mdx b/nodejs/docs/test-use-options.mdx index bd6e02cb4e..cbd2ce4efe 100644 --- a/nodejs/docs/test-use-options.mdx +++ b/nodejs/docs/test-use-options.mdx @@ -366,6 +366,7 @@ test('no base url', async ({ page }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -374,7 +375,6 @@ test('no base url', async ({ page }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -389,6 +389,7 @@ test('no base url', async ({ page }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/test-webserver.mdx b/nodejs/docs/test-webserver.mdx index f55ab50da7..8a5517d2cd 100644 --- a/nodejs/docs/test-webserver.mdx +++ b/nodejs/docs/test-webserver.mdx @@ -150,6 +150,7 @@ export default defineConfig({ [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -158,7 +159,6 @@ export default defineConfig({ [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -173,6 +173,7 @@ export default defineConfig({ [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/testing-library.mdx b/nodejs/docs/testing-library.mdx index ca9933983a..d7fdb1f078 100644 --- a/nodejs/docs/testing-library.mdx +++ b/nodejs/docs/testing-library.mdx @@ -173,6 +173,7 @@ Learn more about Playwright Test runner: [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -181,7 +182,6 @@ Learn more about Playwright Test runner: [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -196,6 +196,7 @@ Learn more about Playwright Test runner: [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/touch-events.mdx b/nodejs/docs/touch-events.mdx index 8c14e18062..1e4b40fa3e 100644 --- a/nodejs/docs/touch-events.mdx +++ b/nodejs/docs/touch-events.mdx @@ -161,6 +161,7 @@ test(`pinch in gesture to zoom out the map`, async ({ page }) => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -169,7 +170,6 @@ test(`pinch in gesture to zoom out the map`, async ({ page }) => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -184,6 +184,7 @@ test(`pinch in gesture to zoom out the map`, async ({ page }) => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/trace-viewer-intro.mdx b/nodejs/docs/trace-viewer-intro.mdx index 8d995db134..5c4ccb0322 100644 --- a/nodejs/docs/trace-viewer-intro.mdx +++ b/nodejs/docs/trace-viewer-intro.mdx @@ -93,6 +93,7 @@ To learn more about traces, check out our detailed guide on [Trace Viewer](/trac [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -101,7 +102,6 @@ To learn more about traces, check out our detailed guide on [Trace Viewer](/trac [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -116,6 +116,7 @@ To learn more about traces, check out our detailed guide on [Trace Viewer](/trac [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/trace-viewer.mdx b/nodejs/docs/trace-viewer.mdx index 4bcad87ab8..9897a8762b 100644 --- a/nodejs/docs/trace-viewer.mdx +++ b/nodejs/docs/trace-viewer.mdx @@ -230,6 +230,7 @@ The "Attachments" tab allows you to explore attachments. If you're doing [visual [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -238,7 +239,6 @@ The "Attachments" tab allows you to explore attachments. If you're doing [visual [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -253,6 +253,7 @@ The "Attachments" tab allows you to explore attachments. If you're doing [visual [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/videos.mdx b/nodejs/docs/videos.mdx index bae216cbe0..0ebe9d1d3d 100644 --- a/nodejs/docs/videos.mdx +++ b/nodejs/docs/videos.mdx @@ -121,6 +121,7 @@ Note that the video is only available after the page or browser context is close [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -129,7 +130,6 @@ Note that the video is only available after the page or browser context is close [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -144,6 +144,7 @@ Note that the video is only available after the page or browser context is close [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/webview2.mdx b/nodejs/docs/webview2.mdx index 75fe9f627d..e46a623a7f 100644 --- a/nodejs/docs/webview2.mdx +++ b/nodejs/docs/webview2.mdx @@ -136,6 +136,7 @@ For debugging tests, see the Playwright [Debugging guide](./debug). [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -144,7 +145,6 @@ For debugging tests, see the Playwright [Debugging guide](./debug). [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -159,6 +159,7 @@ For debugging tests, see the Playwright [Debugging guide](./debug). [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/nodejs/docs/writing-tests.mdx b/nodejs/docs/writing-tests.mdx index 137a48fc0e..3df91591c8 100644 --- a/nodejs/docs/writing-tests.mdx +++ b/nodejs/docs/writing-tests.mdx @@ -189,6 +189,7 @@ test.describe('navigation', () => { [ConsoleMessage]: /api/class-consolemessage.mdx "ConsoleMessage" [Coverage]: /api/class-coverage.mdx "Coverage" [Dialog]: /api/class-dialog.mdx "Dialog" +[Disposable]: /api/class-disposable.mdx "Disposable" [Download]: /api/class-download.mdx "Download" [Electron]: /api/class-electron.mdx "Electron" [ElectronApplication]: /api/class-electronapplication.mdx "ElectronApplication" @@ -197,7 +198,6 @@ test.describe('navigation', () => { [Frame]: /api/class-frame.mdx "Frame" [FrameLocator]: /api/class-framelocator.mdx "FrameLocator" [GenericAssertions]: /api/class-genericassertions.mdx "GenericAssertions" -[Inspector]: /api/class-inspector.mdx "Inspector" [JSHandle]: /api/class-jshandle.mdx "JSHandle" [Keyboard]: /api/class-keyboard.mdx "Keyboard" [Locator]: /api/class-locator.mdx "Locator" @@ -212,6 +212,7 @@ test.describe('navigation', () => { [Request]: /api/class-request.mdx "Request" [Response]: /api/class-response.mdx "Response" [Route]: /api/class-route.mdx "Route" +[Screencast]: /api/class-screencast.mdx "Screencast" [Selectors]: /api/class-selectors.mdx "Selectors" [SnapshotAssertions]: /api/class-snapshotassertions.mdx "SnapshotAssertions" [TimeoutError]: /api/class-timeouterror.mdx "TimeoutError" diff --git a/python/docs/api/class-browsercontext.mdx b/python/docs/api/class-browsercontext.mdx index e7660d6fe3..1d6b4c1caa 100644 --- a/python/docs/api/class-browsercontext.mdx +++ b/python/docs/api/class-browsercontext.mdx @@ -183,7 +183,7 @@ The order of evaluation of multiple scripts installed via [browser_context.add_i Script to be evaluated in all pages in the browser context. Optional. **Returns** -- [NoneType]# +- [Disposable]# --- @@ -565,7 +565,7 @@ asyncio.run(main()) Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [NoneType]# +- [Disposable]# --- @@ -673,7 +673,7 @@ asyncio.run(main()) Callback function that will be called in the Playwright's context. **Returns** -- [NoneType]# +- [Disposable]# --- @@ -913,7 +913,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [NoneType]# +- [Disposable]# --- diff --git a/python/docs/api/class-browsertype.mdx b/python/docs/api/class-browsertype.mdx index 55b1452c11..acd3ded8eb 100644 --- a/python/docs/api/class-browsertype.mdx +++ b/python/docs/api/class-browsertype.mdx @@ -77,12 +77,12 @@ The major and minor version of the Playwright instance that connects needs to ma **Usage** ```python -browser_type.connect(ws_endpoint) -browser_type.connect(ws_endpoint, **kwargs) +browser_type.connect(endpoint) +browser_type.connect(endpoint, **kwargs) ``` **Arguments** -- `ws_endpoint` [str] Added in: v1.10# +- `endpoint` [str] Added in: v1.10# A Playwright browser websocket endpoint to connect to. You obtain this endpoint via `BrowserServer.wsEndpoint`. - `expose_network` [str] *(optional)* Added in: v1.37# diff --git a/python/docs/api/class-page.mdx b/python/docs/api/class-page.mdx index 08bce9c7c3..41fb5e4d2d 100644 --- a/python/docs/api/class-page.mdx +++ b/python/docs/api/class-page.mdx @@ -144,7 +144,7 @@ The order of evaluation of multiple scripts installed via [browser_context.add_i Script to be evaluated in all pages in the browser context. Optional. **Returns** -- [NoneType]# +- [Disposable]# --- @@ -1413,7 +1413,7 @@ asyncio.run(main()) Whether to pass the argument as a handle, instead of passing by value. When passing a handle, only one argument is supported. When passing by value, multiple arguments are supported. **Returns** -- [NoneType]# +- [Disposable]# --- @@ -1524,7 +1524,7 @@ asyncio.run(main()) Callback function which will be called in Playwright's context. **Returns** -- [NoneType]# +- [Disposable]# --- @@ -2707,7 +2707,7 @@ Enabling routing disables http cache. How often a route should be used. By default it will be used every time. **Returns** -- [NoneType]# +- [Disposable]# --- diff --git a/python/docs/aria-snapshots.mdx b/python/docs/aria-snapshots.mdx index 5fe52216fb..518171a4a8 100644 --- a/python/docs/aria-snapshots.mdx +++ b/python/docs/aria-snapshots.mdx @@ -248,6 +248,12 @@ Following snapshot will fail due to Feature C not being in the template: - listitem: Feature B ``` +#### Setting `children` mode globally + +Instead of adding a `/children` property to every snapshot, you can set the default children matching mode for all `toMatchAriaSnapshot` calls in the configuration file: + +Individual snapshots can still override the global setting by including an explicit `/children` property in the template. + ### Matching with regular expressions Regular expressions allow flexible matching for elements with dynamic or variable text. Accessible names and text can support regex patterns. diff --git a/python/docs/chrome-extensions.mdx b/python/docs/chrome-extensions.mdx index 552ca7be54..3540be39c4 100644 --- a/python/docs/chrome-extensions.mdx +++ b/python/docs/chrome-extensions.mdx @@ -99,6 +99,49 @@ asyncio.run(main()) +## Service worker idle suspension (MV3) + +Chrome MV3 service workers are automatically suspended after ~30 seconds of inactivity and restarted on demand. When this happens, Playwright keeps the **same [Worker] object alive** — no new `'serviceworker'` event is emitted. New `evaluate()` calls issued during the restart window are stalled until the new context is ready and then resume automatically: + + + + +```py +sw = context.wait_for_event('serviceworker') + +# ... SW suspends after 30 s of inactivity and is restarted by the browser ... + +# The existing handle is transparent across the restart. +sw.evaluate("sendMessage({ type: 'ping' })") # just works +``` + + + + +```py +sw = await context.wait_for_event('serviceworker') + +# ... SW suspends after 30 s of inactivity and is restarted by the browser ... + +# The existing handle is transparent across the restart. +await sw.evaluate("sendMessage({ type: 'ping' })") # just works +``` + + + + +:::note + +`evaluate()` calls that were already in-flight at the exact moment of suspension will throw with `"Service worker restarted"`, matching the behaviour of page navigations mid-flight. +::: + ## Testing To have the extension loaded when running tests you can use a test fixture to set the context. You can also dynamically retrieve the extension id and use it to load and test the popup page for example. diff --git a/python/docs/locators.mdx b/python/docs/locators.mdx index adf5c5300e..b61077ad50 100644 --- a/python/docs/locators.mdx +++ b/python/docs/locators.mdx @@ -1209,14 +1209,14 @@ Method [locator.and_()](/api/class-locator.mdx#locator-and) narrows down an exis ```py -button = page.get_by_role("button").and_(page.getByTitle("Subscribe")) +button = page.get_by_role("button").and_(page.get_by_title("Subscribe")) ``` ```py -button = page.get_by_role("button").and_(page.getByTitle("Subscribe")) +button = page.get_by_role("button").and_(page.get_by_title("Subscribe")) ```