diff --git a/packages/playwright-core/src/client/android.ts b/packages/playwright-core/src/client/android.ts index 8677d26a4f..9c1eea0c45 100644 --- a/packages/playwright-core/src/client/android.ts +++ b/packages/playwright-core/src/client/android.ts @@ -201,7 +201,7 @@ export class AndroidDevice extends ChannelOwner i const timeout = this._timeoutSettings.timeout(typeof optionsOrPredicate === 'function' ? {} : optionsOrPredicate); const predicate = typeof optionsOrPredicate === 'function' ? optionsOrPredicate : optionsOrPredicate.predicate; const waiter = Waiter.createForEvent(this._channel, event); - waiter.rejectOnTimeout(timeout, `Timeout while waiting for event "${event}"`); + waiter.rejectOnTimeout(timeout, `Timeout ${timeout}ms exceeded while waiting for event "${event}"`); if (event !== Events.AndroidDevice.Close) waiter.rejectOnEvent(this, Events.AndroidDevice.Close, new Error('Device closed')); const result = await waiter.waitForEvent(this, event, predicate as any); diff --git a/packages/playwright-core/src/client/browserContext.ts b/packages/playwright-core/src/client/browserContext.ts index 88309f4ebc..f767fba5b0 100644 --- a/packages/playwright-core/src/client/browserContext.ts +++ b/packages/playwright-core/src/client/browserContext.ts @@ -267,7 +267,7 @@ export class BrowserContext extends ChannelOwner const timeout = this._timeoutSettings.timeout(typeof optionsOrPredicate === 'function' ? {} : optionsOrPredicate); const predicate = typeof optionsOrPredicate === 'function' ? optionsOrPredicate : optionsOrPredicate.predicate; const waiter = Waiter.createForEvent(this._channel, event); - waiter.rejectOnTimeout(timeout, `Timeout while waiting for event "${event}"`); + waiter.rejectOnTimeout(timeout, `Timeout ${timeout}ms exceeded while waiting for event "${event}"`); if (event !== Events.BrowserContext.Close) waiter.rejectOnEvent(this, Events.BrowserContext.Close, new Error('Context closed')); const result = await waiter.waitForEvent(this, event, predicate as any); diff --git a/packages/playwright-core/src/client/electron.ts b/packages/playwright-core/src/client/electron.ts index f33725d2e0..37eb77e29f 100644 --- a/packages/playwright-core/src/client/electron.ts +++ b/packages/playwright-core/src/client/electron.ts @@ -103,7 +103,7 @@ export class ElectronApplication extends ChannelOwner implement const timeout = this._page._timeoutSettings.timeout(typeof optionsOrPredicate === 'function' ? {} : optionsOrPredicate); const predicate = typeof optionsOrPredicate === 'function' ? optionsOrPredicate : optionsOrPredicate.predicate; const waiter = Waiter.createForEvent(this._channel, event); - waiter.rejectOnTimeout(timeout, `Timeout while waiting for event "${event}"`); + waiter.rejectOnTimeout(timeout, `Timeout ${timeout}ms exceeded while waiting for event "${event}"`); if (event !== Events.WebSocket.Error) waiter.rejectOnEvent(this, Events.WebSocket.Error, new Error('Socket error')); if (event !== Events.WebSocket.Close) diff --git a/packages/playwright-core/src/client/page.ts b/packages/playwright-core/src/client/page.ts index ae8afb5abd..b4eac5d8f4 100644 --- a/packages/playwright-core/src/client/page.ts +++ b/packages/playwright-core/src/client/page.ts @@ -383,7 +383,7 @@ export class Page extends ChannelOwner implements api.Page const waiter = Waiter.createForEvent(channel, event); if (logLine) waiter.log(logLine); - waiter.rejectOnTimeout(timeout, `Timeout while waiting for event "${event}"`); + waiter.rejectOnTimeout(timeout, `Timeout ${timeout}ms exceeded while waiting for event "${event}"`); if (event !== Events.Page.Crash) waiter.rejectOnEvent(this, Events.Page.Crash, new Error('Page crashed')); if (event !== Events.Page.Close) diff --git a/tests/inspector/pause.spec.ts b/tests/inspector/pause.spec.ts index d6c949b03d..6b682beec9 100644 --- a/tests/inspector/pause.spec.ts +++ b/tests/inspector/pause.spec.ts @@ -269,7 +269,7 @@ it.describe('pause', () => { 'page.pause- XXms', 'page.waitForEvent(console)', 'waiting for event \"console\"', - 'error: Timeout while waiting for event \"console\"', + 'error: Timeout 1ms exceeded while waiting for event \"console\"', 'page.pause', ]); await recorderPage.click('[title="Resume"]'); diff --git a/tests/page/page-wait-for-request.spec.ts b/tests/page/page-wait-for-request.spec.ts index 3f1d6b61c4..91dc592b77 100644 --- a/tests/page/page-wait-for-request.spec.ts +++ b/tests/page/page-wait-for-request.spec.ts @@ -48,6 +48,7 @@ it('should respect timeout', async ({ page, playwright }) => { let error = null; await page.waitForEvent('request', { predicate: () => false, timeout: 1 }).catch(e => error = e); expect(error).toBeInstanceOf(playwright.errors.TimeoutError); + expect(error.message).toContain('Timeout 1ms exceeded while waiting for event "request"'); }); it('should respect default timeout', async ({ page, playwright }) => {