diff --git a/packages/playwright-core/src/server/dialog.ts b/packages/playwright-core/src/server/dialog.ts index 40039c032289b..1346581193642 100644 --- a/packages/playwright-core/src/server/dialog.ts +++ b/packages/playwright-core/src/server/dialog.ts @@ -123,7 +123,7 @@ export class DialogManager { hasHandlers = true; } if (!hasHandlers) - dialog._close().then(() => {}); + dialog._close().catch(() => {}); } _dialogWillClose(dialog: Dialog) { diff --git a/tests/library/chromium/connect-over-cdp.spec.ts b/tests/library/chromium/connect-over-cdp.spec.ts index 9b1eafb0af965..64b4c1be9d543 100644 --- a/tests/library/chromium/connect-over-cdp.spec.ts +++ b/tests/library/chromium/connect-over-cdp.spec.ts @@ -161,6 +161,9 @@ test('should connect to an existing cdp session twice', async ({ browserType, mo expect(context1.pages().length).toBe(2); expect(context2.pages().length).toBe(2); + await page1.evaluate(() => alert('dialog race')); + await expect(context2.pages()[0].title()).resolves.toBe(''); + await cdpBrowser1.close(); await cdpBrowser2.close(); } finally {