Playwright - v1.21.0
Highlights
- New experimental role selectors that allow selecting elements by their ARIA role, ARIA attributes and accessible name.
js
// Click a button with accessible name "log in"
await page.click('role=button[name="log in"]')
To use role selectors, make sure to pass PLAYWRIGHT_EXPERIMENTAL_FEATURES=1
environment variable:
js
// playwright.config.js
process.env.PLAYWRIGHT_EXPERIMENTAL_FEATURES = '1';
module.exports = {
/* ... */
};
Read more in our documentation.
- New scale
option in Page.screenshot
for smaller sized screenshots.
- New caret
option in Page.screenshot
to control text caret. Defaults to "hide"
.
- New method
expect.poll
to wait for an arbitrary condition:
js
// Poll the method until it returns an expected result.
await expect.poll(async () => {
const response = await page.request.get('https://api.example.com');
return response.status();
}).toBe(200);
expect.poll
supports most synchronous matchers, like .toBe()
, .toContain()
, etc.
Read more in our documentation.
Behavior Changes
- ESM support when running TypeScript tests is now enabled by default. The
PLAYWRIGHT_EXPERIMENTAL_TS_ESM
env variable is
no longer required. - The
mcr.microsoft.com/playwright
docker image no longer contains Python. Please usemcr.microsoft.com/playwright/python
as a Playwright-ready docker image with pre-installed Python. - Playwright now supports large file uploads (100s of MBs) via
Locator.setInputFiles
API.
Browser Versions
- Chromium 101.0.4951.26
- Mozilla Firefox 98.0.2
- WebKit 15.4
This version was also tested against the following stable channels:
- Google Chrome 100
- Microsoft Edge 100
Details
- 🔍View and search all Playwright releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!