Skip to content

Commit

Permalink
Update dependency playwright-chromium to v1.38.1 (#189)
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-chromium](https://playwright.dev) ([source](https://togithub.com/Microsoft/playwright)) | [`1.28.1` -> `1.38.1`](https://renovatebot.com/diffs/npm/playwright-chromium/1.28.1/1.38.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.28.1/1.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.28.1/1.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Microsoft/playwright (playwright-chromium)</summary>

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

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

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

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

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

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

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

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

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

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

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

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

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

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

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

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

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

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

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

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

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

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

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

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

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

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

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

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

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

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

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`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)

<a href="https://youtu.be/pJiirfyJwcA"><img src="https://github.com/microsoft/playwright/assets/746130/5a8807c9-928e-4f97-94ab-489c91941ac1" width=340></a>

<a href="https://youtu.be/pJiirfyJwcA">Playwright v1.35 updates</a>

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

<a href="https://youtu.be/JeFD6rqDbBo"><img src="https://github.com/microsoft/playwright/assets/746130/4e165491-1b1b-41c6-8674-4295622b66df" width=340></a>

<a href="https://youtu.be/JeFD6rqDbBo">Playwright v1.33 & v1.34 updates</a>

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

<a href="https://youtu.be/JeFD6rqDbBo"><img src="https://github.com/microsoft/playwright/assets/746130/4e165491-1b1b-41c6-8674-4295622b66df" width=340></a>

<a href="https://youtu.be/JeFD6rqDbBo">Playwright v1.33 & v1.34 updates</a>

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

</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 this update again.

---

 - [ ] 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/X-oss-byte/Canary-nextjs).
  • Loading branch information
renovate[bot] committed Sep 30, 2023
1 parent 6c94fa6 commit 395888e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -177,7 +177,7 @@
"npm-run-all": "4.1.5",
"nprogress": "0.2.0",
"pixrem": "5.0.0",
"playwright-chromium": "1.28.1",
"playwright-chromium": "1.38.1",
"plop": "3.0.5",
"postcss-nested": "4.2.3",
"postcss-pseudoelements": "5.0.0",
Expand Down
18 changes: 9 additions & 9 deletions pnpm-lock.yaml

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

0 comments on commit 395888e

Please sign in to comment.