chore(deps): update dependency @playwright/test to v1.42.1 #69
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.30.0
->1.42.1
Release Notes
microsoft/playwright (@playwright/test)
v1.42.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/29732 - [Regression]: HEAD requests to webServer.url since v1.42.0https://github.com/microsoft/playwright/issues/297466 - [Regression]: Playwright CT CLI scripts fail due to broken initializePlugin imporhttps://github.com/microsoft/playwright/issues/2973939 - [Bug]: Component tests fails when imported a module with a dot in a nahttps://github.com/microsoft/playwright/issues/29731731 - [Regression]: 1.42.0 breaks some import statemehttps://github.com/microsoft/playwright/issues/297609760 - [Bug]: Possible regression with chained locators in v1.42
Browser Versions
This version was also tested against the following stable channels:
v1.42.0
Compare Source
New APIs
Test tags
New tag syntax for adding tags to the tests (@-tokens in the test title are still supported).
Use
--grep
command line option to run only tests with certain tags.Annotating skipped tests
New annotation syntax for test annotations allows annotating the tests that do not run.
page.addLocatorHandler()
New method page.addLocatorHandler() registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.
Project wildcard filter
Playwright command line flag now supports '*' wildcard when filtering by project.
Other APIs
expect(callback).toPass({ timeout })
The timeout can now be configured by
expect.toPass.timeout
option globally or in project configelectronApplication.on('console')
electronApplication.on('console') event is emitted when Electron main process calls console API methods.
page.pdf() accepts two new options
tagged
andoutline
.Breaking changes
Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.
Announcements
Browser Versions
This version was also tested against the following stable channels:
v1.41.2
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/29123 - [REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.
Browser Versions
This version was also tested against the following stable channels:
v1.41.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/29067 - [REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recordedhttps://github.com/microsoft/playwright/issues/290288 - [REGRESSION] React component tests throw type error when passing null/undefined to componenhttps://github.com/microsoft/playwright/issues/2902727 - [REGRESSION] React component tests not passing Date prop valuhttps://github.com/microsoft/playwright/issues/29023023 - [REGRESSION] React component tests not rendering children phttps://github.com/microsoft/playwright/issues/290199019 - [REGRESSION] trace.playwright.dev does not currently support the loading from URL
Browser Versions
This version was also tested against the following stable channels:
v1.41.0
Compare Source
New APIs
style
in page.screenshot([options]) and locator.screenshot([options]) to add custom CSS to the page before taking a screenshot.stylePath
for methods expect(page).toHaveScreenshot(name[, options]) and expect(locator).toHaveScreenshot(name[, options]) to apply a custom stylesheet while making the screenshot.fileName
option for Blob reporter, to specify the name of the report to be created.Browser Versions
This version was also tested against the following stable channels:
v1.40.1
Compare 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.0
Compare Source
Test Generator Update
New tools to generate assertions:
Here is an example of a generated test with assertions:
New APIs
reason
in page.close(), browserContext.close() and browser.close(). Close reason is reported for all operations interrupted by the closure.firefoxUserPrefs
in browserType.launchPersistentContext(userDataDir).Other Changes
Browser Versions
This version was also tested against the following stable channels:
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:
v1.37.1
Compare 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.0
Compare 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-reports
CLI tool.Using
merge-reports
tool 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.1
Compare 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.0
Compare 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.1
Compare 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.0
Compare 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
maskColor
for methodspage.screenshot()
,locator.screenshot()
,expect(page).toHaveScreenshot()
andexpect(locator).toHaveScreenshot()
to change default masking color:New
uninstall
CLI command to uninstall browser binaries:Both UI mode and trace viewer now could be opened in a browser tab:
playwright-core
binary got renamed fromplaywright
toplaywright-core
. So if you useplaywright-core
CLI, make sure to update the name:$ npx playwright-core install # the new way to install browsers when using playwright-core
This change does not affect
@playwright/test
andplaywright
package users.Browser Versions
This version was also tested against the following stable channels:
v1.34.3
Compare 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.2
Compare 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.1
Compare 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.0
Compare Source
Playwright v1.33 & v1.34 updates
Highlights
UI Mode now shows steps, fixtures and attachments:
New property
testProject.teardown
to 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
setup
dependency with a correspondingteardown
:New method
expect.configure
to create pre-configured expect instance with its own defaults such astimeout
andsoft
.New options
stderr
andstdout
intestConfig.webServer
to 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 test
no longer works if you install bothplaywright
and@playwright/test
. There's no needto install both, since you can always import browser automation APIs from
@playwright/test
directly: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.0
Compare 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
hasNot
andhasNotText
in [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()]hasNot
in [locator.filter()
][locator.filter()]hasNotText
in [locator.filter()
][locator.filter()]locatorAssertions.toBeAttached()
][locatorAssertions.toBeAttached()]timeout
in [route.fetch()
][route.fetch()]reporter.onExit()
][reporter.onExit()]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
This version was also tested against the following stable channels:
v1.32.3
Compare 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:
v1.32.2
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/21993 - [BUG] Browser crash when using Playwright VSC extension and trace-viewer enabled in confighttps://github.com/microsoft/playwright/issues/220033 - [Feature] Make Vue component mount props less restrictivhttps://github.com/microsoft/playwright/issues/2208989 - [REGRESSION]: Tests failing with "Error: tracing.stopChunk"
Browser Versions
This version was also tested against the following stable channels:
v1.32.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/21832 - [BUG] Trace is not opening on specific broken locatorhttps://github.com/microsoft/playwright/issues/218977 - [BUG] --ui fails to open with error reading mainFrame from an undefined this._pahttps://github.com/microsoft/playwright/issues/21918918 - [BUG]: UI mode, skipped tests not being fohttps://github.com/microsoft/playwright/issues/219411941 - [BUG] UI mode does not show webServer startup erhttps://github.com/microsoft/playwright/issues/2195321953 - [BUG] Parameterized tests are not displayed in the UI mode
Browser Versions
This version was also tested against the following stable channels:
v1.32.0
Compare Source
📣 Introducing UI Mode (preview)
Playwright v1.32 updates
New UI Mode lets you explore, run and debug tests. Comes with a built-in watch mode.
Engage with a new flag
--ui
:npx playwright test --ui
New APIs
option: updateMode
andoption: updateContent
inpage.routeFromHAR()
andbrowserContext.routeFromHAR()
.TestInfo.testId
.name
in methodTracing.startChunk()
.Note: component tests only, does not affect end-to-end tests.
@playwright/experimental-ct-react
now supports React 18 only.@playwright/experimental-ct-react
with@playwright/experimental-ct-react17
.Browser Versions
This version was also tested against the following stable channels:
v1.31.2
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/20784 - [BUG] ECONNREFUSED on GitHub Actions with Node 18https://github.com/microsoft/playwright/issues/211455 - [REGRESSION]: firefox-1378 times out on await page.reload() when URL contains a #hashttps://github.com/microsoft/playwright/issues/2122626 - [BUG] Playwright seems to get stuck when using shard option and last test is skipphttps://github.com/microsoft/playwright/issues/21227227 - Using the webServer config with a Vite dev servehttps://github.com/microsoft/playwright/issues/21312312 - throw if defineConfig is not used for component testing
Browser Versions
This version was also tested against the following stable channels:
v1.31.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/21093 - [Regression v1.31] Headless Windows shows cascading cmd windowshttps://github.com/microsoft/playwright/pull/211066 - fix(loader): experimentalLoader with node@18
Browser Versions
This version was also tested against the following stable channels:
v1.31.0
Compare Source
New APIs
New property
TestProject.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.
New assertion
expect(locator).toBeInViewport()
ensures that locator points to an element that intersects viewport, according to the intersection observer API.Miscellaneous
defineConfig
to be used inplaywright.config
.maxRedirects
for methodRoute.fetch
.Note: component tests only, does not affect end-to-end tests.
playwright-ct.config
configuration file for component testing now requires callingdefineConfig
.Replace
config
variable definition withdefineConfig
call: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 this update again.
This PR has been generated by Mend Renovate. View repository job log here.