4.0 KiB
id | title |
---|---|
release-notes | Release notes |
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.
// This will throw if you have more than one button!
await page.ClickAsync("button", new Page.ClickOptions().setStrict(true));
📍 New Locators API
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 and ElementHandle is that the latter points to a particular element, while Locator captures the logic of how to retrieve that element.
Also, locators are "strict" by default!
var locator = page.Locator("button");
await locator.ClickAsync();
Learn more in the documentation.
🧩 Experimental React and Vue 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 and supports all attribute selector operators.
await page.ClickAsync("_react=SubmitButton[enabled=true]");
await page.ClickAsync("_vue=submit-button[enabled=true]");
Learn more in the react selectors documentation and the vue selectors documentation.
✨ New nth
and visible
selector engines
nth
selector engine is equivalent to the:nth-match
pseudo class, but could be combined with other selector engines.visible
selector engine is equivalent to the:visible
pseudo class, but could be combined with other selector engines.
// 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
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 and trace viewer 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