mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
121 lines
4.0 KiB
Markdown
121 lines
4.0 KiB
Markdown
---
|
|
id: release-notes
|
|
title: "Release notes"
|
|
---
|
|
|
|
<!-- TOC -->
|
|
|
|
## 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.
|
|
|
|
```csharp
|
|
// This will throw if you have more than one button!
|
|
await page.ClickAsync("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**!
|
|
|
|
```csharp
|
|
var locator = page.Locator("button");
|
|
await locator.ClickAsync();
|
|
```
|
|
|
|
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.
|
|
|
|
```csharp
|
|
await page.ClickAsync("_react=SubmitButton[enabled=true]");
|
|
await page.ClickAsync("_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.
|
|
|
|
```csharp
|
|
// select the first button among all buttons
|
|
await button.ClickAsync("button >> nth=0");
|
|
// or if you are using locators, you can use First, Nth() and Last
|
|
await page.Locator("button").First.ClickAsync();
|
|
|
|
// click a visible button
|
|
await button.ClickAsync("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
|
|
|
|
#### Highlights
|
|
|
|
- Playwright for .NET v1.12 is now stable!
|
|
- Ships with the [codegen](./cli.md#generate-code) and [trace viewer](./trace-viewer.md) tools out-of-the-box
|
|
|
|
#### 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
|
|
|
|
|