Playwright - v1.34.0


Highlights

  • UI Mode now shows steps, fixtures and attachments:
  • New property testProject.teardown to specify a project that needs to run after this
    and all dependent projects have finished. Teardown is useful to cleanup any resources acquired by this project.

A common pattern would be a setup dependency with a corresponding teardown:
```js
// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
projects: [
{
name: 'setup',
testMatch: /global.setup.ts/,
teardown: 'teardown',
},
{
name: 'teardown',
testMatch: /global.teardown.ts/,
},
{
name: 'chromium',
use: devices['Desktop Chrome'],
dependencies: ['setup'],
},
{
name: 'firefox',
use: devices['Desktop Firefox'],
dependencies: ['setup'],
},
{
name: 'webkit',
use: devices['Desktop Safari'],
dependencies: ['setup'],
},
],
});
* New method [`expect.configure`](https://playwright.dev/docs/test-assertions#expectconfigure) to create pre-configured expect instance with its own defaults such as `timeout` and `soft`.js
const slowExpect = expect.configure({ timeout: 10000 });
await slowExpect(locator).toHaveText('Submit');

// Always do soft assertions.
const softExpect = expect.configure({ soft: true });
`` * New optionsstderrandstdoutin [testConfig.webServer`](https://playwright.dev/docs/api/class-testconfig#test-config-web-server) to configure output handling:

```js
// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
// Run your local dev server before starting the tests
webServer: {
command: 'npm run start',
url: 'http://127.0.0.1:3000',
reuseExistingServer: !process.env.CI,
stdout: 'pipe',
stderr: 'pipe',
},
});
`` * New [locator.and()`](https://playwright.dev/docs/api/class-locator#locator-and) to create a locator that matches both locators.

```js
const button = page.getByRole('button').and(page.getByTitle('Subscribe'));
```

⚠️ Breaking changes

  • npx playwright test no longer works if you install both playwright and @playwright/test. There's no need
    to install both, since you can always import browser automation APIs from @playwright/test directly:

js // automation.ts import { chromium, firefox, webkit } from '@playwright/test'; /* ... */
* Node.js 14 is no longer supported since it reached its end-of-life on April 30, 2023.

Browser Versions

  • Chromium 114.0.5735.26
  • Mozilla Firefox 113.0
  • WebKit 16.4

This version was also tested against the following stable channels:

  • Google Chrome 113
  • Microsoft Edge 113

Details

date
May 20, 2023, 2:25 a.m.
name
v1.34.0
type
Minor
👇
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
or