chore(deps): update playwright monorepo to v1.40.1 #534
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.32.2->1.40.11.32.2->1.40.1Release Notes
microsoft/playwright (@playwright/experimental-ct-react)
v1.40.1Compare Source
Highlights
https://github.com/microsoft/playwright/issues/28319 - [REGRESSION]: Version 1.40.0 Produces corrupted traceshttps://github.com/microsoft/playwright/issues/283711 - [BUG] The color of the 'ok' text did not change to green in the vs code test results sectiohttps://github.com/microsoft/playwright/issues/2832121 - [BUG] Ambiguous test outcome and status for serial mohttps://github.com/microsoft/playwright/issues/28362362 - [BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 characthttps://github.com/microsoft/playwright/pull/282398239 - fix: collect all errors in removeFolders
Browser Versions
This version was also tested against the following stable channels:
v1.40.0Compare Source
Test Generator Update
New tools to generate assertions:
Here is an example of a generated test with assertions:
New APIs
reasonin page.close(), browserContext.close() and browser.close(). Close reason is reported for all operations interrupted by the closure.firefoxUserPrefsin browserType.launchPersistentContext(userDataDir).Other Changes
Browser Versions
This version was also tested against the following stable channels:
v1.39.0Compare 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.1Compare 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.0Compare Source
UI Mode Updates
New APIs
browserContext.on('weberror')][browserContext.on('weberror')]locator.pressSequentially()][locator.pressSequentially()]reporter.onEnd()][reporter.onEnd()] now reportsstartTimeand 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/testpackage and download browsers vianpx playwright installcommand. If you are following this recommendation, nothing has changed for you.However, up to v1.38, installing the
playwrightpackage instead of@playwright/testdid automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers vianpx playwright installcommand.v1.37 and earlier
playwrightpackage was downloading browsers duringnpm install, while@playwright/testwas not.v1.38 and later
playwrightand@playwright/testpackages do not download browsers duringnpm install.Recommended migration
Run
npx playwright installto download browsers afternpm install. For example, in your CI configuration:Alternative migration option - not recommended
Add
@playwright/browser-chromium,@playwright/browser-firefoxand@playwright/browser-webkitas 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:
v1.37.1Compare Source
Highlights
https://github.com/microsoft/playwright/issues/26496 - [REGRESSION] webServer stdout is always getting printedhttps://github.com/microsoft/playwright/issues/264922 - [REGRESSION] test.only with project dependency is not working
Browser Versions
This version was also tested against the following stable channels:
v1.37.0Compare Source
Watch the overview: Playwright 1.36 & 1.37
✨ 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-reportsCLI tool.Using
merge-reportstool requires the following steps:Adding a new "blob" reporter to the config when running on CI:
The "blob" reporter will produce ".zip" files that contain all the information
about the test run.
Copying all "blob" reports in a single shared location and running
npx playwright merge-reports:Read more in our documentation.
📚 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:
🌈 UI Mode Updates
Browser Versions
This version was also tested against the following stable channels:
v1.36.2: 1.36.2Compare Source
Highlights
https://github.com/microsoft/playwright/issues/24316 - [REGRESSION] Character classes are not working in globs in 1.36
Browser Versions
This version was also tested against the following stable channels:
v1.36.1Compare Source
Highlights
https://github.com/microsoft/playwright/issues/24184 - [REGRESSION]: Snapshot name contains some random string after test name when tests are run in container
Browser Versions
This version was also tested against the following stable channels:
v1.36.0Compare Source
Watch the overview: Playwright 1.36 & 1.37
Highlights
🏝️ Summer maintenance release.
Browser Versions
This version was also tested against the following stable channels:
v1.35.1Compare Source
Highlights
https://github.com/microsoft/playwright/issues/23622 - [Docs] Provide a description how to correctly use expect.configure with poll parameterhttps://github.com/microsoft/playwright/issues/236666 - [BUG] Live Trace does not work with Codespacehttps://github.com/microsoft/playwright/issues/2369393 - [BUG] attachment steps are not hidden inside expect.toHaveScreenshot()
Browser Versions
This version was also tested against the following stable channels:
v1.35.0Compare Source
Playwright v1.35 updates
Highlights
UI mode is now available in VSCode Playwright extension via a new "Show trace viewer" button:
UI mode and trace viewer mark network requests handled with
page.route()andbrowserContext.route()handlers, as well as those issued via the API testing:New option
maskColorfor methodspage.screenshot(),locator.screenshot(),expect(page).toHaveScreenshot()andexpect(locator).toHaveScreenshot()to change default masking color:New
uninstallCLI command to uninstall browser binaries:Both UI mode and trace viewer now could be opened in a browser tab:
playwright-corebinary got renamed fromplaywrighttoplaywright-core. So if you useplaywright-coreCLI, make sure to update the name:$ npx playwright-core install # the new way to install browsers when using playwright-coreThis change does not affect
@playwright/testandplaywrightpackage users.Browser Versions
This version was also tested against the following stable channels:
v1.34.3Compare Source
Highlights
https://github.com/microsoft/playwright/issues/23228 - [BUG] Getting "Please install @playwright/test package..." after upgrading from 1.34.0 to 1.34.1
Browser Versions
This version was also tested against the following stable channels:
v1.34.2Compare Source
Highlights
https://github.com/microsoft/playwright/issues/23225 - [BUG] VSCode Extension broken with Playwright 1.34.1
Browser Versions
This version was also tested against the following stable channels:
v1.34.1Compare Source
Highlights
https://github.com/microsoft/playwright/issues/23186 - [BUG] Container image for v1.34.0 missing library for webkithttps://github.com/microsoft/playwright/issues/232066 - [BUG] Unable to install supported browsers for v1.34.0 from playwright-corhttps://github.com/microsoft/playwright/issues/2320707 - [BUG] importing ES Module JSX component is broken since 1.34
Browser Versions
This version was also tested against the following stable channels:
v1.34.0Compare Source
Playwright v1.33 & v1.34 updates
Highlights
UI Mode now shows steps, fixtures and attachments:
New property
testProject.teardownto specify a project that needs to run after thisand all dependent projects have finished. Teardown is useful to cleanup any resources acquired by this project.
A common pattern would be a
setupdependency with a correspondingteardown:New method
expect.configureto create pre-configured expect instance with its own defaults such astimeoutandsoft.New options
stderrandstdoutintestConfig.webServerto configure output handling:New
locator.and()to create a locator that matches both locators.New events
browserContext.on('console')andbrowserContext.on('dialog')to subscribe to any dialogsand console messages from any page from the given browser context. Use the new methods
consoleMessage.page()and
dialog.page()to pin-point event source.npx playwright testno longer works if you install bothplaywrightand@playwright/test. There's no needto install both, since you can always import browser automation APIs from
@playwright/testdirectly:Node.js 14 is no longer supported since it reached its end-of-life on April 30, 2023.
Browser Versions
This version was also tested against the following stable channels:
v1.33.0Compare Source
Playwright v1.33 & v1.34 updates
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:
Use new options
hasNotandhasNotTextin [locator.filter()][locator.filter()]to find elements that do not match certain conditions.
Use new web-first assertion [
locatorAssertions.toBeAttached()][locatorAssertions.toBeAttached()] to ensure that the elementis present in the page's DOM. Do not confuse with the [
locatorAssertions.toBeVisible()][locatorAssertions.toBeVisible()] that ensures thatelement is both attached & visible.
New APIs
locator.or()][locator.or()]hasNotin [locator.filter()][locator.filter()]hasNotTextin [locator.filter()][locator.filter()]locatorAssertions.toBeAttached()][locatorAssertions.toBeAttached()]timeoutin [route.fetch()][route.fetch()]reporter.onExit()][reporter.onExit()]mcr.microsoft.com/playwright:v1.33.0now serves a Playwright image based on Ubuntu Jammy.To use the focal-based image, please use
mcr.microsoft.com/playwright:v1.33.0-focalinstead.Browser Versions
This version was also tested against the following stable channels:
v1.32.3Compare Source
Highlights
https://github.com/microsoft/playwright/issues/22144 - [BUG] WebServer only starting after timeouthttps://github.com/microsoft/playwright/pull/221911 - chore: allow reusing browser between the testshttps://github.com/microsoft/playwright/issues/222155 - [BUG] Tests failing in toPass often marked as passed
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: 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.
This PR has been generated by Mend Renovate. View repository job log here.