high

TimeoutError: Exceeded 30000ms

The default action timeout (30 seconds) was exceeded before the operation could complete. This commonly occurs during navigation, element waits, or network-dependent operations.

Common Causes

  1. 1Page takes longer than 30 seconds to load due to slow server or heavy assets
  2. 2Element being waited for is not rendered in the DOM
  3. 3Selector is incorrect or targets a non-existent element
  4. 4Network request is blocking page load (e.g., hanging third-party scripts)
  5. 5Single Page Application hasn't finished client-side rendering

How to Fix

Increase the timeout for the specific action

await page.goto(url, { timeout: 60000 });

Doubles the default timeout for this navigation. Use when the page legitimately takes longer to load.

Set a global timeout in playwright.config.ts

export default defineConfig({
  timeout: 60000,
  expect: { timeout: 10000 },
});

Increases the default timeout for all actions across the entire test suite.

Wait for a specific condition instead of a fixed timeout

await page.waitForSelector('#content', { state: 'visible' });
await page.waitForLoadState('networkidle');

More reliable than fixed timeouts — waits for the actual condition to be met.

How ObserveOne Helps

ObserveOne auto-detects timeout patterns and suggests optimal wait strategies based on real-world performance data.

Start Monitoring Free

Related Errors