-
Notifications
You must be signed in to change notification settings - Fork 993
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update dependency @playwright/test to v1.39.0 #9479
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jtoar
pushed a commit
that referenced
this pull request
Nov 17, 2023
[![Mend Renovate logo banner](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.37.1` -> `1.39.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.37.1/1.39.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.37.1/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.37.1/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- <details> <summary>microsoft/playwright (@​playwright/test)</summary> [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0) You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object. ```js import { expect as baseExpect } from '@​playwright/test'; export const expect = baseExpect.extend({ async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) { // ... see documentation for how to write matchers. }, }); test('pass', async ({ page }) => { await expect(page.getByTestId('cart')).toHaveAmount(5); }); ``` See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend). You can now merge test fixtures from multiple files or modules: ```js import { mergeTests } from '@​playwright/test'; import { test as dbTest } from 'database-test-utils'; import { test as a11yTest } from 'a11y-test-utils'; export const test = mergeTests(dbTest, a11yTest); ``` ```js import { test } from './fixtures'; test('passes', async ({ database, page, a11y }) => { // use database and a11y fixtures. }); ``` You can now merge custom expect matchers from multiple files or modules: ```js import { mergeTests, mergeExpects } from '@​playwright/test'; import { test as dbTest, expect as dbExpect } from 'database-test-utils'; import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils'; export const test = mergeTests(dbTest, a11yTest); export const expect = mergeExpects(dbExpect, a11yExpect); ``` ```js import { test, expect } from './fixtures'; test('passes', async ({ page, database }) => { await expect(database).toHaveDatabaseUser('admin'); await expect(page).toPassA11yAudit(); }); ``` You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site. ```js async function login(page) { await test.step('login', async () => { // ... }, { box: true }); // Note the "box" option here. } ``` ```txt Error: Timed out 5000ms waiting for expect(locator).toBeVisible() ... error details omitted ... 14 | await page.goto('https://github.com/login'); > 15 | await login(page); | ^ 16 | }); ``` See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example. - [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2) - Chromium 119.0.6045.9 - Mozilla Firefox 118.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 118 - Microsoft Edge 118 [`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) [https://github.com/microsoft/playwright/issues/27071](https://togithub.com/microsoft/playwright/issues/27071) - expect(value).toMatchSnapshot() deprecation announcement on V1.38 [https://github.com/microsoft/playwright/issues/27072](https://togithub.com/microsoft/playwright/issues/27072) - \[BUG] PWT trace viewer fails to load trace and throws TypeError[https://github.com/microsoft/playwright/issues/27073](https://togithub.com/microsoft/playwright/issues/27073)3 - \[BUG] RangeError: Invalid time valu[https://github.com/microsoft/playwright/issues/27087](https://togithub.com/microsoft/playwright/issues/27087)87 - \[REGRESSION]: npx playwright test --list prints all tests twi[https://github.com/microsoft/playwright/issues/27113](https://togithub.com/microsoft/playwright/issues/27113)113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[https://github.com/microsoft/playwright/issues/27144](https://togithub.com/microsoft/playwright/issues/27144)7144 - \[BUG]can not display t[https://github.com/microsoft/playwright/issues/27163](https://togithub.com/microsoft/playwright/issues/27163)27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[https://github.com/microsoft/playwright/issues/27181](https://togithub.com/microsoft/playwright/issues/27181)/27181 - \[BUG] evaluate serializing fails at 1.38 - 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) ![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369) 1. Zoom into time range. 2. Network panel redesign. - [`browserContext.on('weberror')`][browserContext.on('weberror')] - [`locator.pressSequentially()`][locator.pressSequentially()] - The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`. - 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. 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", "@​playwright/browser-chromium": "1.38.0", "@​playwright/browser-firefox": "1.38.0", "@​playwright/browser-webkit": "1.38.0" } } ``` - 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 </details> --- 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- 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/redwoodjs/redwood). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.37.1
->1.39.0
Release Notes
microsoft/playwright (@playwright/test)
v1.39.0
Compare Source
Add custom matchers to your expect
You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.
See the documentation for a full example.
Merge test fixtures
You can now merge test fixtures from multiple files or modules:
Merge custom expect matchers
You can now merge custom expect matchers from multiple files or modules:
Hide implementation details: box test steps
You can mark a
test.step()
as "boxed" so that errors inside it point to the step call site.Error: Timed out 5000ms waiting for expect(locator).toBeVisible() ... error details omitted ... 14 | await page.goto('https://github.com/login'); > 15 | await login(page); | ^ 16 | });
See
test.step()
documentation for a full example.New APIs
expect(locator).toHaveAttribute(name)
Browser Versions
This version was also tested against the following stable channels:
v1.38.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
https://github.com/microsoft/playwright/issues/27072 - [BUG] PWT trace viewer fails to load trace and throws TypeErrorhttps://github.com/microsoft/playwright/issues/270733 - [BUG] RangeError: Invalid time valuhttps://github.com/microsoft/playwright/issues/2708787 - [REGRESSION]: npx playwright test --list prints all tests twihttps://github.com/microsoft/playwright/issues/27113113 - [REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pahttps://github.com/microsoft/playwright/issues/271447144 - [BUG]can not display thttps://github.com/microsoft/playwright/issues/2716327163 - [REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicodehttps://github.com/microsoft/playwright/issues/27181/27181 - [BUG] evaluate serializing fails at 1.38
Browser Versions
This version was also tested against the following stable channels:
v1.38.0
Compare Source
UI Mode Updates
New APIs
browserContext.on('weberror')
][browserContext.on('weberror')]locator.pressSequentially()
][locator.pressSequentially()]reporter.onEnd()
][reporter.onEnd()] now reportsstartTime
and total runduration
.Deprecations
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 aspecial keyboard handling on the page, and you need to press keys one-by-one.
Breaking Changes: Playwright no longer downloads browsers automatically
Playwright recommends to use
@playwright/test
package and download browsers vianpx 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 vianpx playwright install
command.v1.37 and earlier
playwright
package was downloading browsers duringnpm install
, while@playwright/test
was not.v1.38 and later
playwright
and@playwright/test
packages do not download browsers duringnpm install
.Recommended migration
Run
npx playwright install
to download browsers afternpm install
. For example, in your CI configuration:Alternative migration option - not recommended
Add
@playwright/browser-chromium
,@playwright/browser-firefox
and@playwright/browser-webkit
as a dependency. These packages download respective browsers duringnpm install
. Make sure you keep the version of all playwright packages in sync:Browser Versions
This version was also tested against the following stable channels:
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR has been generated by Mend Renovate. View repository job log here.