From 52e4e0dda98c484d49a2b14e1d3f9f864d67125f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 28 Jul 2026 14:15:37 +0000
Subject: [PATCH] chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0
(#2042)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [@playwright/test](https://github.com/microsoft/playwright) from
1.61.1 to 1.62.0.
Release notes
Sourced from @playwright/test's
releases.
v1.62.0
🧱 New component testing model
Component
testing moves to a stories and galleries model.
A story wraps your component in one specific scenario —
hard-coded props, mock data, providers — and a gallery
page that you serve renders stories on demand.
The new fixtures.mount()
fixture navigates to the gallery, mounts a story by id, and returns a Locator scoped
to the story's root element:
test('click should expand', async ({ mount }) =>
{
const component = await mount('components/Expandable/Stateful');
await component.getByRole('button').click();
await expect(component.getByTestId('expanded')).toHaveValue('true');
});
Pass a story type as a template argument to type-check its props, and
use update(props) / unmount() on the returned
locator to re-render or tear down within a test.
🛑 Cancel operations with AbortSignal
Most operations and web-first assertions now accept a
signal option that takes an AbortSignal,
letting you cancel long-running actions, navigations, waits, and
assertions:
const controller = new AbortController();
setTimeout(() => controller.abort(), 1000);
await page.getByRole('button', { name: 'Submit' }).click({ signal:
controller.signal });
await expect(page.getByText('Done')).toBeVisible({ signal:
controller.signal });
Providing a signal does not disable the default timeout; pass
timeout: 0 to disable it.
🖼️ WebP screenshots
expect(page).toHaveScreenshot()
and expect(locator).toHaveScreenshot()
can now store snapshots in the WebP format — just give the snapshot a
.webp name:
// Visual comparisons store the golden snapshot as
lossless WebP.
await expect(page).toHaveScreenshot('homepage.webp');
// Standalone screenshots can trade quality for size with lossy
WebP.
await page.screenshot({ path: 'homepage.webp', quality: 50 });
page.screenshot()
and [locator.screenshot()
(https://playwright.dev/docs/api/class-locator#locator-screenshot) also
accept webp as a type, where quality
100 (the default) is lossless and lower values use lossy
compression.
🧩 Custom test filtering with Reporter.preprocess()
New reporter.preprocess()
hook runs after the configuration is resolved and before reporter.onBegin(),
letting a reporter mark individual tests as skipped, excluded, fixed, or
failing through a TestRun
object:
</tr></table>
... (truncated)
Commits
e3950d9
chore: mark v1.62.0 (#41981)
f07e0f7
cherry-pick(#41940):
docs: release notes for v1.62 (#41967)
05a306c
cherry-pick(#41964):
Revert "feat(routeFromHar): add interceptAPIRequests opt...
2934858
fix: correct pending navigation log spacing (#41949)
4b0cc99
fix(test): unflake screencast backpressure test on slow macOS runner (#41951)
bbbae6d
test: fixme WebSocket locale test in Chromium 150 (#41944)
15c4f55
fix(mcp): identify downloads explicitly (#41933)
f5fa967
fix(network): request.postData() returns null for empty string body
override ...
0edafe4
fix(mcp): launch the Chrome profile that has the extension installed (#41939)
244a1ff
feat(firefox): roll to r1538 (#41938)
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 30 +++++++++++++++---------------
package.json | 2 +-
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 75d85755..b01530f1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -66,7 +66,7 @@
"devDependencies": {
"@eslint/js": "^10.0.1",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
- "@playwright/test": "^1.61.1",
+ "@playwright/test": "^1.62.0",
"@stylistic/eslint-plugin": "^5.10.0",
"@types/codemirror": "^5.60.17",
"@types/color": "^4.2.1",
@@ -2606,19 +2606,19 @@
"license": "MIT"
},
"node_modules/@playwright/test": {
- "version": "1.61.1",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.61.1.tgz",
- "integrity": "sha512-8nKv6+0RJSL9FE4jYOEGXnPeM/Hg12qZpmqzZjRh3qM0Y7c3z1mrOTfFLids72RDQYVh9WpLEfR5WdpNX4fkig==",
+ "version": "1.62.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.62.0.tgz",
+ "integrity": "sha512-9zOJ6ZQRAena31MpOH9VSzIz8Ou3YJ/wtY/eQm5T2uhfhG7/U3COrMS8xOtUrZrp9OgdmzEnIYODye3nY1VqzA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright": "1.61.1"
+ "playwright": "1.62.0"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
- "node": ">=18"
+ "node": ">=20"
}
},
"node_modules/@rolldown/pluginutils": {
@@ -10676,35 +10676,35 @@
}
},
"node_modules/playwright": {
- "version": "1.61.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.61.1.tgz",
- "integrity": "sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==",
+ "version": "1.62.0",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.0.tgz",
+ "integrity": "sha512-Z14dG305dgaLu6foB1TXQagFiW8JfSUIUaUuPaKQ6NtBPKF1P/qXcqfh6c6K/icPqdy37JmjbiBXf6JNg6Sylw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.61.1"
+ "playwright-core": "1.62.0"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
- "node": ">=18"
+ "node": ">=20"
},
"optionalDependencies": {
"fsevents": "2.3.2"
}
},
"node_modules/playwright-core": {
- "version": "1.61.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.1.tgz",
- "integrity": "sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==",
+ "version": "1.62.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.0.tgz",
+ "integrity": "sha512-nsNRyq0r2zsG8AcRHWknc9QRA5XCueC7gWMrs+Gx2tlZn9hcl8zudfh00lhJPY1DE7NmZ6bDsT9g2yey8mXljA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"playwright-core": "cli.js"
},
"engines": {
- "node": ">=18"
+ "node": ">=20"
}
},
"node_modules/playwright/node_modules/fsevents": {
diff --git a/package.json b/package.json
index 3d927ea5..e9e33dc4 100644
--- a/package.json
+++ b/package.json
@@ -100,7 +100,7 @@
"devDependencies": {
"@eslint/js": "^10.0.1",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
- "@playwright/test": "^1.61.1",
+ "@playwright/test": "^1.62.0",
"@stylistic/eslint-plugin": "^5.10.0",
"@types/codemirror": "^5.60.17",
"@types/color": "^4.2.1",