mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00

Drive-by: - backport removal of toHaveScreenshot from release 1.20 - change webkit 10.15 announcement
548 lines
20 KiB
Markdown
548 lines
20 KiB
Markdown
---
|
|
id: release-notes
|
|
title: "Release notes"
|
|
---
|
|
|
|
<!-- TOC -->
|
|
|
|
## Version 1.20
|
|
|
|
### Highlights
|
|
|
|
- New options for methods [`method: Page.screenshot`], [`method: Locator.screenshot`] and [`method: ElementHandle.screenshot`]:
|
|
* Option `ScreenshotAnimations.DISABLED` rewinds all CSS animations and transitions to a consistent state
|
|
* Option `mask: Locator[]` masks given elements, overlaying them with pink `#FF00FF` boxes.
|
|
- [Trace Viewer](./trace-viewer) now shows [API testing requests](./src/test-api-testing).
|
|
- [`method: 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!
|
|
|
|
### Browser Versions
|
|
|
|
- Chromium 101.0.4921.0
|
|
- Mozilla Firefox 97.0.1
|
|
- WebKit 15.4
|
|
|
|
This version was also tested against the following stable channels:
|
|
|
|
- Google Chrome 99
|
|
- Microsoft Edge 99
|
|
|
|
|
|
## Version 1.19
|
|
|
|
### Highlights
|
|
|
|
- Locator now supports a `has` option that makes sure it contains another locator inside:
|
|
|
|
```java
|
|
page.locator("article", new Page.LocatorOptions().setHas(page.locator(".highlight"))).click();
|
|
```
|
|
|
|
Read more in [locator documentation](./api/class-locator#locator-locator-option-has)
|
|
|
|
- New [`method: Locator.page`]
|
|
- [`method: Page.screenshot`] and [`method: Locator.screenshot`] now automatically hide blinking caret
|
|
- Playwright Codegen now generates locators and frame locators
|
|
|
|
### Browser Versions
|
|
|
|
- Chromium 100.0.4863.0
|
|
- Mozilla Firefox 96.0.1
|
|
- WebKit 15.4
|
|
|
|
This version was also tested against the following stable channels:
|
|
|
|
- Google Chrome 98
|
|
- Microsoft Edge 98
|
|
|
|
## Version 1.18
|
|
|
|
### API Testing
|
|
|
|
Playwright for Java 1.18 introduces new [API Testing](./api/class-apirequestcontext) that lets you send requests to the server directly from Java!
|
|
Now you can:
|
|
|
|
- test your server API
|
|
- prepare server side state before visiting the web application in a test
|
|
- validate server side post-conditions after running some actions in the browser
|
|
|
|
To do a request on behalf of Playwright's Page, use **new [`property: Page.request`] API**:
|
|
|
|
```java
|
|
// Do a GET request on behalf of page
|
|
APIResponse res = page.request().get("http://example.com/foo.json");
|
|
```
|
|
|
|
Read more about it in our [API testing guide](./api-testing).
|
|
|
|
### Web-First Assertions
|
|
|
|
Playwright for Java 1.18 introduces [Web-First Assertions](./test-assertions).
|
|
|
|
Consider the following example:
|
|
|
|
```java
|
|
...
|
|
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
|
|
|
|
public class TestExample {
|
|
...
|
|
@Test
|
|
void statusBecomesSubmitted() {
|
|
...
|
|
page.click("#submit-button");
|
|
assertThat(page.locator(".status")).hasText("Submitted");
|
|
}
|
|
}
|
|
```
|
|
|
|
Playwright will be re-testing the node with the selector `.status` until
|
|
fetched Node has the `"Submitted"` text. It will be re-fetching the node and
|
|
checking it over and over, until the condition is met or until the timeout is
|
|
reached. You can pass this timeout as an option.
|
|
|
|
Read more in [our documentation](./test-assertions).
|
|
|
|
### Locator Improvements
|
|
|
|
- [`method: Locator.dragTo`]
|
|
- Each locator can now be optionally filtered by the text it contains:
|
|
```java
|
|
page.locator("li", new Page.LocatorOptions().setHasText("my item"))
|
|
.locator("button").click();
|
|
```
|
|
Read more in [locator documentation](./api/class-locator#locator-locator-option-has-text)
|
|
|
|
### Tracing Improvements
|
|
|
|
[Tracing](./api/class-tracing.md) now can embed Java sources to recorded
|
|
traces, using new [`setSources`](./api/class-tracing#tracing-start-option-sources) option.
|
|
|
|

|
|
|
|
### New APIs & changes
|
|
|
|
- [`acceptDownloads`](./api/class-browser#browser-new-context-option-accept-downloads) option now defaults to `true`.
|
|
|
|
|
|
|
|
### Browser Versions
|
|
|
|
- Chromium 99.0.4812.0
|
|
- Mozilla Firefox 95.0
|
|
- WebKit 15.4
|
|
|
|
This version was also tested against the following stable channels:
|
|
|
|
- Google Chrome 97
|
|
- Microsoft Edge 97
|
|
|
|
|
|
|
|
## Version 1.17
|
|
|
|
### Frame Locators
|
|
|
|
Playwright 1.17 introduces [frame locators](./api/class-framelocator) - a locator to the iframe on the page. Frame locators capture the logic sufficient to retrieve the `iframe` and then locate elements in that iframe. Frame locators are strict by default, will wait for `iframe` to appear and can be used in Web-First assertions.
|
|
|
|

|
|
|
|
Frame locators can be created with either [`method: Page.frameLocator`] or [`method: Locator.frameLocator`] method.
|
|
|
|
```java
|
|
Locator locator = page.frameLocator("#my-frame").locator("text=Submit");
|
|
locator.click();
|
|
```
|
|
|
|
Read more at [our documentation](./api/class-framelocator).
|
|
|
|
### Trace Viewer Update
|
|
|
|
Playwright Trace Viewer is now **available online** at https://trace.playwright.dev! Just drag-and-drop your `trace.zip` file to inspect its contents.
|
|
|
|
> **NOTE**: trace files are not uploaded anywhere; [trace.playwright.dev](https://trace.playwright.dev) is a [progressive web application](https://web.dev/progressive-web-apps/) that processes traces locally.
|
|
|
|
- Playwright Test traces now include sources by default (these could be turned off with tracing option)
|
|
- Trace Viewer now shows test name
|
|
- New trace metadata tab with browser details
|
|
- Snapshots now have URL bar
|
|
|
|

|
|
|
|
### HTML Report Update
|
|
|
|
- HTML report now supports dynamic filtering
|
|
- Report is now a **single static HTML file** that could be sent by e-mail or as a slack attachment.
|
|
|
|

|
|
|
|
### Ubuntu ARM64 support + more
|
|
|
|
- Playwright now supports **Ubuntu 20.04 ARM64**. You can now run Playwright tests inside Docker on Apple M1 and on Raspberry Pi.
|
|
- You can now use Playwright to install stable version of Edge on Linux:
|
|
```bash
|
|
mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="install msedge"
|
|
```
|
|
|
|
|
|
### New APIs
|
|
|
|
- Tracing now supports a [`'title'`](./api/class-tracing#tracing-start-option-title) option
|
|
- Page navigations support a new [`'commit'`](./api/class-page#page-goto) waiting option
|
|
|
|
## Version 1.16
|
|
|
|
### 🎭 Playwright Library
|
|
|
|
#### Locator.waitFor
|
|
|
|
Wait for a locator to resolve to a single element with a given state.
|
|
Defaults to the `state: 'visible'`.
|
|
|
|
```java
|
|
Locator orderSent = page.locator("#order-sent");
|
|
orderSent.waitFor();
|
|
```
|
|
|
|
Read more about [`method: Locator.waitFor`].
|
|
|
|
### 🎭 Playwright Trace Viewer
|
|
|
|
- run trace viewer with `mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="show-trace"` and drop trace files to the trace viewer PWA
|
|
- better visual attribution of action targets
|
|
|
|
Read more about [Trace Viewer](./trace-viewer).
|
|
|
|
### Browser Versions
|
|
|
|
- Chromium 97.0.4666.0
|
|
- Mozilla Firefox 93.0
|
|
- WebKit 15.4
|
|
|
|
This version of Playwright was also tested against the following stable channels:
|
|
|
|
- Google Chrome 94
|
|
- Microsoft Edge 94
|
|
|
|
## Version 1.15
|
|
|
|
### 🖱️ Mouse Wheel
|
|
|
|
By using [`Mouse.wheel`](https://playwright.dev/java/docs/api/class-mouse#mouse-wheel) you are now able to scroll vertically or horizontally.
|
|
|
|
### 📜 New Headers API
|
|
|
|
Previously it was not possible to get multiple header values of a response. This is now possible and additional helper functions are available:
|
|
|
|
- [Request.allHeaders()](https://playwright.dev/java/docs/api/class-request#request-all-headers)
|
|
- [Request.headersArray()](https://playwright.dev/java/docs/api/class-request#request-headers-array)
|
|
- [Request.headerValue(name: string)](https://playwright.dev/java/docs/api/class-request#request-header-value)
|
|
- [Response.allHeaders()](https://playwright.dev/java/docs/api/class-response#response-all-headers)
|
|
- [Response.headersArray()](https://playwright.dev/java/docs/api/class-response#response-headers-array)
|
|
- [Response.headerValue(name: string)](https://playwright.dev/java/docs/api/class-response#response-header-value)
|
|
- [Response.headerValues(name: string)](https://playwright.dev/java/docs/api/class-response/#response-header-values)
|
|
|
|
### 🌈 Forced-Colors emulation
|
|
|
|
Its now possible to emulate the `forced-colors` CSS media feature by passing it in the [context options](https://playwright.dev/java/docs/api/class-browser#browser-new-context-option-color-scheme) or calling [Page.emulateMedia()](https://playwright.dev/java/docs/api/class-page#page-emulate-media).
|
|
|
|
### New APIs
|
|
|
|
- [Page.route()](https://playwright.dev/java/docs/api/class-page#page-route) accepts new `times` option to specify how many times this route should be matched.
|
|
- [Page.setChecked(selector: string, checked: boolean)](https://playwright.dev/java/docs/api/class-page#page-set-checked) and [Locator.setChecked(selector: string, checked: boolean)](https://playwright.dev/java/docs/api/class-locator#locator-set-checked) was introduced to set the checked state of a checkbox.
|
|
- [Request.sizes()](https://playwright.dev/java/docs/api/class-request#request-sizes) Returns resource size information for given http request.
|
|
- [Tracing.startChunk()](https://playwright.dev/java/docs/api/class-tracing#tracing-start-chunk) - Start a new trace chunk.
|
|
- [Tracing.stopChunk()](https://playwright.dev/java/docs/api/class-tracing#tracing-stop-chunk) - Stops a new trace chunk.
|
|
|
|
### Browser Versions
|
|
|
|
- Chromium 96.0.4641.0
|
|
- Mozilla Firefox 92.0
|
|
- WebKit 15.0
|
|
|
|
## Version 1.14
|
|
|
|
#### ⚡️ New "strict" mode
|
|
|
|
Selector ambiguity is a common problem in automation testing. **"strict" mode**
|
|
ensures that your selector points to a single element and throws otherwise.
|
|
|
|
Set `setStrict(true)` in your action calls to opt in.
|
|
|
|
```java
|
|
// This will throw if you have more than one button!
|
|
page.click("button", new Page.ClickOptions().setStrict(true));
|
|
```
|
|
|
|
#### 📍 New [**Locators API**](./api/class-locator)
|
|
|
|
Locator represents a view to the element(s) on the page. It captures the logic sufficient to retrieve the element at any given moment.
|
|
|
|
The difference between the [Locator](./api/class-locator) and [ElementHandle](./api/class-elementhandle) is that the latter points to a particular element, while [Locator](./api/class-locator) captures the logic of how to retrieve that element.
|
|
|
|
Also, locators are **"strict" by default**!
|
|
|
|
```java
|
|
Locator locator = page.locator("button");
|
|
locator.click();
|
|
```
|
|
|
|
Learn more in the [documentation](./api/class-locator).
|
|
|
|
#### 🧩 Experimental [**React**](./selectors#react-selectors) and [**Vue**](./selectors#vue-selectors) selector engines
|
|
|
|
React and Vue selectors allow selecting elements by its component name and/or property values. The syntax is very similar to [attribute selectors](https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors) and supports all attribute selector operators.
|
|
|
|
```java
|
|
page.click("_react=SubmitButton[enabled=true]");
|
|
page.click("_vue=submit-button[enabled=true]");
|
|
```
|
|
|
|
Learn more in the [react selectors documentation](./selectors#react-selectors) and the [vue selectors documentation](./selectors#vue-selectors).
|
|
|
|
#### ✨ New [**`nth`**](./selectors#n-th-element-selector) and [**`visible`**](./selectors#selecting-visible-elements) selector engines
|
|
|
|
- [`nth`](./selectors#n-th-element-selector) selector engine is equivalent to the `:nth-match` pseudo class, but could be combined with other selector engines.
|
|
- [`visible`](./selectors#selecting-visible-elements) selector engine is equivalent to the `:visible` pseudo class, but could be combined with other selector engines.
|
|
|
|
```java
|
|
// select the first button among all buttons
|
|
button.click("button >> nth=0");
|
|
// or if you are using locators, you can use first(), nth() and last()
|
|
page.locator("button").first().click();
|
|
|
|
// click a visible button
|
|
button.click("button >> visible=true");
|
|
```
|
|
|
|
### Browser Versions
|
|
|
|
- Chromium 94.0.4595.0
|
|
- Mozilla Firefox 91.0
|
|
- WebKit 15.0
|
|
|
|
|
|
## Version 1.13
|
|
|
|
#### Playwright
|
|
|
|
- **🖖 Programmatic drag-and-drop support** via the [`method: Page.dragAndDrop`] API.
|
|
- **🔎 Enhanced HAR** with body sizes for requests and responses. Use via `recordHar` option in [`method: Browser.newContext`].
|
|
|
|
#### Tools
|
|
|
|
- Playwright Trace Viewer now shows parameters, returned values and `console.log()` calls.
|
|
|
|
#### New and Overhauled Guides
|
|
|
|
- [Intro](./intro.md)
|
|
- [Authentication](./auth.md)
|
|
|
|
#### Browser Versions
|
|
|
|
- Chromium 93.0.4576.0
|
|
- Mozilla Firefox 90.0
|
|
- WebKit 14.2
|
|
|
|
#### New Playwright APIs
|
|
|
|
- new `baseURL` option in [`method: Browser.newContext`] and [`method: Browser.newPage`]
|
|
- [`method: Response.securityDetails`] and [`method: Response.serverAddr`]
|
|
- [`method: Page.dragAndDrop`] and [`method: Frame.dragAndDrop`]
|
|
- [`method: Download.cancel`]
|
|
- [`method: Page.inputValue`], [`method: Frame.inputValue`] and [`method: ElementHandle.inputValue`]
|
|
- new `force` option in [`method: Page.fill`], [`method: Frame.fill`], and [`method: ElementHandle.fill`]
|
|
- new `force` option in [`method: Page.selectOption`], [`method: Frame.selectOption`], and [`method: ElementHandle.selectOption`]
|
|
|
|
## Version 1.12
|
|
|
|
#### 🧟♂️ Introducing Playwright Trace Viewer
|
|
|
|
[Playwright Trace Viewer](./trace-viewer.md) is a new GUI tool that helps exploring recorded Playwright traces after the script ran. Playwright traces let you examine:
|
|
- page DOM before and after each Playwright action
|
|
- page rendering before and after each Playwright action
|
|
- browser network during script execution
|
|
|
|
Traces are recorded using the new [`property: BrowserContext.tracing`] API:
|
|
|
|
```java
|
|
Browser browser = chromium.launch();
|
|
BrowserContext context = browser.newContext();
|
|
|
|
// Start tracing before creating / navigating a page.
|
|
context.tracing.start(new Tracing.StartOptions()
|
|
.setScreenshots(true)
|
|
.setSnapshots(true);
|
|
|
|
Page page = context.newPage();
|
|
page.goto("https://playwright.dev");
|
|
|
|
// Stop tracing and export it into a zip archive.
|
|
context.tracing.stop(new Tracing.StopOptions()
|
|
.setPath(Paths.get("trace.zip")));
|
|
```
|
|
|
|
Traces are examined later with the Playwright CLI:
|
|
|
|
|
|
```sh
|
|
mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="show-trace trace.zip"
|
|
```
|
|
|
|
That will open the following GUI:
|
|
|
|

|
|
|
|
👉 Read more in [trace viewer documentation](./trace-viewer.md).
|
|
|
|
|
|
#### Browser Versions
|
|
|
|
- Chromium 93.0.4530.0
|
|
- Mozilla Firefox 89.0
|
|
- WebKit 14.2
|
|
|
|
This version of Playwright was also tested against the following stable channels:
|
|
|
|
- Google Chrome 91
|
|
- Microsoft Edge 91
|
|
|
|
#### New APIs
|
|
|
|
- `reducedMotion` option in [`method: Page.emulateMedia`], [`method: BrowserType.launchPersistentContext`], [`method: Browser.newContext`] and [`method: Browser.newPage`]
|
|
- [`event: BrowserContext.request`]
|
|
- [`event: BrowserContext.requestFailed`]
|
|
- [`event: BrowserContext.requestFinished`]
|
|
- [`event: BrowserContext.response`]
|
|
- `tracesDir` option in [`method: BrowserType.launch`] and [`method: BrowserType.launchPersistentContext`]
|
|
- new [`property: BrowserContext.tracing`] API namespace
|
|
- new [`method: Download.page`] method
|
|
|
|
## Version 1.11
|
|
|
|
🎥 New video: [Playwright: A New Test Automation Framework for the Modern Web](https://youtu.be/_Jla6DyuEu4) ([slides](https://docs.google.com/presentation/d/1xFhZIJrdHkVe2CuMKOrni92HoG2SWslo0DhJJQMR1DI/edit?usp=sharing))
|
|
- We talked about Playwright
|
|
- Showed engineering work behind the scenes
|
|
- Did live demos with new features ✨
|
|
- **Special thanks** to [applitools](http://applitools.com/) for hosting the event and inviting us!
|
|
|
|
#### Browser Versions
|
|
|
|
- Chromium 92.0.4498.0
|
|
- Mozilla Firefox 89.0b6
|
|
- WebKit 14.2
|
|
|
|
#### New APIs
|
|
|
|
- support for **async predicates** across the API in methods such as [`method: Page.waitForRequest`] and others
|
|
- new **emulation devices**: Galaxy S8, Galaxy S9+, Galaxy Tab S4, Pixel 3, Pixel 4
|
|
- new methods:
|
|
* [`method: Page.waitForURL`] to await navigations to URL
|
|
* [`method: Video.delete`] and [`method: Video.saveAs`] to manage screen recording
|
|
- new options:
|
|
* `screen` option in the [`method: Browser.newContext`] method to emulate `window.screen` dimensions
|
|
* `position` option in [`method: Page.check`] and [`method: Page.uncheck`] methods
|
|
* `trial` option to dry-run actions in [`method: Page.check`], [`method: Page.uncheck`], [`method: Page.click`], [`method: Page.dblclick`], [`method: Page.hover`] and [`method: Page.tap`]
|
|
|
|
## Version 1.10
|
|
|
|
- [Playwright for Java v1.10](https://github.com/microsoft/playwright-java) is **now stable**!
|
|
- Run Playwright against **Google Chrome** and **Microsoft Edge** stable channels with the [new channels API](./browsers).
|
|
- Chromium screenshots are **fast** on Mac & Windows.
|
|
|
|
#### Bundled Browser Versions
|
|
|
|
- Chromium 90.0.4430.0
|
|
- Mozilla Firefox 87.0b10
|
|
- WebKit 14.2
|
|
|
|
This version of Playwright was also tested against the following stable channels:
|
|
|
|
- Google Chrome 89
|
|
- Microsoft Edge 89
|
|
|
|
#### New APIs
|
|
|
|
- [`browserType.launch()`](./api/class-browsertype#browsertypelaunchoptions) now accepts the new `'channel'` option. Read more in [our documentation](./browsers).
|
|
|
|
|
|
## Version 1.9
|
|
|
|
- [Playwright Inspector](./inspector.md) is a **new GUI tool** to author and debug your tests.
|
|
- **Line-by-line debugging** of your Playwright scripts, with play, pause and step-through.
|
|
- Author new scripts by **recording user actions**.
|
|
- **Generate element selectors** for your script by hovering over elements.
|
|
- Set the `PWDEBUG=1` environment variable to launch the Inspector
|
|
|
|
- **Pause script execution** with [`method: Page.pause`] in headed mode. Pausing the page launches [Playwright Inspector](./inspector.md) for debugging.
|
|
|
|
- **New has-text pseudo-class** for CSS selectors. `:has-text("example")` matches any element containing `"example"` somewhere inside, possibly in a child or a descendant element. See [more examples](./selectors.md#text-selector).
|
|
|
|
- **Page dialogs are now auto-dismissed** during execution, unless a listener for `dialog` event is configured. [Learn more](./dialogs.md) about this.
|
|
|
|
- [Playwright for Python](https://github.com/microsoft/playwright-python) is **now stable** with an idiomatic snake case API and pre-built [Docker image](./docker.md) to run tests in CI/CD.
|
|
|
|
#### Browser Versions
|
|
|
|
- Chromium 90.0.4421.0
|
|
- Mozilla Firefox 86.0b10
|
|
- WebKit 14.1
|
|
|
|
#### New APIs
|
|
- [`method: Page.pause`].
|
|
|
|
|
|
## Version 1.8
|
|
|
|
- [Selecting elements based on layout](./selectors.md#selecting-elements-based-on-layout) with `:left-of()`, `:right-of()`, `:above()` and `:below()`.
|
|
- Playwright now includes [command line interface](./cli.md), former playwright-cli.
|
|
```bash js
|
|
mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="--help"
|
|
```
|
|
- [`method: Page.selectOption`] now waits for the options to be present.
|
|
- New methods to [assert element state](./actionability#assertions) like [`method: Page.isEditable`].
|
|
|
|
#### New APIs
|
|
|
|
- [`method: ElementHandle.isChecked`].
|
|
- [`method: ElementHandle.isDisabled`].
|
|
- [`method: ElementHandle.isEditable`].
|
|
- [`method: ElementHandle.isEnabled`].
|
|
- [`method: ElementHandle.isHidden`].
|
|
- [`method: ElementHandle.isVisible`].
|
|
- [`method: Page.isChecked`].
|
|
- [`method: Page.isDisabled`].
|
|
- [`method: Page.isEditable`].
|
|
- [`method: Page.isEnabled`].
|
|
- [`method: Page.isHidden`].
|
|
- [`method: Page.isVisible`].
|
|
- New option `'editable'` in [`method: ElementHandle.waitForElementState`].
|
|
|
|
#### Browser Versions
|
|
|
|
- Chromium 90.0.4392.0
|
|
- Mozilla Firefox 85.0b5
|
|
- WebKit 14.1
|
|
|
|
## Version 1.7
|
|
|
|
- **New Java SDK**: [Playwright for Java](https://github.com/microsoft/playwright-java) is now on par with [JavaScript](https://github.com/microsoft/playwright), [Python](https://github.com/microsoft/playwright-python) and [.NET bindings](https://github.com/microsoft/playwright-dotnet).
|
|
- **Browser storage API**: New convenience APIs to save and load browser storage state (cookies, local storage) to simplify automation scenarios with authentication.
|
|
- **New CSS selectors**: We heard your feedback for more flexible selectors and have revamped the selectors implementation. Playwright 1.7 introduces [new CSS extensions](./selectors.md) and there's more coming soon.
|
|
- **New website**: The docs website at [playwright.dev](https://playwright.dev/) has been updated and is now built with [Docusaurus](https://v2.docusaurus.io/).
|
|
- **Support for Apple Silicon**: Playwright browser binaries for WebKit and Chromium are now built for Apple Silicon.
|
|
|
|
#### New APIs
|
|
|
|
- [`method: BrowserContext.storageState`] to get current state for later reuse.
|
|
- `storageState` option in [`method: Browser.newContext`] and [`method: Browser.newPage`] to setup browser context state.
|
|
|
|
#### Browser Versions
|
|
|
|
- Chromium 89.0.4344.0
|
|
- Mozilla Firefox 84.0b9
|
|
- WebKit 14.1
|