Highlights
-
New experimental role selectors that allow selecting elements by their ARIA role, ARIA attributes and accessible name.
// 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:// playwright.config.js process.env.PLAYWRIGHT_EXPERIMENTAL_FEATURES = '1'; module.exports = { /* ... */ };
Read more in our documentation.
-
New
scale
option inPage.screenshot
for smaller sized screenshots. -
New
caret
option inPage.screenshot
to control text caret. Defaults to"hide"
. -
New method
expect.poll
to wait for an arbitrary condition:// 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