From f082caf5a3ee00f6dd65f8f6384ed586df6c99a9 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Mon, 17 Aug 2026 13:50:33 +0100 Subject: [PATCH 1/2] test: race between disabling interception and network request in chromium (#42254) --- tests/page/page-route.spec.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/page/page-route.spec.ts b/tests/page/page-route.spec.ts index 9f426e588c976..69595e67bc4ab 100644 --- a/tests/page/page-route.spec.ts +++ b/tests/page/page-route.spec.ts @@ -985,6 +985,32 @@ it('should support async handler w/ times', async ({ page, server }) => { await expect(page.locator('body')).not.toHaveText('intercepted'); }); +it('route abort with times: 1 should not affect second sequential fetch', async ({ page, server, browserName }) => { + it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/41802' }); + it.fixme(browserName === 'chromium', 'Chromium drops a request that is intercepted while Fetch.disable is being processed; fix is not rolled yet'); + + server.setRoute('/data', (req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('ok'); + }); + + await page.goto(server.EMPTY_PAGE); + await page.route('**/data', route => route.abort('timedout'), { times: 1 }); + + const results = await page.evaluate(async () => { + async function fetchOrHung(url: string) { + const timeout = new Promise(resolve => setTimeout(() => resolve('hung'), 3000)); + const request = fetch(url).then(r => String(r.status)).catch(() => 'aborted'); + return Promise.race([request, timeout]); + } + const first = await fetchOrHung('/data'); + const second = await fetchOrHung('/data'); + return [first, second]; + }); + + expect(results).toEqual(['aborted', '200']); +}); + it('should contain raw request header', async ({ page, server }) => { let headers: any; await page.route('**/*', async route => { From 5f50181ab9898064119f2f2d853bb9f6c6623038 Mon Sep 17 00:00:00 2001 From: "microsoft-playwright-automation[bot]" <203992400+microsoft-playwright-automation[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2026 09:18:44 -0700 Subject: [PATCH 2/2] test: roll stable-test-runner to 1.63.0-alpha-2026-08-17 (#42276) --- .../stable-test-runner/package-lock.json | 41 ++++++------------- .../stable-test-runner/package.json | 2 +- 2 files changed, 13 insertions(+), 30 deletions(-) diff --git a/tests/playwright-test/stable-test-runner/package-lock.json b/tests/playwright-test/stable-test-runner/package-lock.json index b234a13dbbfad..d7c84f7e6f02c 100644 --- a/tests/playwright-test/stable-test-runner/package-lock.json +++ b/tests/playwright-test/stable-test-runner/package-lock.json @@ -5,16 +5,16 @@ "packages": { "": { "dependencies": { - "@playwright/test": "^1.62.0-alpha-2026-07-20" + "@playwright/test": "^1.63.0-alpha-2026-08-17" } }, "node_modules/@playwright/test": { - "version": "1.62.0-alpha-2026-07-20", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.62.0-alpha-2026-07-20.tgz", - "integrity": "sha512-Lb218lZdfhxIJpDF3QRaVqDjNyruDfN7gKIYbMRCHRfTsgQqz6cp2xJznDrc80k3gLC6Wby/twFkbfaKWUd/rg==", + "version": "1.63.0-alpha-2026-08-17", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0-alpha-2026-08-17.tgz", + "integrity": "sha512-w5xoMioML5gn7JWaM4nR5o9TU0jiQUeF9V6qm5VKTLZxXncqREOwaLpR/rOHdaMUXiQTcNXTRwC6Cl7Ld1BzBg==", "license": "Apache-2.0", "dependencies": { - "playwright": "1.62.0-alpha-2026-07-20" + "playwright": "1.63.0-alpha-2026-08-17" }, "bin": { "playwright": "cli.js" @@ -23,42 +23,25 @@ "node": ">=20" } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/playwright": { - "version": "1.62.0-alpha-2026-07-20", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.0-alpha-2026-07-20.tgz", - "integrity": "sha512-/h5GCcC7LUQOUS+XpGhY5B+UWsyU7PC2oEVzSjqn6dBf2FQBohD+JV0FDrmQkhcTqn5AoWNTbEEPswu9WZvtZg==", + "version": "1.63.0-alpha-2026-08-17", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0-alpha-2026-08-17.tgz", + "integrity": "sha512-oJv7tE/BRTZnxtcXOd6nWN6g3M8IfuQ/Lqhi+aT8fwFaFK44StxAMaD3BpFyUoQHCXX/bLcnfyXgQGVl7nT4ag==", "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.62.0-alpha-2026-07-20" + "playwright-core": "1.63.0-alpha-2026-08-17" }, "bin": { "playwright": "cli.js" }, "engines": { "node": ">=20" - }, - "optionalDependencies": { - "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.62.0-alpha-2026-07-20", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.0-alpha-2026-07-20.tgz", - "integrity": "sha512-JCPvar5AJouLPK5dce8+M/tC3f0gfSt564h1pdL5aHSW5SAaTyPPKdZ01DnGeuftrCzXQIExEc5SDKBV109JHA==", + "version": "1.63.0-alpha-2026-08-17", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0-alpha-2026-08-17.tgz", + "integrity": "sha512-RvR21sa98NnWzh62HLzSUrlAiC8cNpJLunB69dy7c+/WAQyP4qKBjz060vwz9tLcybsWFLnoM3hXRTxHwwNwcw==", "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" diff --git a/tests/playwright-test/stable-test-runner/package.json b/tests/playwright-test/stable-test-runner/package.json index 009d78eecef81..cda05f0555dae 100644 --- a/tests/playwright-test/stable-test-runner/package.json +++ b/tests/playwright-test/stable-test-runner/package.json @@ -1,6 +1,6 @@ { "private": true, "dependencies": { - "@playwright/test": "^1.62.0-alpha-2026-07-20" + "@playwright/test": "^1.63.0-alpha-2026-08-17" } }