Skip to main content
Playwright Check Suites have multiple timeout stages during execution. Use this guide to configure your checks and troubleshoot timeout failures.

Timeout overview

Timeout stageDefault timeoutConfigurable
Playwright globalTimeoutInherits from your configYes, up to 30 minutes
Dependency installation5 minutesNo
Playwright test timeoutInherits from your configYes
Playwright navigation timeoutInherits from your configYes
Playwright action timeoutInherits from your configYes
Artifact upload and secret scrubbingNo timeoutNo

Playwright Check Suite execution stages

When Checkly runs your Playwright Check Suite, it goes through these stages:

1. Pre-processing

Checkly prepares your execution environment:
  1. Playwright and browsers: Checkly loads the matching Playwright version and browser binaries
  2. Dependency cache download: Checkly downloads the dependency cache if it exists
  3. Dependency installation: If the dependency cache does not exist, Checkly runs the install command (default: npm install, pnpm install, or yarn install)
    • This stage has a 5-minute timeout
    • Use installCommand in your check suite configuration to run a custom dependency installation command. This can help prevent timeouts during installation. For example installCommand: 'npm install --ignore-scripts' to skip running postinstall and other lifecycle scripts

2. Test execution

Checkly runs your tests using npx playwright test:
  • Your Playwright tests and configuration set the timeouts for this stage.
  • To limit the whole Playwright suite, use Playwright’s native globalTimeout option. The timer starts when npx playwright test begins.
    • In playwright.config.ts, set globalTimeout: 120_000
    • In testCommand, use Playwright’s --global-timeout flag: testCommand: 'npx playwright test --global-timeout=120000'
    • If you set globalTimeout in both places, the testCommand flag takes precedence, matching Playwright’s behavior

3. Post-processing

After tests complete, Checkly:
  1. Uploads artifacts: Checkly uploads screenshots, videos, and traces
  2. Scrubs secrets: Checkly removes secrets declared in your Checkly Environment Secrets from logs and artifacts
  3. Uploads the dependency cache after successful runs: When a check run passes, Checkly uploads the dependency cache and creates a custom runtime. Future runs can use that runtime when they come from the same repository and use the same package.json, lock files, and workspace dependencies.

Playwright-specific timeouts

Checkly runs your tests with the timeout configuration from your playwright.config.ts and test files. Configure test, navigation, and action timeouts according to your needs. See Playwright’s timeout documentation for detailed configuration options.

Dependency installation timeout exceeded

Running <npm/yarn/pnpm install command>
Command timed out
Failed to run install command
Cause: Dependencies take longer than 5 minutes to install. Solutions:
  • Reduce dependencies in your package.json
  • Remove large or unnecessary packages
  • Check if your registry is slow or has issues
  • Update and commit your lock file
See the Custom dependencies troubleshooting guide for more detailed solutions.

Playwright global timeout exceeded

Timed out waiting 120000ms from config.globalTimeout.
Cause: The Playwright test suite exceeded the configured globalTimeout after npx playwright test started. Playwright skipped the remaining tests and Checkly reported the check as failed. Solution:
  • Increase globalTimeout in your Playwright config or testCommand.
  • Split tests into multiple check suites using pwTags, pwProjects, or a custom testCommand.
  • Use Playwright’s per-test timeout option when only individual tests need more time.

Playwright test timeout exceeded

Error: Test timeout of 30000ms exceeded
Cause: A single test exceeded the configured test timeout. Solution: Increase the test timeout in your Playwright configuration or for specific tests. See Playwright’s test timeout documentation for configuration options.

Playwright navigation timeout exceeded

Error: page.goto: Timeout 30000ms exceeded
Cause: A navigation action (like page.goto()) took longer than the navigation timeout. Solution: Increase the navigation timeout in your Playwright configuration or for specific navigation actions. See Playwright’s timeout documentation for configuration options.

Playwright action timeout exceeded

Error: locator.click: Timeout 10000ms exceeded
Cause: An action (click, fill, etc.) took longer than the configured action timeout. Solution: Increase the action timeout in your Playwright configuration or for specific actions. See Playwright’s timeout documentation for configuration options.