Playwright - v1.21.0


js // Click a button with accessible name "log in" await'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(''); 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 docker image no longer contains Python. Please use
    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


April 12, 2022, 2:27 p.m.
Register or login to:
  • 🔍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!
Continue with GitHub
Continue with Google