diff --git a/dotnet/docs/api/class-browsercontext.mdx b/dotnet/docs/api/class-browsercontext.mdx index c33587a7fe..45b3d68ebd 100644 --- a/dotnet/docs/api/class-browsercontext.mdx +++ b/dotnet/docs/api/class-browsercontext.mdx @@ -429,7 +429,6 @@ await BrowserContext.GrantPermissionsAsync(permissions, options); * `'notifications'` * `'payment-handler'` * `'storage-access'` - * `'window-management'` - `options` `BrowserContextGrantPermissionsOptions?` *(optional)* - `Origin` [string]? *(optional)*# diff --git a/dotnet/docs/api/class-frame.mdx b/dotnet/docs/api/class-frame.mdx index 3e75c9cbde..1a77f62dc1 100644 --- a/dotnet/docs/api/class-frame.mdx +++ b/dotnet/docs/api/class-frame.mdx @@ -71,7 +71,7 @@ await Frame.AddScriptTagAsync(options); Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `Type` [string]? *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `Url` [string]? *(optional)*# URL of a script to be added. diff --git a/dotnet/docs/api/class-page.mdx b/dotnet/docs/api/class-page.mdx index 60a9397d07..ebf73cd413 100644 --- a/dotnet/docs/api/class-page.mdx +++ b/dotnet/docs/api/class-page.mdx @@ -201,7 +201,7 @@ await Page.AddScriptTagAsync(options); Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `Type` [string]? *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `Url` [string]? *(optional)*# URL of a script to be added. @@ -1095,7 +1095,7 @@ await Expect(Page.GetByTitle("Issues count")).toHaveText("25 issues"); Added in: v1.8page.GoBackAsync -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go back, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go back, returns `null`. Navigate to the previous page in history. @@ -1127,7 +1127,7 @@ await Page.GoBackAsync(options); Added in: v1.8page.GoForwardAsync -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go forward, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go forward, returns `null`. Navigate to the next page in history. diff --git a/dotnet/docs/api/class-pageassertions.mdx b/dotnet/docs/api/class-pageassertions.mdx index 83526a9777..dd84bb11d0 100644 --- a/dotnet/docs/api/class-pageassertions.mdx +++ b/dotnet/docs/api/class-pageassertions.mdx @@ -20,7 +20,7 @@ namespace PlaywrightTests; public class ExampleTests : PageTest { [TestMethod] - public async Task NavigatetoLoginPage() + public async Task NavigateToLoginPage() { await Page.GetByRole(AriaRole.Button, new() { Name = "Sign In" }).ClickAsync(); await Expect(Page).ToHaveURLAsync(new Regex(".*/login")); diff --git a/dotnet/docs/api/class-request.mdx b/dotnet/docs/api/class-request.mdx index c5ed4d184c..b4168dadb1 100644 --- a/dotnet/docs/api/class-request.mdx +++ b/dotnet/docs/api/class-request.mdx @@ -93,7 +93,7 @@ Here is an example that handles all the cases: Added in: v1.15request.HeaderValueAsync -Returns the value of the header matching the name. The name is case insensitive. +Returns the value of the header matching the name. The name is case-insensitive. **Usage** diff --git a/dotnet/docs/api/class-response.mdx b/dotnet/docs/api/class-response.mdx index 726cebe76c..1e946e6648 100644 --- a/dotnet/docs/api/class-response.mdx +++ b/dotnet/docs/api/class-response.mdx @@ -103,7 +103,7 @@ Response.FromServiceWorker Added in: v1.15response.HeaderValueAsync -Returns the value of the header matching the name. The name is case insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. +Returns the value of the header matching the name. The name is case-insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. **Usage** @@ -125,7 +125,7 @@ await Response.HeaderValueAsync(name); Added in: v1.15response.HeaderValuesAsync -Returns all values of the headers matching the name, for example `set-cookie`. The name is case insensitive. +Returns all values of the headers matching the name, for example `set-cookie`. The name is case-insensitive. **Usage** diff --git a/dotnet/docs/auth.mdx b/dotnet/docs/auth.mdx index f862e46b26..dfae689cd9 100644 --- a/dotnet/docs/auth.mdx +++ b/dotnet/docs/auth.mdx @@ -74,7 +74,7 @@ Redoing login for every test can slow down test execution. To mitigate that, reu Playwright provides a way to reuse the signed-in state in the tests. That way you can log in only once and then skip the log in step for all of the tests. -Web apps use cookie-based or token-based authentication, where authenticated state is stored as [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) or in [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage). Playwright provides [BrowserContext.StorageStateAsync()](/api/class-browsercontext.mdx#browser-context-storage-state) method that can be used to retrieve storage state from authenticated contexts and then create new contexts with pre-populated state. +Web apps use cookie-based or token-based authentication, where authenticated state is stored as [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) or in [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage). Playwright provides [BrowserContext.StorageStateAsync()](/api/class-browsercontext.mdx#browser-context-storage-state) method that can be used to retrieve storage state from authenticated contexts and then create new contexts with prepopulated state. Cookies and local storage state can be used across different browsers. They depend on your application's authentication model: some apps might require both cookies and local storage. diff --git a/dotnet/docs/browsers.mdx b/dotnet/docs/browsers.mdx index bb01b73d3c..a7f8f82796 100644 --- a/dotnet/docs/browsers.mdx +++ b/dotnet/docs/browsers.mdx @@ -363,7 +363,7 @@ pwsh bin/Debug/netX/playwright.ps1 install Playwright downloads Chromium, WebKit and Firefox browsers into the OS-specific cache folders: - `%USERPROFILE%\AppData\Local\ms-playwright` on Windows -- `~/Library/Caches/ms-playwright` on MacOS +- `~/Library/Caches/ms-playwright` on macOS - `~/.cache/ms-playwright` on Linux These browsers will take a few hundred megabytes of disk space when installed: diff --git a/dotnet/docs/release-notes.mdx b/dotnet/docs/release-notes.mdx index a9d2730302..bb716469bf 100644 --- a/dotnet/docs/release-notes.mdx +++ b/dotnet/docs/release-notes.mdx @@ -914,7 +914,7 @@ Read more in [our documentation](./test-assertions). - [Locator.HighlightAsync()](/api/class-locator.mdx#locator-highlight) visually reveals element(s) for easier debugging. ### Announcements -- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update MacOS to keep using latest & greatest WebKit! +- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update macOS to keep using latest & greatest WebKit! ### Browser Versions - Chromium 101.0.4921.0 diff --git a/java/docs/accessibility-testing.mdx b/java/docs/accessibility-testing.mdx index 9a8a52378d..0814cc1c81 100644 --- a/java/docs/accessibility-testing.mdx +++ b/java/docs/accessibility-testing.mdx @@ -138,7 +138,7 @@ If the element in question is used repeatedly in many pages, consider [using a t ### Disabling individual scan rules -If your application contains many different pre-existing violations of a specific rule, you can use [`AxeBuilder.disableRules()`](https://github.com/dequelabs/axe-core-maven-html/blob/develop/playwright/README.md#axebuilderdisablerulesliststring-rules) to temporarily disable individual rules until you're able to fix the issues. +If your application contains many different preexisting violations of a specific rule, you can use [`AxeBuilder.disableRules()`](https://github.com/dequelabs/axe-core-maven-html/blob/develop/playwright/README.md#axebuilderdisablerulesliststring-rules) to temporarily disable individual rules until you're able to fix the issues. You can find the rule IDs to pass to `disableRules()` in the `id` property of the violations you want to suppress. A [complete list of axe's rules](https://github.com/dequelabs/axe-core/blob/master/doc/rule-descriptions.md) can be found in `axe-core`'s documentation. diff --git a/java/docs/api/class-browsercontext.mdx b/java/docs/api/class-browsercontext.mdx index 63f6d99a2c..4076e6af1e 100644 --- a/java/docs/api/class-browsercontext.mdx +++ b/java/docs/api/class-browsercontext.mdx @@ -438,7 +438,6 @@ BrowserContext.grantPermissions(permissions, options); * `'notifications'` * `'payment-handler'` * `'storage-access'` - * `'window-management'` - `options` `BrowserContext.GrantPermissionsOptions` *(optional)* - `setOrigin` [String] *(optional)*# diff --git a/java/docs/api/class-frame.mdx b/java/docs/api/class-frame.mdx index 5eb3da7096..80a32e89ae 100644 --- a/java/docs/api/class-frame.mdx +++ b/java/docs/api/class-frame.mdx @@ -69,7 +69,7 @@ Frame.addScriptTag(options); Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `setType` [String] *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `setUrl` [String] *(optional)*# URL of a script to be added. diff --git a/java/docs/api/class-page.mdx b/java/docs/api/class-page.mdx index 8c597cbebe..c3c217db98 100644 --- a/java/docs/api/class-page.mdx +++ b/java/docs/api/class-page.mdx @@ -202,7 +202,7 @@ Page.addScriptTag(options); Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `setType` [String] *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `setUrl` [String] *(optional)*# URL of a script to be added. @@ -1093,7 +1093,7 @@ assertThat(page.getByTitle("Issues count")).hasText("25 issues"); Added in: v1.8page.goBack -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go back, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go back, returns `null`. Navigate to the previous page in history. @@ -1126,7 +1126,7 @@ Page.goBack(options); Added in: v1.8page.goForward -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go forward, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go forward, returns `null`. Navigate to the next page in history. diff --git a/java/docs/api/class-request.mdx b/java/docs/api/class-request.mdx index aaadfab8ed..4befb580b9 100644 --- a/java/docs/api/class-request.mdx +++ b/java/docs/api/class-request.mdx @@ -92,7 +92,7 @@ Here is an example that handles all the cases: Added in: v1.15request.headerValue -Returns the value of the header matching the name. The name is case insensitive. +Returns the value of the header matching the name. The name is case-insensitive. **Usage** diff --git a/java/docs/api/class-response.mdx b/java/docs/api/class-response.mdx index b578b6d3c1..857f48d725 100644 --- a/java/docs/api/class-response.mdx +++ b/java/docs/api/class-response.mdx @@ -103,7 +103,7 @@ Response.fromServiceWorker(); Added in: v1.15response.headerValue -Returns the value of the header matching the name. The name is case insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. +Returns the value of the header matching the name. The name is case-insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. **Usage** @@ -125,7 +125,7 @@ Response.headerValue(name); Added in: v1.15response.headerValues -Returns all values of the headers matching the name, for example `set-cookie`. The name is case insensitive. +Returns all values of the headers matching the name, for example `set-cookie`. The name is case-insensitive. **Usage** diff --git a/java/docs/auth.mdx b/java/docs/auth.mdx index 6dfd6ca676..783b0ebae6 100644 --- a/java/docs/auth.mdx +++ b/java/docs/auth.mdx @@ -75,7 +75,7 @@ Redoing login for every test can slow down test execution. To mitigate that, reu Playwright provides a way to reuse the signed-in state in the tests. That way you can log in only once and then skip the log in step for all of the tests. -Web apps use cookie-based or token-based authentication, where authenticated state is stored as [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) or in [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage). Playwright provides [BrowserContext.storageState()](/api/class-browsercontext.mdx#browser-context-storage-state) method that can be used to retrieve storage state from authenticated contexts and then create new contexts with pre-populated state. +Web apps use cookie-based or token-based authentication, where authenticated state is stored as [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) or in [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage). Playwright provides [BrowserContext.storageState()](/api/class-browsercontext.mdx#browser-context-storage-state) method that can be used to retrieve storage state from authenticated contexts and then create new contexts with prepopulated state. Cookies and local storage state can be used across different browsers. They depend on your application's authentication model: some apps might require both cookies and local storage. diff --git a/java/docs/browsers.mdx b/java/docs/browsers.mdx index 28e120138f..a773971841 100644 --- a/java/docs/browsers.mdx +++ b/java/docs/browsers.mdx @@ -368,7 +368,7 @@ mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="in Playwright downloads Chromium, WebKit and Firefox browsers into the OS-specific cache folders: - `%USERPROFILE%\AppData\Local\ms-playwright` on Windows -- `~/Library/Caches/ms-playwright` on MacOS +- `~/Library/Caches/ms-playwright` on macOS - `~/.cache/ms-playwright` on Linux These browsers will take a few hundred megabytes of disk space when installed: diff --git a/java/docs/release-notes.mdx b/java/docs/release-notes.mdx index 8284d96f01..e66a61b51d 100644 --- a/java/docs/release-notes.mdx +++ b/java/docs/release-notes.mdx @@ -907,7 +907,7 @@ This version was also tested against the following stable channels: - [Locator.highlight()](/api/class-locator.mdx#locator-highlight) visually reveals element(s) for easier debugging. ### Announcements -- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update MacOS to keep using latest & greatest WebKit! +- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update macOS to keep using latest & greatest WebKit! ### Browser Versions - Chromium 101.0.4921.0 diff --git a/nodejs/docs/accessibility-testing.mdx b/nodejs/docs/accessibility-testing.mdx index ca5e45b2ee..c850f30f44 100644 --- a/nodejs/docs/accessibility-testing.mdx +++ b/nodejs/docs/accessibility-testing.mdx @@ -165,7 +165,7 @@ If the element in question is used repeatedly in many pages, consider [using a t ### Disabling individual scan rules -If your application contains many different pre-existing violations of a specific rule, you can use [`AxeBuilder.disableRules()`](https://github.com/dequelabs/axe-core-npm/blob/develop/packages/playwright/README.md#axebuilderdisablerulesrules-stringarray) to temporarily disable individual rules until you're able to fix the issues. +If your application contains many different preexisting violations of a specific rule, you can use [`AxeBuilder.disableRules()`](https://github.com/dequelabs/axe-core-npm/blob/develop/packages/playwright/README.md#axebuilderdisablerulesrules-stringarray) to temporarily disable individual rules until you're able to fix the issues. You can find the rule IDs to pass to `disableRules()` in the `id` property of the violations you want to suppress. A [complete list of axe's rules](https://github.com/dequelabs/axe-core/blob/master/doc/rule-descriptions.md) can be found in `axe-core`'s documentation. @@ -185,7 +185,7 @@ test('should not have any accessibility violations outside of rules with known i ### Using snapshots to allow specific known issues -If you would like to allow for a more granular set of known issues, you can use [Snapshots](./test-snapshots.mdx) to verify that a set of pre-existing violations has not changed. This approach avoids the downsides of using `AxeBuilder.exclude()` at the cost of slightly more complexity and fragility. +If you would like to allow for a more granular set of known issues, you can use [Snapshots](./test-snapshots.mdx) to verify that a set of preexisting violations has not changed. This approach avoids the downsides of using `AxeBuilder.exclude()` at the cost of slightly more complexity and fragility. Do not use a snapshot of the entire `accessibilityScanResults.violations` array. It contains implementation details of the elements in question, such as a snippet of their rendered HTML; if you include these in your snapshots, it will make your tests prone to breaking every time one of the components in question changes for an unrelated reason: diff --git a/nodejs/docs/api/class-browsercontext.mdx b/nodejs/docs/api/class-browsercontext.mdx index 03ddc04ac9..d1ab9dd35e 100644 --- a/nodejs/docs/api/class-browsercontext.mdx +++ b/nodejs/docs/api/class-browsercontext.mdx @@ -432,7 +432,6 @@ await browserContext.grantPermissions(permissions, options); * `'notifications'` * `'payment-handler'` * `'storage-access'` - * `'window-management'` - `options` [Object] *(optional)* - `origin` [string] *(optional)*# diff --git a/nodejs/docs/api/class-frame.mdx b/nodejs/docs/api/class-frame.mdx index 8cb796fc0d..40643528b6 100644 --- a/nodejs/docs/api/class-frame.mdx +++ b/nodejs/docs/api/class-frame.mdx @@ -64,7 +64,7 @@ await frame.addScriptTag(options); Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `type` [string] *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `url` [string] *(optional)*# URL of a script to be added. diff --git a/nodejs/docs/api/class-page.mdx b/nodejs/docs/api/class-page.mdx index 0916c65b4f..b23689a986 100644 --- a/nodejs/docs/api/class-page.mdx +++ b/nodejs/docs/api/class-page.mdx @@ -213,7 +213,7 @@ await page.addScriptTag(options); Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `type` [string] *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `url` [string] *(optional)*# URL of a script to be added. @@ -1081,7 +1081,7 @@ await expect(page.getByTitle('Issues count')).toHaveText('25 issues'); Added in: v1.8page.goBack -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go back, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go back, returns `null`. Navigate to the previous page in history. @@ -1114,7 +1114,7 @@ await page.goBack(options); Added in: v1.8page.goForward -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go forward, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go forward, returns `null`. Navigate to the next page in history. diff --git a/nodejs/docs/api/class-request.mdx b/nodejs/docs/api/class-request.mdx index 5290fde165..1d181137a5 100644 --- a/nodejs/docs/api/class-request.mdx +++ b/nodejs/docs/api/class-request.mdx @@ -104,7 +104,7 @@ else Added in: v1.15request.headerValue -Returns the value of the header matching the name. The name is case insensitive. +Returns the value of the header matching the name. The name is case-insensitive. **Usage** diff --git a/nodejs/docs/api/class-response.mdx b/nodejs/docs/api/class-response.mdx index e68b852ffa..411b2a4962 100644 --- a/nodejs/docs/api/class-response.mdx +++ b/nodejs/docs/api/class-response.mdx @@ -103,7 +103,7 @@ response.fromServiceWorker(); Added in: v1.15response.headerValue -Returns the value of the header matching the name. The name is case insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. +Returns the value of the header matching the name. The name is case-insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. **Usage** @@ -125,7 +125,7 @@ await response.headerValue(name); Added in: v1.15response.headerValues -Returns all values of the headers matching the name, for example `set-cookie`. The name is case insensitive. +Returns all values of the headers matching the name, for example `set-cookie`. The name is case-insensitive. **Usage** diff --git a/nodejs/docs/api/class-testoptions.mdx b/nodejs/docs/api/class-testoptions.mdx index b6515e77e2..184faa19ea 100644 --- a/nodejs/docs/api/class-testoptions.mdx +++ b/nodejs/docs/api/class-testoptions.mdx @@ -224,7 +224,7 @@ export default defineConfig({ certs: [{ certPath: './cert.pem', keyPath: './key.pem', - passphase: 'mysecretpassword', + passphrase: 'mysecretpassword', }], }], }, diff --git a/nodejs/docs/best-practices.mdx b/nodejs/docs/best-practices.mdx index 484d43a940..0b659a25d9 100644 --- a/nodejs/docs/best-practices.mdx +++ b/nodejs/docs/best-practices.mdx @@ -46,7 +46,7 @@ You can also reuse the signed-in state in the tests with [setup project](./auth. ### Avoid testing third-party dependencies -Only test what you control. Don't try to test links to external sites or third party servers that you do not control. Not only is it time consuming and can slow down your tests but also you can not control the content of the page you are linking to, or if there are cookie banners or overlay pages or anything else that might cause your test to fail. +Only test what you control. Don't try to test links to external sites or third party servers that you do not control. Not only is it time consuming and can slow down your tests but also you cannot control the content of the page you are linking to, or if there are cookie banners or overlay pages or anything else that might cause your test to fail. Instead, use the [Playwright Network API](/network.mdx#handle-requests) and guarantee the response needed. @@ -218,7 +218,7 @@ Playwright comes with a range of tooling to help you write tests. - The [test generator](./codegen.mdx) can generate tests and pick locators for you. - The [trace viewer](./trace-viewer.mdx) gives you a full trace of your tests as a local PWA that can easily be shared. With the trace viewer you can view the timeline, inspect DOM snapshots for each action, view network requests and more. - The [UI Mode](./test-ui-mode) lets you explore, run and debug tests with a time travel experience complete with watch mode. All test files are loaded into the testing sidebar where you can expand each file and describe block to individually run, view, watch and debug each test. -- [Typescript](./test-typescript) in Playwright works out of the box and gives you better IDE integrations. Your IDE will show you everything you can do and highlight when you do something wrong. No TypeScript experience is needed and it is not necessary for your code to be in TypeScript, all you need to do is create your tests with a `.ts` extension. +- [TypeScript](./test-typescript) in Playwright works out of the box and gives you better IDE integrations. Your IDE will show you everything you can do and highlight when you do something wrong. No TypeScript experience is needed and it is not necessary for your code to be in TypeScript, all you need to do is create your tests with a `.ts` extension. ### Test across all browsers diff --git a/nodejs/docs/browsers.mdx b/nodejs/docs/browsers.mdx index 765094d9d4..1f505207e7 100644 --- a/nodejs/docs/browsers.mdx +++ b/nodejs/docs/browsers.mdx @@ -425,7 +425,7 @@ npx playwright install Playwright downloads Chromium, WebKit and Firefox browsers into the OS-specific cache folders: - `%USERPROFILE%\AppData\Local\ms-playwright` on Windows -- `~/Library/Caches/ms-playwright` on MacOS +- `~/Library/Caches/ms-playwright` on macOS - `~/.cache/ms-playwright` on Linux These browsers will take a few hundred megabytes of disk space when installed: diff --git a/nodejs/docs/ci-intro.mdx b/nodejs/docs/ci-intro.mdx index 62b008ad81..d6f4738716 100644 --- a/nodejs/docs/ci-intro.mdx +++ b/nodejs/docs/ci-intro.mdx @@ -75,7 +75,7 @@ jobs: name: 'Playwright Tests' runs-on: ubuntu-latest container: - image: mcr.microsoft.com/playwright:v1.45.2-jammy + image: mcr.microsoft.com/playwright:v1.45.3-jammy steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/nodejs/docs/ci.mdx b/nodejs/docs/ci.mdx index e1826b595c..3ad2d299d1 100644 --- a/nodejs/docs/ci.mdx +++ b/nodejs/docs/ci.mdx @@ -206,7 +206,7 @@ trigger: pool: vmImage: ubuntu-latest -container: mcr.microsoft.com/playwright:v1.45.2-jammy +container: mcr.microsoft.com/playwright:v1.45.3-jammy steps: - task: NodeTool@0 @@ -230,7 +230,7 @@ Running Playwright on CircleCI is very similar to running on GitHub Actions. In executors: pw-jammy-development: docker: - - image: mcr.microsoft.com/playwright:v1.45.2-jammy + - image: mcr.microsoft.com/playwright:v1.45.3-jammy ``` Note: When using the docker agent definition, you are specifying the resource class of where playwright runs to the 'medium' tier [here](https://circleci.com/docs/configuration-reference?#docker-execution-environment). The default behavior of Playwright is to set the number of workers to the detected core count (2 in the case of the medium tier). Overriding the number of workers to greater than this number will cause unnecessary timeouts and failures. @@ -253,7 +253,7 @@ Jenkins supports Docker agents for pipelines. Use the [Playwright Docker image]( ```groovy pipeline { - agent { docker { image 'mcr.microsoft.com/playwright:v1.45.2-jammy' } } + agent { docker { image 'mcr.microsoft.com/playwright:v1.45.3-jammy' } } stages { stage('e2e-tests') { steps { @@ -270,7 +270,7 @@ pipeline { Bitbucket Pipelines can use public [Docker images as build environments](https://confluence.atlassian.com/bitbucket/use-docker-images-as-build-environments-792298897.html). To run Playwright tests on Bitbucket, use our public Docker image ([see Dockerfile](./docker.mdx)). ```yml -image: mcr.microsoft.com/playwright:v1.45.2-jammy +image: mcr.microsoft.com/playwright:v1.45.3-jammy ``` ### GitLab CI @@ -283,7 +283,7 @@ stages: tests: stage: test - image: mcr.microsoft.com/playwright:v1.45.2-jammy + image: mcr.microsoft.com/playwright:v1.45.3-jammy script: ... ``` @@ -298,7 +298,7 @@ stages: tests: stage: test - image: mcr.microsoft.com/playwright:v1.45.2-jammy + image: mcr.microsoft.com/playwright:v1.45.3-jammy parallel: 7 script: - npm ci @@ -313,7 +313,7 @@ stages: tests: stage: test - image: mcr.microsoft.com/playwright:v1.45.2-jammy + image: mcr.microsoft.com/playwright:v1.45.3-jammy parallel: matrix: - PROJECT: ['chromium', 'webkit'] @@ -329,7 +329,7 @@ To run Playwright tests on Google Cloud Build, use our public Docker image ([see ```yml steps: -- name: mcr.microsoft.com/playwright:v1.45.2-jammy +- name: mcr.microsoft.com/playwright:v1.45.3-jammy script: ... env: @@ -347,7 +347,7 @@ type: docker steps: - name: test - image: mcr.microsoft.com/playwright:v1.45.2-jammy + image: mcr.microsoft.com/playwright:v1.45.3-jammy commands: - npx playwright test ``` diff --git a/nodejs/docs/docker.mdx b/nodejs/docs/docker.mdx index 6688d00c8b..6cceea5cd2 100644 --- a/nodejs/docs/docker.mdx +++ b/nodejs/docs/docker.mdx @@ -21,7 +21,7 @@ This Docker image is intended to be used for testing and development purposes on ### Pull the image ```bash -docker pull mcr.microsoft.com/playwright:v1.45.2-jammy +docker pull mcr.microsoft.com/playwright:v1.45.3-jammy ``` ### Run the image @@ -33,7 +33,7 @@ By default, the Docker image will use the `root` user to run the browsers. This On trusted websites, you can avoid creating a separate user and use root for it since you trust the code which will run on the browsers. ```bash -docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.45.2-jammy /bin/bash +docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.45.3-jammy /bin/bash ``` #### Crawling and scraping @@ -41,7 +41,7 @@ docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.45.2-jammy /bin/b On untrusted websites, it's recommended to use a separate user for launching the browsers in combination with the seccomp profile. Inside the container or if you are using the Docker image as a base image you have to use `adduser` for it. ```bash -docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright:v1.45.2-jammy /bin/bash +docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright:v1.45.3-jammy /bin/bash ``` [`seccomp_profile.json`](https://github.com/microsoft/playwright/blob/main/utils/docker/seccomp_profile.json) is needed to run Chromium with sandbox. This is a [default Docker seccomp profile](https://github.com/docker/engine/blob/d0d99b04cf6e00ed3fc27e81fc3d94e7eda70af3/profiles/seccomp/default.json) with extra user namespace cloning permissions: @@ -76,10 +76,10 @@ See [all available image tags]. We currently publish images with the following tags: - `:next` - tip-of-tree image version based on Ubuntu 22.04 LTS (Jammy Jellyfish). - `:next-jammy` - tip-of-tree image version based on Ubuntu 22.04 LTS (Jammy Jellyfish). -- `:v1.45.2` - Playwright v1.45.2 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish). -- `:v1.45.2-noble` - Playwright v1.45.2 release docker image based on Ubuntu 24.04 LTS (Noble Numbat). -- `:v1.45.2-jammy` - Playwright v1.45.2 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish). -- `:v1.45.2-focal` - Playwright v1.45.2 release docker image based on Ubuntu 20.04 LTS (Focal Fossa). +- `:v1.45.3` - Playwright v1.45.3 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish). +- `:v1.45.3-noble` - Playwright v1.45.3 release docker image based on Ubuntu 24.04 LTS (Noble Numbat). +- `:v1.45.3-jammy` - Playwright v1.45.3 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish). +- `:v1.45.3-focal` - Playwright v1.45.3 release docker image based on Ubuntu 20.04 LTS (Focal Fossa). :::note It is recommended to always pin your Docker image to a specific version if possible. If the Playwright version in your Docker image does not match the version in your project/tests, Playwright will be unable to locate browser executables. @@ -103,7 +103,7 @@ To run Playwright inside Docker, you need to have Node.js, [Playwright browsers] ```Dockerfile FROM node:20-bookworm -RUN npx -y playwright@1.45.2 install --with-deps +RUN npx -y playwright@1.45.3 install --with-deps ``` diff --git a/nodejs/docs/release-notes.mdx b/nodejs/docs/release-notes.mdx index ad085844a4..8c44ef5eb5 100644 --- a/nodejs/docs/release-notes.mdx +++ b/nodejs/docs/release-notes.mdx @@ -1647,7 +1647,7 @@ This version was also tested against the following stable channels: ### Announcements - We now ship a designated Python docker image `mcr.microsoft.com/playwright/python`. Please switch over to it if you use Python. This is the last release that includes Python inside our javascript `mcr.microsoft.com/playwright` docker image. -- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update MacOS to keep using latest & greatest WebKit! +- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update macOS to keep using latest & greatest WebKit! ### Browser Versions - Chromium 101.0.4921.0 diff --git a/nodejs/docs/service-workers-experimental-network-events.mdx b/nodejs/docs/service-workers-experimental-network-events.mdx index 183e2daff1..b73aced5b3 100644 --- a/nodejs/docs/service-workers-experimental-network-events.mdx +++ b/nodejs/docs/service-workers-experimental-network-events.mdx @@ -24,7 +24,7 @@ Playwright's inspection and routing of requests made by Service Workers are **ex Set the `PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS` environment variable to `1` (or any other value) to enable the feature. Only Chrome/Chromium are currently supported. -If you're using (or are interested in using this this feature), please comment on [this issue](https://github.com/microsoft/playwright/issues/15684) letting us know your use case. +If you're using (or are interested in using this feature), please comment on [this issue](https://github.com/microsoft/playwright/issues/15684) letting us know your use case. ## Service Worker Fetch diff --git a/python/docs/api/class-browsercontext.mdx b/python/docs/api/class-browsercontext.mdx index 0584e36750..fb4022a19c 100644 --- a/python/docs/api/class-browsercontext.mdx +++ b/python/docs/api/class-browsercontext.mdx @@ -703,7 +703,6 @@ browser_context.grant_permissions(permissions, **kwargs) * `'notifications'` * `'payment-handler'` * `'storage-access'` - * `'window-management'` - `origin` [str] *(optional)*# The [origin] to grant permissions to, e.g. "https://example.com". diff --git a/python/docs/api/class-frame.mdx b/python/docs/api/class-frame.mdx index 265d6288c3..2c1b93b9db 100644 --- a/python/docs/api/class-frame.mdx +++ b/python/docs/api/class-frame.mdx @@ -104,7 +104,7 @@ frame.add_script_tag(**kwargs) Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `type` [str] *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `url` [str] *(optional)*# URL of a script to be added. diff --git a/python/docs/api/class-page.mdx b/python/docs/api/class-page.mdx index 0240df8082..bf6502ca91 100644 --- a/python/docs/api/class-page.mdx +++ b/python/docs/api/class-page.mdx @@ -360,7 +360,7 @@ page.add_script_tag(**kwargs) Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative to the current working directory. - `type` [str] *(optional)*# - Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. + Script type. Use 'module' in order to load a JavaScript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details. - `url` [str] *(optional)*# URL of a script to be added. @@ -2016,7 +2016,7 @@ await expect(page.get_by_title("Issues count")).to_have_text("25 issues") Added in: v1.8page.go_back -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go back, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go back, returns `null`. Navigate to the previous page in history. @@ -2048,7 +2048,7 @@ page.go_back(**kwargs) Added in: v1.8page.go_forward -Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If can not go forward, returns `null`. +Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the last redirect. If cannot go forward, returns `null`. Navigate to the next page in history. diff --git a/python/docs/api/class-request.mdx b/python/docs/api/class-request.mdx index 01eda69b1c..7d5e2b8348 100644 --- a/python/docs/api/class-request.mdx +++ b/python/docs/api/class-request.mdx @@ -46,7 +46,7 @@ request.all_headers() Added in: v1.15request.header_value -Returns the value of the header matching the name. The name is case insensitive. +Returns the value of the header matching the name. The name is case-insensitive. **Usage** diff --git a/python/docs/api/class-response.mdx b/python/docs/api/class-response.mdx index 825e4ebb32..d6be0d9658 100644 --- a/python/docs/api/class-response.mdx +++ b/python/docs/api/class-response.mdx @@ -69,7 +69,7 @@ response.finished() Added in: v1.15response.header_value -Returns the value of the header matching the name. The name is case insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. +Returns the value of the header matching the name. The name is case-insensitive. If multiple headers have the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned. **Usage** @@ -91,7 +91,7 @@ response.header_value(name) Added in: v1.15response.header_values -Returns all values of the headers matching the name, for example `set-cookie`. The name is case insensitive. +Returns all values of the headers matching the name, for example `set-cookie`. The name is case-insensitive. **Usage** diff --git a/python/docs/auth.mdx b/python/docs/auth.mdx index 29a43e74f8..9dd897b52c 100644 --- a/python/docs/auth.mdx +++ b/python/docs/auth.mdx @@ -102,7 +102,7 @@ Redoing login for every test can slow down test execution. To mitigate that, reu Playwright provides a way to reuse the signed-in state in the tests. That way you can log in only once and then skip the log in step for all of the tests. -Web apps use cookie-based or token-based authentication, where authenticated state is stored as [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) or in [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage). Playwright provides [browser_context.storage_state()](/api/class-browsercontext.mdx#browser-context-storage-state) method that can be used to retrieve storage state from authenticated contexts and then create new contexts with pre-populated state. +Web apps use cookie-based or token-based authentication, where authenticated state is stored as [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) or in [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage). Playwright provides [browser_context.storage_state()](/api/class-browsercontext.mdx#browser-context-storage-state) method that can be used to retrieve storage state from authenticated contexts and then create new contexts with prepopulated state. Cookies and local storage state can be used across different browsers. They depend on your application's authentication model: some apps might require both cookies and local storage. diff --git a/python/docs/browsers.mdx b/python/docs/browsers.mdx index 845de48a1b..96b8d8d393 100644 --- a/python/docs/browsers.mdx +++ b/python/docs/browsers.mdx @@ -352,7 +352,7 @@ playwright install Playwright downloads Chromium, WebKit and Firefox browsers into the OS-specific cache folders: - `%USERPROFILE%\AppData\Local\ms-playwright` on Windows -- `~/Library/Caches/ms-playwright` on MacOS +- `~/Library/Caches/ms-playwright` on macOS - `~/.cache/ms-playwright` on Linux These browsers will take a few hundred megabytes of disk space when installed: diff --git a/python/docs/release-notes.mdx b/python/docs/release-notes.mdx index c8a1859789..fa2c78fdeb 100644 --- a/python/docs/release-notes.mdx +++ b/python/docs/release-notes.mdx @@ -969,7 +969,7 @@ This version was also tested against the following stable channels: ### Announcements - We now ship a designated Python docker image `mcr.microsoft.com/playwright/python`. Please switch over to it if you use Python. This is the last release that includes Python inside our javascript `mcr.microsoft.com/playwright` docker image. -- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update MacOS to keep using latest & greatest WebKit! +- v1.20 is the last release to receive WebKit update for macOS 10.15 Catalina. Please update macOS to keep using latest & greatest WebKit! ### Browser Versions - Chromium 101.0.4921.0