chore(deps): update dependency @playwright/test to v1.49.1 #11
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/playwright-monorepo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.28.0
->1.49.1
Release Notes
microsoft/playwright (@playwright/test)
v1.49.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/33802 - [Bug]: Codegen's Clear button doesn't work if not recording
https://github.com/microsoft/playwright/issues/33806 - [Bug]: playwright hangs while waiting for pending navigations
https://github.com/microsoft/playwright/issues/33787 - [Bug]: VSC extension isn't capturing all entered text
https://github.com/microsoft/playwright/issues/33788 - [Regression]: Double clicking the steps in trace viewer doesn't filter actions
https://github.com/microsoft/playwright/issues/33772 - [Bug]: aria_snapshot generates invalid yaml when combined with an aria-label attribut
https://github.com/microsoft/playwright/issues/33791 - [Bug]: text input with number value raises "container is not iterable" with to_match_aria_snapshot
https://github.com/microsoft/playwright/issues/33644 - [Bug]: getByRole can't find element with the accessible name from label element when aria-labelledby is not valid
https://github.com/microsoft/playwright/issues/33660 - [Regression]: Unable to open Playwright UI in Dark Mode
Browser Versions
This version was also tested against the following stable channels:
v1.49.0
Compare Source
Aria snapshots
New assertion expect(locator).toMatchAriaSnapshot() verifies page structure by comparing to an expected accessibility tree, represented as YAML.
You can generate this assertion with Test Generator and update the expected snapshot with
--update-snapshots
command line flag.Learn more in the aria snapshots guide.
Test runner
tsconfig
to be used for all tests.'on-first-failure'
for testOptions.screenshot.Error.cause
.Breaking: channels
chrome
,msedge
and similar switch to new headlessThis change affects you if you're using one of the following channels in your
playwright.config.ts
:chrome
,chrome-dev
,chrome-beta
, orchrome-canary
msedge
,msedge-dev
,msedge-beta
, ormsedge-canary
What do I need to do?
After updating to Playwright v1.49, run your test suite. If it still passes, you're good to go. If not, you will probably need to update your snapshots, and adapt some of your test code around PDF viewers and extensions. See issue #33566 for more details.
Other breaking changes
@playwright/experimental-ct-vue2
will no longer be updated.@playwright/experimental-ct-solid
will no longer be updated.Try new Chromium headless
You can opt into the new headless mode by using
'chromium'
channel. As official Chrome documentation puts it:See issue #33566 for the list of possible breakages you could encounter and more details on Chromium headless. Please file an issue if you see any problems after opting in.
Miscellaneous
<canvas>
elements inside a snapshot now draw a preview.Browser Versions
This version was also tested against the following stable channels:
v1.48.2
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/33141 - [Bug]: UI Mode crashed
https://github.com/microsoft/playwright/issues/33219 - [BUG] Trace Viewer PWA crashes with "Aw, Snap!"
https://github.com/microsoft/playwright/issues/33086 - [Bug]: UI Mode Memory problem
https://github.com/microsoft/playwright/issues/33000 - [Regression]: Inspector and Browser doesn't close on CTRL+C
https://github.com/microsoft/playwright/issues/33204 - [Bug]: Chrome tab and inspector not closing after terminating session in terminal
Browser Versions
This version was also tested against the following stable channels:
v1.48.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/33023 - [Bug]: command line flag --headed has no effect in ui mode
https://github.com/microsoft/playwright/issues/33107 - [REGRESSION]: page.waitForRequest does not get resolved since 1.48.0
https://github.com/microsoft/playwright/issues/33085 - [Bug]: WebSocket route does not handle full URLs in Playwright
https://github.com/microsoft/playwright/issues/33052 - [Regression]: Inspector not showing recorded steps
https://github.com/microsoft/playwright/issues/33132 - [Bug]: Wrong Ubuntu release name in Dockerfile.noble
https://github.com/microsoft/playwright/pull/32996 - [BUG] Trace attachments have small unusable height
Browser Versions
This version was also tested against the following stable channels:
v1.48.0
Compare Source
WebSocket routing
New methods page.routeWebSocket() and browserContext.routeWebSocket() allow to intercept, modify and mock WebSocket connections initiated in the page. Below is a simple example that mocks WebSocket communication by responding to a
"request"
with a"response"
.See WebSocketRoute for more details.
UI updates
Miscellaneous
form
and similar ones now accept FormData.location
to pass custom step location.Browser Versions
This version was also tested against the following stable channels:
v1.47.2
Compare Source
Highlights
https://github.com/microsoft/playwright/pull/32699- [REGRESSION]: fix(codegen): use content_frame property in python/.NET
https://github.com/microsoft/playwright/issues/32706- [REGRESSION]: page.pause() does not pause test timeout after 1.47
https://github.com/microsoft/playwright/pull/32661 - fix(trace-viewer): time delta between local and remote actions
Browser Versions
This version was also tested against the following stable channels:
v1.47.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/32480 - [REGRESSION]: tsconfig.json's compilerOptions.paths no longer working in 1.47
https://github.com/microsoft/playwright/issues/32552 - [REGRESSION]: broken UI in Trace Viewer while showing network response body
Browser Versions
This version was also tested against the following stable channels:
v1.47.0
Compare Source
Network Tab improvements
The Network tab in the UI mode and trace viewer has several nice improvements:
Credit to @kubajanik for these wonderful improvements!
--tsconfig
CLI optionBy default, Playwright will look up the closest tsconfig for each imported file using a heuristic. You can now specify a single tsconfig file in the command line, and Playwright will use it for all imported files, not only test files:
APIRequestContext now accepts
URLSearchParams
andstring
as query parametersYou can now pass
URLSearchParams
andstring
as query parameters to APIRequestContext:Miscellaneous
mcr.microsoft.com/playwright:v1.47.0
now serves a Playwright image based on Ubuntu 24.04 Noble.To use the 22.04 jammy-based image, please use
mcr.microsoft.com/playwright:v1.47.0-jammy
instead.:latest
/:focal
/:jammy
tag for Playwright Docker images is no longer being published. Pin to a specific version for better stability and reproducibility.behavior
in page.removeAllListeners(), browser.removeAllListeners() and browserContext.removeAllListeners() to wait for ongoing listeners to complete.cert
andkey
as buffers instead of file paths.text/html
content type can now be opened in a new tab in the HTML report. This is useful for including third-party reports or other HTML content in the Playwright test report and distributing it to your team.noWaitAfter
in locator.selectOption() was deprecated.macos-13
. We recommend upgrading GitHub Actions tomacos-14
.Browser Versions
This version was also tested against the following stable channels:
v1.46.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/32004 - [REGRESSION]: Client Certificates don't work with Microsoft IIS
https://github.com/microsoft/playwright/issues/32004 - [REGRESSION]: Websites stall on TLS handshake errors when using Client Certificates
https://github.com/microsoft/playwright/issues/32146 - [BUG]: Credential scanners warn about internal socks-proxy TLS certificates
https://github.com/microsoft/playwright/issues/32056 - [REGRESSION]: 1.46.0 (TypeScript) - custom fixtures extend no longer chainable
https://github.com/microsoft/playwright/issues/32070 - [Bug]: --only-changed flag and project dependencies
https://github.com/microsoft/playwright/issues/32188 - [Bug]: --only-changed with shallow clone throws "unknown revision" error
Browser Versions
This version was also tested against the following stable channels:
v1.46.0
Compare Source
TLS Client Certificates
Playwright now allows to supply client-side certificates, so that server can verify them, as specified by TLS Client Authentication.
When client certificates are specified, all browser traffic is routed through a proxy that establishes the secure TLS connection, provides client certificates to the server and validates server certificates.
The following snippet sets up a client certificate for
https://example.com
:You can also provide client certificates to a particular test project or as a parameter of browser.newContext() and apiRequest.newContext().
--only-changed
cli optionNew CLI option
--only-changed
allows to only run test files that have been changed since the last git commit or from a specific git "ref".Component Testing: New
router
fixtureThis release introduces an experimental
router
fixture to intercept and handle network requests in component testing.There are two ways to use the router fixture:
router.route(url, handler)
that behaves similarly to page.route().router.use(handlers)
and pass MSW library request handlers to it.Here is an example of reusing your existing MSW handlers in the test.
This fixture is only available in component tests.
UI Mode / Trace Viewer Updates
baseURL
.Miscellaneous
maxRetries
option in apiRequestContext.fetch() which retries on theECONNRESET
network error.Possibly breaking change
Fixture values that are array of objects, when specified in the
test.use()
block, may require being wrapped into a fixture tuple. This is best seen on the example:Browser Versions
This version was also tested against the following stable channels:
v1.45.3
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/31764 - [Bug]: some actions do not appear in the trace file
https://github.com/microsoft/playwright-java/issues/1617 - [Bug]: Traceviewer not reporting all actions
Browser Versions
This version was also tested against the following stable channels:
v1.45.2
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/31613 - [REGRESSION]: Trace is not showing any screenshots nor test name
https://github.com/microsoft/playwright/issues/31601 - [REGRESSION]: missing trace for 2nd browser
https://github.com/microsoft/playwright/issues/31541 - [REGRESSION]: Failing tests have a trace with no images and with steps missing
Browser Versions
This version was also tested against the following stable channels:
v1.45.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/31473 - [REGRESSION]: Playwright raises an error ENOENT: no such file or directory, open 'test-results/.playwright-artifacts-0/hash.zip' with Electron
https://github.com/microsoft/playwright/issues/31442 - [REGRESSION]: Locators of elements changing from/to hidden have operations hanging when using
--disable-web-security
https://github.com/microsoft/playwright/issues/31431 - [REGRESSION]: NewTab doesn't work properly with Chrome with
--disable-web-security
https://github.com/microsoft/playwright/issues/31425 - [REGRESSION]: beforeEach hooks are not skipped when describe condition depends on fixtures
https://github.com/microsoft/playwright/issues/31491 - [REGRESSION]:
@playwright/experimental-ct-react
doesn't work with VSCode extension and PNPMBrowser Versions
This version was also tested against the following stable channels:
v1.45.0
Compare Source
Clock
Utilizing the new Clock API allows to manipulate and control time within tests to verify time-related behavior. This API covers many common scenarios, including:
See the clock guide for more details.
Test runner
New CLI option
--fail-on-flaky-tests
that sets exit code to1
upon any flaky tests. Note that by default, the test runner exits with code0
when all failed tests recovered upon a retry. With this option, the test run will fail in such case.New enviroment variable
PLAYWRIGHT_FORCE_TTY
controls whether built-inlist
,line
anddot
reporters assume a live terminal. For example, this could be useful to disable tty behavior when your CI environment does not handle ANSI control sequences well. Alternatively, you can enable tty behavior even when to live terminal is present, if you plan to post-process the output and handle control sequences.Avoid TTY features that output ANSI control sequences
PLAYWRIGHT_FORCE_TTY=0 npx playwright test
Enable TTY features, assuming a terminal width 80
PLAYWRIGHT_FORCE_TTY=80 npx playwright test
Miscellaneous
Method locator.setInputFiles() now supports uploading a directory for
<input type=file webkitdirectory>
elements.Multiple methods like locator.click() or locator.press() now support a
ControlOrMeta
modifier key. This key maps toMeta
on macOS and maps toControl
on Windows and Linux.New property
httpCredentials.send
in apiRequest.newContext() that allows to either always send theAuthorization
header or only send it in response to401 Unauthorized
.New option
reason
in apiRequestContext.dispose() that will be included in the error message of ongoing operations interrupted by the context disposal.New option
host
in browserType.launchServer() allows to accept websocket connections on a specific address instead of unspecified0.0.0.0
.Playwright now supports Chromium, Firefox and WebKit on Ubuntu 24.04.
v1.45 is the last release to receive WebKit update for macOS 12 Monterey. Please update macOS to keep using the latest WebKit.
Browser Versions
This version was also tested against the following stable channels:
v1.44.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/30779 - [REGRESSION]: When using
video: 'on'
with VSCode extension the browser got closedhttps://github.com/microsoft/playwright/issues/30755 - [REGRESSION]: Electron launch with spaces inside executablePath didn't work
https://github.com/microsoft/playwright/issues/30770 - [REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't work
https://github.com/microsoft/playwright/issues/30858 - [REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report
Browser Versions
This version was also tested against the following stable channels:
v1.44.0
Compare Source
New APIs
Accessibility assertions
expect(locator).toHaveAccessibleName() checks if the element has the specified accessible name:
expect(locator).toHaveAccessibleDescription() checks if the element has the specified accessible description:
expect(locator).toHaveRole() checks if the element has the specified ARIA role:
Locator handler
noWaitAfter
option.times
option in page.addLocatorHandler() to specify maximum number of times the handler should be run.Miscellaneous options
multipart
option inapiRequestContext.fetch()
now acceptsFormData
and supports repeating fields with the same name.expect(callback).toPass({ intervals })
can now be configured byexpect.toPass.inervals
option globally in testConfig.expect or per project in testProject.expect.expect(page).toHaveURL(url)
now supportsignoreCase
option.testProject.ignoreSnapshots allows to configure per project whether to skip screenshot expectations.
Reporter API
outputFile
. The same option can also be specified asPLAYWRIGHT_BLOB_OUTPUT_FILE
environment variable that might be more convenient on CI/CD.includeProjectInTestName
option.Command line
--last-failed
CLI option for running only tests that failed in the previous run.First run all tests:
Now fix the failing tests and run Playwright again with
--last-failed
option:Browser Versions
This version was also tested against the following stable channels:
v1.43.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/30300 - [REGRESSION]: UI mode restarts if keep storage state
https://github.com/microsoft/playwright/issues/30339 - [REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode
Browser Versions
This version was also tested against the following stable channels:
v1.43.0
Compare Source
New APIs
Method browserContext.clearCookies() now supports filters to remove only some cookies.
New mode
retain-on-first-failure
for testOptions.trace. In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.New property testInfo.tags exposes test tags during test execution.
New method locator.contentFrame() converts a
Locator
object to aFrameLocator
. This can be useful when you have aLocator
object obtained somewhere, and later on would like to interact with the content inside the frame.New method frameLocator.owner() converts a
FrameLocator
object to aLocator
. This can be useful when you have aFrameLocator
object obtained somewhere, and later on would like to interact with theiframe
element.UI Mode Updates
@fast
or clicking on the tag itself.Browser Versions
This version was also tested against the following stable channels:
v1.42.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/29732 - [Regression]: HEAD requests to webServer.url since v1.42.0
https://github.com/microsoft/playwright/issues/29746 - [Regression]: Playwright CT CLI scripts fail due to broken initializePlugin import
https://github.com/microsoft/playwright/issues/29739 - [Bug]: Component tests fails when imported a module with a dot in a name
https://github.com/microsoft/playwright/issues/29731 - [Regression]: 1.42.0 breaks some import statements
https://github.com/microsoft/playwright/issues/29760 - [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 recorded
https://github.com/microsoft/playwright/issues/29028 - [REGRESSION] React component tests throw type error when passing null/undefined to component
https://github.com/microsoft/playwright/issues/29027 - [REGRESSION] React component tests not passing Date prop values
https://github.com/microsoft/playwright/issues/29023 - [REGRESSION] React component tests not rendering children prop
https://github.com/microsoft/playwright/issues/29019 - [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 traces
https://github.com/microsoft/playwright/issues/28371 - [BUG] The color of the 'ok' text did not change to green in the vs code test results section
https://github.com/microsoft/playwright/issues/28321 - [BUG] Ambiguous test outcome and status for serial mode
https://github.com/microsoft/playwright/issues/28362 - [BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 characters
https://github.com/microsoft/playwright/pull/28239 - 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.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 TypeError
https://github.com/microsoft/playwright/issues/27073 - [BUG] RangeError: Invalid time value
https://github.com/microsoft/playwright/issues/27087 - [REGRESSION]: npx playwright test --list prints all tests twice
https://github.com/microsoft/playwright/issues/27113 - [REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pages
https://github.com/microsoft/playwright/issues/27144 - [BUG]can not display trace
https://github.com/microsoft/playwright/issues/27163 - [REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode Flag
https://github.com/microsoft/playwright/issues/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 printed
https://github.com/microsoft/playwright/issues/26492 - [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 parameter
https://github.com/microsoft/playwright/issues/23666 - [BUG] Live Trace does not work with Codespaces
https://github.com/microsoft/playwright/issues/23693 - [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:
⚠️ Breaking changes
playwright-core
binary got renamed fromplaywright
toplaywright-core
. So if you useplaywright-core
CLI, make sure to update the name: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 webkit
https://github.com/microsoft/playwright/issues/23206 - [BUG] Unable to install supported browsers for v1.34.0 from playwright-core
https://github.com/microsoft/playwright/issues/23207 - [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.⚠️ Breaking changes
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()]⚠️ Breaking change
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 timeout
https://github.com/microsoft/playwright/pull/22191 - chore: allow reusing browser between the tests
https://github.com/microsoft/playwright/issues/22215 - [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 config
https://github.com/microsoft/playwright/issues/22003 - [Feature] Make Vue component mount props less restrictive
https://github.com/microsoft/playwright/issues/22089 - [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 locator
https://github.com/microsoft/playwright/issues/21897 - [BUG] --ui fails to open with error reading mainFrame from an undefined this._page
https://github.com/microsoft/playwright/issues/21918 - [BUG]: UI mode, skipped tests not being found
https://github.com/microsoft/playwright/issues/21941 - [BUG] UI mode does not show webServer startup errors
https://github.com/microsoft/playwright/issues/21953 - [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
:New APIs
option: updateMode
andoption: updateContent
inpage.routeFromHAR()
andbrowserContext.routeFromHAR()
.TestInfo.testId
.name
in methodTracing.startChunk()
.⚠️ 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.@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 18
https://github.com/microsoft/playwright/issues/21145 - [REGRESSION]: firefox-1378 times out on await page.reload() when URL contains a #hash
https://github.com/microsoft/playwright/issues/21226 - [BUG] Playwright seems to get stuck when using shard option and last test is skipped
https://github.com/microsoft/playwright/issues/21227 - Using the webServer config with a Vite dev server?
https://github.com/microsoft/playwright/issues/21312 - 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 windows
https://github.com/microsoft/playwright/pull/21106 - 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
.⚠️ Breaking change in component tests
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:
v1.30.0
Compare Source
🎉 Happy New Year 🎉
Maintenance release with bugfixes and new browsers only. We are baking some nice features for v1.31.
Browser Versions
This version was also tested against the following stable channels:
v1.29.2
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/19661 - [BUG] 1.29.1 browserserver + page.goto = net::ERR_SOCKS_CONNECTION_FAILED
Browser Versions
This version was also tested against the following stable channels:
v1.29.1
Compare Source
Highlights
https://github.com/microsoft/playwright/issues/18928 - [BUG] Electron firstWindow times out after upgrading to 1.28.0
https://github.com/microsoft/playwright/issues/19246 - [BUG] Electron firstWindow times out after upgrading to 1.28.1
https://github.com/microsoft/playwright/issues/19412 - [REGRESSION]: 1.28 does not work with electron-serve anymore.
https://github.com/microsoft/playwright/issues/19540 - [BUG] electron.app.getAppPath() returns the path one level higher if you run electron pointing to the directory
https://github.com/microsoft/playwright/issues/19548 - [REGRESSION]: Ubuntu 18 LTS not supported anymore
Browser Versions
This version was also tested against the following stable channels:
v1.29.0
Compare Source
New APIs
New method
route.fetch()
and new optionjson
forroute.fulfill()
:New method
locator.all()
to iterate over all matching elements:Locator.selectOption
matches now by value or label:Retry blocks of code until all assertions pass:
Read more in our documentation.
Automatically capture full page screenshot on test failure:
Miscellaneous
jsconfig.json
.args
andproxy
forandroidDevice.launchBrowser()
.postData
in methodroute.continue()
now supports serializable values.Browser Versions
This version was also tested against the following stable channels:
v1.28.1
Compare Source
Highlights
This patch release includes the following bug fixes:
https://github.com/microsoft/playwright/issues/18928 - [BUG] Electron firstWindow times out after upgrading to 1.28.0
https://github.com/microsoft/playwright/issues/18920 - [BUG] [expanded=false] in role selector returns elements without aria-expanded attribute
https://github.com/microsoft/playwright/issues/18865 - [BUG] regression in killing web server process in 1.28.0
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 Renovate Bot.
chore(deps): update dependency @playwright/test to v1.48.0to chore(deps): update dependency @playwright/test to v1.48.1f9f53db341
to28b7e0cd46
chore(deps): update dependency @playwright/test to v1.48.1to chore(deps): update dependency @playwright/test to v1.48.228b7e0cd46
tob2488e8b15
chore(deps): update dependency @playwright/test to v1.48.2to chore(deps): update dependency @playwright/test to v1.49.0b2488e8b15
to0dc9672b78
chore(deps): update dependency @playwright/test to v1.49.0to chore(deps): update dependency @playwright/test to v1.49.10dc9672b78
tof15939c25b
Checkout
From your project repository, check out a new branch and test the changes.