Skip to content

Commit

Permalink
chore(deps): update playwright monorepo to v1.35.1 (#1103)
Browse files Browse the repository at this point in the history
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/Microsoft/playwright)) | [`1.27.1` ->
`1.35.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.27.1/1.35.1)
|
[![age](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.35.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.35.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.35.1/compatibility-slim/1.27.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.35.1/confidence-slim/1.27.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [playwright](https://playwright.dev)
([source](https://togithub.com/Microsoft/playwright)) | [`1.27.1` ->
`1.35.1`](https://renovatebot.com/diffs/npm/playwright/1.27.1/1.35.1) |
[![age](https://badges.renovateapi.com/packages/npm/playwright/1.35.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/playwright/1.35.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/playwright/1.35.1/compatibility-slim/1.27.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/playwright/1.35.1/confidence-slim/1.27.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>Microsoft/playwright</summary>

###
[`v1.35.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.35.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.35.0...v1.35.1)

##### Highlights


[microsoft/playwright#23622
- \[Docs] Provide a description how to correctly use expect.configure
with poll
parameter[microsoft/playwright#23666
- \[BUG] Live Trace does not work with
Codespace[microsoft/playwright#23693
- \[BUG] attachment steps are not hidden inside
expect.toHaveScreenshot()

##### Browser Versions

-   Chromium 115.0.5790.13
-   Mozilla Firefox 113.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

###
[`v1.35.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.35.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.34.3...v1.35.0)

##### Highlights

- UI mode is now available in VSCode Playwright extension via a new
"Show trace viewer" button:

![Playwright UI
Mode](https://togithub.com/microsoft/playwright/assets/746130/13094128-259b-477a-8bbb-c1181178e8a2)

- UI mode and trace viewer mark network requests handled with
[`page.route()`](https://playwright.dev/docs/api/class-page#page-route)
and
[`browserContext.route()`](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
handlers, as well as those issued via the [API
testing](https://playwright.dev/docs/api-testing):

![Trace
Viewer](https://togithub.com/microsoft/playwright/assets/746130/0df2d4b6-faa3-465c-aff3-c435b430bfe1)

- New option `maskColor` for methods
[`page.screenshot()`](https://playwright.dev/docs/api/class-page#page-screenshot),
[`locator.screenshot()`](https://playwright.dev/docs/api/class-locator#locator-screenshot),
[`expect(page).toHaveScreenshot()`](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and
[`expect(locator).toHaveScreenshot()`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
to change default masking color:
    ```js
    await page.goto('https://playwright.dev');
    await expect(page).toHaveScreenshot({
      mask: [page.locator('img')],
      maskColor: '#&#8203;00FF00', // green
    });
    ```

-   New `uninstall` CLI command to uninstall browser binaries:
    ```bash
$ npx playwright uninstall # remove browsers installed by this
installation
$ npx playwright uninstall --all # remove all ever-install Playwright
browsers
    ```

-   Both UI mode and trace viewer now could be opened in a browser tab:
    ```bash
$ npx playwright test --ui-port 0 # open UI mode in a tab on a random
port
$ npx playwright show-trace --port 0 # open trace viewer in tab on a
random port
    ```

##### ⚠️ Breaking changes

- `playwright-core` binary got renamed from `playwright` to
`playwright-core`. So if you use `playwright-core` CLI, make sure to
update the name:

    ```bash
$ npx playwright-core install # the new way to install browsers when
using playwright-core
    ```

This change **does not** affect `@playwright/test` and `playwright`
package users.

##### Browser Versions

-   Chromium 115.0.5790.13
-   Mozilla Firefox 113.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

###
[`v1.34.3`](https://togithub.com/microsoft/playwright/releases/tag/v1.34.3)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.34.2...v1.34.3)

#### Highlights


[microsoft/playwright#23228
- \[BUG] Getting "Please install
[@&#8203;playwright/test](https://togithub.com/playwright/test)
package..." after upgrading from 1.34.0 to 1.34.1

#### 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

###
[`v1.34.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.34.2)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.34.1...v1.34.2)

#### Highlights


[microsoft/playwright#23225
- \[BUG] VSCode Extension broken with Playwright 1.34.1

#### 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

###
[`v1.34.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.34.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.34.0...v1.34.1)

#### Highlights


[microsoft/playwright#23186
- \[BUG] Container image for v1.34.0 missing library for
webkit[microsoft/playwright#23206
- \[BUG] Unable to install supported browsers for v1.34.0 from
playwright-cor[microsoft/playwright#23207
- \[BUG] importing ES Module JSX component is broken since 1.34

#### 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

###
[`v1.34.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.34.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.33.0...v1.34.0)

##### Highlights

- UI Mode now shows steps, fixtures and attachments: <img
src="https://github.com/microsoft/playwright/assets/746130/1d280419-d79a-4a56-b2dc-54d631281d56"
width=640>

- New property
[`testProject.teardown`](https://playwright.dev/docs/api/class-testproject#test-project-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 '@&#8203;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 options `stderr` and `stdout` in
[`testConfig.webServer`](https://playwright.dev/docs/api/class-testconfig#test-config-web-server)
to configure output handling:

    ```js
    // playwright.config.ts
    import { defineConfig } from '@&#8203;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'));
    ```

- New events
[`browserContext.on('console')`](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-console)
and
[`browserContext.on('dialog')`](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog)
to subscribe to any dialogs
and console messages from any page from the given browser context. Use
the new methods
[`consoleMessage.page()`](https://playwright.dev/docs/api/class-consolemessage#console-message-page)
and
[`dialog.page()`](https://playwright.dev/docs/api/class-dialog#dialog-page)
to pin-point event source.

##### ⚠️ 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 '@&#8203;playwright/test';
    /* ... */
    ```
- Node.js 14 is no longer supported since it [reached its
end-of-life](https://nodejs.dev/en/about/releases/) 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

###
[`v1.33.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.33.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.32.3...v1.33.0)

##### Locators Update

- Use [`locator.or()`][locator.or()] to create a locator that matches
either of the two locators.
Consider a scenario where you'd like to click on a "New email" button,
but sometimes a security settings dialog shows up instead.
In this case, you can wait for either a "New email" button, or a dialog
and act accordingly:

    ```js
    const newEmail = page.getByRole('button', { name: 'New' });
    const dialog = page.getByText('Confirm security settings');
    await expect(newEmail.or(dialog)).toBeVisible();
    if (await dialog.isVisible())
      await page.getByRole('button', { name: 'Dismiss' }).click();
    await newEmail.click();
    ```
- Use new options `hasNot` and `hasNotText` in
[`locator.filter()`][locator.filter()]
    to find elements that **do not match** certain conditions.

    ```js
    const rowLocator = page.locator('tr');
    await rowLocator
        .filter({ hasNotText: 'text in column 1' })
.filter({ hasNot: page.getByRole('button', { name: 'column 2 button' })
})
        .screenshot();
    ```
- Use new web-first assertion
[`locatorAssertions.toBeAttached()`][locatorAssertions.toBeAttached()]
to ensure that the element
is present in the page's DOM. Do not confuse with the
[`locatorAssertions.toBeVisible()`][locatorAssertions.toBeVisible()]
that ensures that
    element is both attached & visible.

##### New APIs

-   [`locator.or()`][locator.or()]
-   New option `hasNot` in [`locator.filter()`][locator.filter()]
-   New option `hasNotText` in [`locator.filter()`][locator.filter()]
- [`locatorAssertions.toBeAttached()`][locatorAssertions.toBeAttached()]
-   New option `timeout` in [`route.fetch()`][route.fetch()]
-   [`reporter.onExit()`][reporter.onExit()]

##### ⚠️ Breaking change

- The `mcr.microsoft.com/playwright:v1.33.0` now serves a Playwright
image based on Ubuntu Jammy.
To use the focal-based image, please use
`mcr.microsoft.com/playwright:v1.33.0-focal` instead.

##### Browser Versions

-   Chromium 113.0.5672.53
-   Mozilla Firefox 112.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 112
-   Microsoft Edge 112

[`locator.or()`]:
https://playwright.dev/docs/api/class-locator#locator-or

[`reporter.onExit()`]:
https://playwright.dev/docs/api/class-reporter#reporter-on-exit

[`locator.filter()`]:
https://playwright.dev/docs/api/class-locator#locator-filter

[`locatorAssertions.toBeAttached()`]:
https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-attached

[`locatorAssertions.toBeVisible()`]:
https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible

[`route.fetch()`]:
https://playwright.dev/docs/api/class-route#route-fetch

###
[`v1.32.3`](https://togithub.com/microsoft/playwright/releases/tag/v1.32.3)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.32.2...v1.32.3)

##### Highlights


[microsoft/playwright#22144
- \[BUG] WebServer only starting after
timeout[microsoft/playwright#22191
- chore: allow reusing browser between the
tests[microsoft/playwright#22215
- \[BUG] Tests failing in toPass often marked as passed

##### Browser Versions

-   Chromium 112.0.5615.29
-   Mozilla Firefox 111.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 111
-   Microsoft Edge 111

###
[`v1.32.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.32.2)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.32.1...v1.32.2)

##### Highlights


[microsoft/playwright#21993
- \[BUG] Browser crash when using Playwright VSC extension and
trace-viewer enabled in
config[microsoft/playwright#22003
- \[Feature] Make Vue component mount props less
restrictiv[microsoft/playwright#22089
- \[REGRESSION]: Tests failing with "Error: tracing.stopChunk"

##### Browser Versions

-   Chromium 112.0.5615.29
-   Mozilla Firefox 111.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 111
-   Microsoft Edge 111

###
[`v1.32.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.32.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.32.0...v1.32.1)

##### Highlights


[microsoft/playwright#21832
- \[BUG] Trace is not opening on specific broken
locator[microsoft/playwright#21897
- \[BUG] --ui fails to open with error reading mainFrame from an
undefined
this.\_pa[microsoft/playwright#21918
- \[BUG]: UI mode, skipped tests not being
fo[microsoft/playwright#21941
- \[BUG] UI mode does not show webServer startup
er[microsoft/playwright#21953
- \[BUG] Parameterized tests are not displayed in the UI mode

##### Browser Versions

-   Chromium 112.0.5615.29
-   Mozilla Firefox 111.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 111
-   Microsoft Edge 111

###
[`v1.32.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.32.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.31.2...v1.32.0)

##### 📣 Introducing UI Mode (preview)

<a href="https://www.youtube.com/watch?v=jF0yA-JLQW0"><img
src="https://user-images.githubusercontent.com/746130/227044467-b4db82dc-c7fa-40d7-a0c8-8f702581c3b9.png"
width=340></a>

<a href="https://www.youtube.com/watch?v=jF0yA-JLQW0">Playwright v1.32
updates</a>

New UI Mode lets you explore, run and debug tests. Comes with a built-in
watch mode.

![Playwright UI
Mode](https://user-images.githubusercontent.com/746130/227004851-3901a691-4f8e-43d6-8d6b-cbfeafaeb999.png)

Engage with a new flag `--ui`:

```sh
npx playwright test --ui
```

##### New APIs

- New options `option: updateMode` and `option: updateContent` in
[`page.routeFromHAR()`](https://playwright.dev/docs/api/class-page#page-route-from-har)
and
[`browserContext.routeFromHAR()`](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
- Chaining existing locator objects, see [locator
docs](https://playwright.dev/docs/locators#chaining-locators) for
details.
- New property
[`TestInfo.testId`](https://playwright.dev/docs/api/class-testinfo#test-info-test-id).
- New option `name` in method
[`Tracing.startChunk()`](https://playwright.dev/docs/api/class-tracing#tracing-start-chunk).

##### ⚠️ Breaking change in component tests

Note: **component tests only**, does not affect end-to-end tests.

-   `@playwright/experimental-ct-react` now supports **React 18 only**.
- If you're running component tests with React 16 or 17, please replace
`@playwright/experimental-ct-react` with
`@playwright/experimental-ct-react17`.

##### Browser Versions

-   Chromium 112.0.5615.29
-   Mozilla Firefox 111.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 111
-   Microsoft Edge 111

###
[`v1.31.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.31.2)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.31.1...v1.31.2)

#### Highlights


[microsoft/playwright#20784
- \[BUG] ECONNREFUSED on GitHub Actions with Node
18[microsoft/playwright#21145
- \[REGRESSION]: firefox-1378 times out on await page.reload() when URL
contains a
#has[microsoft/playwright#21226
- \[BUG] Playwright seems to get stuck when using shard option and last
test is
skipp[microsoft/playwright#21227
- Using the webServer config with a Vite dev
serve[microsoft/playwright#21312
- throw if defineConfig is not used for component testing

#### Browser Versions

-   Chromium 111.0.5563.19
-   Mozilla Firefox 109.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 110
-   Microsoft Edge 110

###
[`v1.31.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.31.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.31.0...v1.31.1)

#### Highlights


[microsoft/playwright#21093
- \[Regression v1.31] Headless Windows shows cascading cmd
windows[microsoft/playwright#21106
- fix(loader): experimentalLoader with node@18

#### Browser Versions

-   Chromium 111.0.5563.19
-   Mozilla Firefox 109.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 110
-   Microsoft Edge 110

###
[`v1.31.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.31.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.30.0...v1.31.0)

#### New APIs

- New property
[`TestProject.dependencies`](https://playwright.dev/docs/api/class-testproject#test-project-dependencies)
to configure dependencies between projects.

Using dependencies allows global setup to produce traces and other
artifacts,
    see the setup steps in the test report and more.

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

    export default defineConfig({
      projects: [
        {
          name: 'setup',
          testMatch: /global.setup\.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 assertion
[`expect(locator).toBeInViewport()`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-in-viewport)
ensures that locator points to an element that intersects viewport,
according to the [intersection observer
API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API).

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

    // Make sure at least some part of element intersects viewport.
    await expect(button).toBeInViewport();

    // Make sure element is fully outside of viewport.
    await expect(button).not.toBeInViewport();

    // Make sure that at least half of the element intersects viewport.
    await expect(button).toBeInViewport({ ratio: 0.5 });
    ```

#### Miscellaneous

- DOM snapshots in trace viewer can be now opened in a separate window.
-   New method `defineConfig` to be used in `playwright.config`.
- New option `maxRedirects` for method
[`Route.fetch`](https://playwright.dev/docs/api/class-route#route-fetch).
-   Playwright now supports Debian 11 arm64.
- Official [docker images](https://playwright.dev/docs/docker) now
include Node 18 instead of Node 16.

#### ⚠️ Breaking change in component tests

Note: **component tests only**, does not affect end-to-end tests.

`playwright-ct.config` configuration file for [component
testing](https://playwright.dev/docs/test-components) now requires
calling `defineConfig`.

```js
// Before

import { type PlaywrightTestConfig, devices } from '@&#8203;playwright/experimental-ct-react';
const config: PlaywrightTestConfig = {
  // ... config goes here ...
};
export default config;
```

Replace `config` variable definition with `defineConfig` call:

```js
// After

import { defineConfig, devices } from '@&#8203;playwright/experimental-ct-react';
export default defineConfig({
  // ... config goes here ...
});
```

#### Browser Versions

-   Chromium 111.0.5563.19
-   Mozilla Firefox 109.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 110
-   Microsoft Edge 110

###
[`v1.30.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.30.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.29.2...v1.30.0)

##### 🎉 Happy New Year 🎉

Maintenance release with bugfixes and new browsers only. We are baking
some nice features for v1.31.

##### Browser Versions

-   Chromium 110.0.5481.38
-   Mozilla Firefox 108.0.2
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 109
-   Microsoft Edge 109

###
[`v1.29.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.29.2)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.29.1...v1.29.2)

#### Highlights


[microsoft/playwright#19661
- \[BUG] 1.29.1 browserserver + page.goto =
net::ERR_SOCKS_CONNECTION_FAILED

#### Browser Versions

-   Chromium 109.0.5414.46
-   Mozilla Firefox 107.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 108
-   Microsoft Edge 108

###
[`v1.29.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.29.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.29.0...v1.29.1)

#### Highlights


[microsoft/playwright#18928
- \[BUG] Electron firstWindow times out after upgrading to
1.28.0[microsoft/playwright#19246
- \[BUG] Electron firstWindow times out after upgrading to
1.28.[microsoft/playwright#19412
- \[REGRESSION]: 1.28 does not work with electron-serve
anymor[microsoft/playwright#19540
- \[BUG] electron.app.getAppPath() returns the path one level higher if
you run electron pointing to the
direct[microsoft/playwright#19548
- \[REGRESSION]: Ubuntu 18 LTS not supported anymore

#### Browser Versions

-   Chromium 109.0.5414.46
-   Mozilla Firefox 107.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 108
-   Microsoft Edge 108

###
[`v1.29.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.29.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.28.1...v1.29.0)

#### New APIs

- New method
[`route.fetch()`](https://playwright.dev/docs/api/class-route#route-fetch)
and new option `json` for
[`route.fulfill()`](https://playwright.dev/docs/api/class-route#route-fulfill):

    ```js
    await page.route('**/api/settings', async route => {
      // Fetch original settings.
      const response = await route.fetch();

      // Force settings theme to a predefined value.
      const json = await response.json();
      json.theme = 'Solorized';

      // Fulfill with modified data.
      await route.fulfill({ json });
    });
    ```

- New method
[`locator.all()`](https://playwright.dev/docs/api/class-locator#locator-all)
to iterate over all matching elements:

    ```js
    // Check all checkboxes!
    const checkboxes = page.getByRole('checkbox');
    for (const checkbox of await checkboxes.all())
      await checkbox.check();
    ```

-
[`Locator.selectOption`](https://playwright.dev/docs/api/class-locator#locator-select-option)
matches now by value or label:

    ```html
    <select multiple>
      <option value="red">Red</div>
      <option value="green">Green</div>
      <option value="blue">Blue</div>
    </select>
    ```

    ```js
    await element.selectOption('Red');
    ```

-   Retry blocks of code until all assertions pass:

    ```js
    await expect(async () => {
const response = await page.request.get('https://api.example.com');
      await expect(response).toBeOK();
    }).toPass();
    ```

Read more in [our
documentation](https://playwright.dev/docs/test-assertions#retrying).

-   Automatically capture **full page screenshot** on test failure:
    ```js
    // playwright.config.ts
    import type { PlaywrightTestConfig } from '@&#8203;playwright/test';

    const config: PlaywrightTestConfig = {
      use: {
        screenshot: {
          mode: 'only-on-failure',
          fullPage: true,
        }
      }
    };

    export default config;
    ```

#### Miscellaneous

- Playwright Test now respects
[`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig).
- New options `args` and `proxy` for
[`androidDevice.launchBrowser()`](https://playwright.dev/docs/api/class-androiddevice#android-device-launch-browser).
- Option `postData` in method
[`route.continue()`](https://playwright.dev/docs/api/class-route#route-continue)
now supports
[serializable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description)
values.
-   Ubuntu 18.04 is not supported anymore

#### Browser Versions

-   Chromium 109.0.5414.46
-   Mozilla Firefox 107.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 108
-   Microsoft Edge 108

###
[`v1.28.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.28.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.28.0...v1.28.1)

#### Highlights

This patch release includes the following bug fixes:


[microsoft/playwright#18928
- \[BUG] Electron firstWindow times out after upgrading to
1.28.0[microsoft/playwright#18920
- \[BUG] \[expanded=false] in role selector returns elements without
aria-expanded
attribu[microsoft/playwright#18865
- \[BUG] regression in killing web server process in 1.28.0

#### Browser Versions

-   Chromium 108.0.5359.29
-   Mozilla Firefox 106.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 107
-   Microsoft Edge 107

###
[`v1.28.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.28.0):
v1.28

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.27.1...v1.28.0)

#### Playwright Tools

- **Record at Cursor in VSCode.** You can run the test, position the
cursor at the end of the test and continue generating the test.

<img alt="New VSCode Extension" width=600
src="https://user-images.githubusercontent.com/746130/202005839-aba2eeba-217b-424d-8496-8b4f5fa72f41.png">

- **Live Locators in VSCode.** You can hover and edit locators in VSCode
to get them highlighted in the opened browser.
- **Live Locators in CodeGen.** Generate a locator for any element on
the page using "Explore" tool.

<img alt="Locator Explorer"
src="https://user-images.githubusercontent.com/746130/201796876-01567a0b-ca61-4a9d-b12b-04786c471671.png"
width=600>

- **Codegen and Trace Viewer Dark Theme.** Automatically picked up from
operating system settings.

<img alt="Dark Theme"
src="https://user-images.githubusercontent.com/746130/201797969-603f74df-d7cf-4c56-befd-798dbd269796.png"
width=600>

##### Test Runner

- Configure retries and test timeout for a file or a test with
[`test.describe.configure([options])`](https://playwright.dev/docs/api/class-test#test-describe-configure).

    ```js
// Each test in the file will be retried twice and have a timeout of 20
seconds.
    test.describe.configure({ retries: 2, timeout: 20_000 });
    test('runs first', async ({ page }) => {});
    test('runs second', async ({ page }) => {});
    ```

- Use
[`testProject.snapshotPathTemplate`](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-path-template)
and
[`testConfig.snapshotPathTemplate`](https://playwright.dev/docs/api/class-testconfig#test-config-snapshot-path-template)
to configure a template controlling location of snapshots generated by
[`expect(page).toHaveScreenshot(name[,
options])`](https://playwright.dev/docs/test-assertions#page-assertions-to-have-screenshot-1)
and [`expect(screenshot).toMatchSnapshot(name[,
options])`](https://playwright.dev/docs/test-assertions#screenshot-assertions-to-match-snapshot-1).

    ```js
    // playwright.config.ts
    import type { PlaywrightTestConfig } from '@&#8203;playwright/test';

    const config: PlaywrightTestConfig = {
      testDir: './tests',
snapshotPathTemplate:
'{testDir}/__screenshots__/{testFilePath}/{arg}{ext}',
    };

    export default config;
    ```

##### New APIs

-
[`locator.blur([options])`](https://playwright.dev/docs/api/class-locator#locator-blur)
-
[`locator.clear([options])`](https://playwright.dev/docs/api/class-locator#locator-clear)
-
[`android.launchServer([options])`](https://playwright.dev/docs/api/class-android#android-launch-server)
and [`android.connect(wsEndpoint[,
options])`](https://playwright.dev/docs/api/class-android#android-connect)
-
[`androidDevice.on('close')`](https://playwright.dev/docs/api/class-androiddevice#android-device-event-close)

##### Browser Versions

-   Chromium 108.0.5359.29
-   Mozilla Firefox 106.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 107
-   Microsoft Edge 107

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/quirrel-dev/quirrel).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNi4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTMxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] committed Jun 20, 2023
1 parent 5845909 commit 5a4c724
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 27 deletions.
57 changes: 32 additions & 25 deletions development-ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions development-ui/package.json
Expand Up @@ -34,14 +34,14 @@
},
"devDependencies": {
"@parcel/reporter-bundle-analyzer": "2.7.0",
"@playwright/test": "1.27.1",
"@playwright/test": "1.35.1",
"@types/chai": "4.3.3",
"@types/ioredis": "4.28.10",
"babel-plugin-istanbul": "6.1.1",
"chai": "4.3.6",
"ioredis-mock": "8.2.2",
"nyc": "15.1.0",
"playwright": "1.27.1",
"playwright": "1.35.1",
"serve": "14.0.1",
"start-server-and-test": "1.14.0"
},
Expand Down

0 comments on commit 5a4c724

Please sign in to comment.