8.3 KiB
| id | title |
|---|---|
| release-notes | Release notes |
Version 1.12
⚡️ Introducing Playwright TestRunner
Playwright TestRunner is a new test runner built from scratch by Playwright team specifically to accommodate end-to-end testing needs:
- Run tests across all browsers.
- Execute tests in parallel.
- Enjoy context isolation and sensible defaults out of the box.
- Capture videos, screenshots and other artifacts on failure.
- Integrate your POMs as extensible fixtures.
Installation:
npm i -D @playwright/test
Simple test tests/foo.spec.ts:
import { test, expect } from '@playwright/test';
test('basic test', async ({ page }) => {
await page.goto('https://playwright.dev/');
const name = await page.innerText('.navbar__title');
expect(name).toBe('Playwright');
});
Running:
npx playwright test
👉 Read more in testrunner documentation.
🧟♂️ Introducing Playwright Trace Viewer
Playwright Trace Viewer is a new GUI tool that helps exploring recorded Playwright traces after the script ran. Playwright traces let you examine:
- page DOM before and after each Playwright action
- page rendering before and after each Playwright action
- browser network during script execution
Traces are recorded using the new [property: BrowserContext.tracing] API:
const browser = await chromium.launch();
const context = await browser.newContext();
// Start tracing before creating / navigating a page.
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
// Stop tracing and export it into a zip archive.
await context.tracing.stop({ path: 'trace.zip' });
Traces are examined later with the Playwright CLI:
npx playwright show-trace trace.zip
That will open the following GUI:
👉 Read more in trace viewer documentation.
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
New APIs
reducedMotionoption in [method: Page.emulateMedia], [method: BrowserType.launchPersistentContext], [method: Browser.newContext] and [method: Browser.newPage]- [
event: BrowserContext.request] - [
event: BrowserContext.requestFailed] - [
event: BrowserContext.requestFinished] - [
event: BrowserContext.response] tracesDiroption in [method: BrowserType.launch] and [method: BrowserType.launchPersistentContext]- new [
property: BrowserContext.tracing] API namespace - new [
method: Download.page] method
Version 1.11
🎥 New video: Playwright: A New Test Automation Framework for the Modern Web (slides)
- We talked about Playwright
- Showed engineering work behind the scenes
- Did live demos with new features ✨
- Special thanks to applitools for hosting the event and inviting us!
Browser Versions
- Chromium 92.0.4498.0
- Mozilla Firefox 89.0b6
- WebKit 14.2
New APIs
- support for async predicates across the API in methods such as [
method: Page.waitForRequest] and others - new emulation devices: Galaxy S8, Galaxy S9+, Galaxy Tab S4, Pixel 3, Pixel 4
- new methods:
- [
method: Page.waitForURL] to await navigations to URL - [
method: Video.delete] and [method: Video.saveAs] to manage screen recording
- [
- new options:
screenoption in the [method: Browser.newContext] method to emulatewindow.screendimensionspositionoption in [method: Page.check] and [method: Page.uncheck] methodstrialoption to dry-run actions in [method: Page.check], [method: Page.uncheck], [method: Page.click], [method: Page.dblclick], [method: Page.hover] and [method: Page.tap]
Version 1.10
- Playwright for Java v1.10 is now stable!
- Run Playwright against Google Chrome and Microsoft Edge stable channels with the new channels API.
- Chromium screenshots are fast on Mac & Windows.
Bundled Browser Versions
- Chromium 90.0.4430.0
- Mozilla Firefox 87.0b10
- WebKit 14.2
This version of Playwright was also tested against the following stable channels:
- Google Chrome 89
- Microsoft Edge 89
New APIs
browserType.launch()now accepts the new'channel'option. Read more in our documentation.
Version 1.9
-
Playwright Inspector is a new GUI tool to author and debug your tests.
- Line-by-line debugging of your Playwright scripts, with play, pause and step-through.
- Author new scripts by recording user actions.
- Generate element selectors for your script by hovering over elements.
- Set the
PWDEBUG=1environment variable to launch the Inspector
-
Pause script execution with [
method: Page.pause] in headed mode. Pausing the page launches Playwright Inspector for debugging. -
New has-text pseudo-class for CSS selectors.
:has-text("example")matches any element containing"example"somewhere inside, possibly in a child or a descendant element. See more examples. -
Page dialogs are now auto-dismissed during execution, unless a listener for
dialogevent is configured. Learn more about this. -
Playwright for Python is now stable with an idiomatic snake case API and pre-built Docker image to run tests in CI/CD.
Browser Versions
- Chromium 90.0.4421.0
- Mozilla Firefox 86.0b10
- WebKit 14.1
New APIs
- [
method: Page.pause].
Version 1.8
- Selecting elements based on layout with
:left-of(),:right-of(),:above()and:below(). - Playwright now includes command line interface, former playwright-cli.
npx playwright --helpplaywright --help - [
method: Page.selectOption] now waits for the options to be present. - New methods to assert element state like [
method: Page.isEditable].
New APIs
- [
method: ElementHandle.isChecked]. - [
method: ElementHandle.isDisabled]. - [
method: ElementHandle.isEditable]. - [
method: ElementHandle.isEnabled]. - [
method: ElementHandle.isHidden]. - [
method: ElementHandle.isVisible]. - [
method: Page.isChecked]. - [
method: Page.isDisabled]. - [
method: Page.isEditable]. - [
method: Page.isEnabled]. - [
method: Page.isHidden]. - [
method: Page.isVisible]. - New option
'editable'in [method: ElementHandle.waitForElementState].
Browser Versions
- Chromium 90.0.4392.0
- Mozilla Firefox 85.0b5
- WebKit 14.1
Version 1.7
- New Java SDK: Playwright for Java is now on par with JavaScript, Python and .NET bindings.
- Browser storage API: New convenience APIs to save and load browser storage state (cookies, local storage) to simplify automation scenarios with authentication.
- New CSS selectors: We heard your feedback for more flexible selectors and have revamped the selectors implementation. Playwright 1.7 introduces new CSS extensions and there's more coming soon.
- New website: The docs website at playwright.dev has been updated and is now built with Docusaurus.
- Support for Apple Silicon: Playwright browser binaries for WebKit and Chromium are now built for Apple Silicon.
New APIs
- [
method: BrowserContext.storageState] to get current state for later reuse. storageStateoption in [method: Browser.newContext] and [method: Browser.newPage] to setup browser context state.
Browser Versions
- Chromium 89.0.4344.0
- Mozilla Firefox 84.0b9
- WebKit 14.1
