Skip to content

[Bug]: Playwright 1.57 - No way to use open-source Chromium, Chrome for Testing causes high memory usage (20GB+ per instance) #38489

@andresalbertomoralesmitre

Description

Version

1.57.0

Steps to reproduce

After upgrading to Playwright 1.57, the browser now launches Chrome for Testing instead of the lightweight open-source Chromium used in earlier versions. This change dramatically increases memory usage and causes tests to crash under normal parallel execution.

**> What’s happening

Playwright always launches Chrome for Testing, even when the config explicitly requests Chromium.

The bundled browser located at
~/Library/Caches/ms-playwright/chromium-1200/chrome-mac-arm64/
is actually Google Chrome for Testing.app, not Chromium.

A single Chrome for Testing instance uses far more RAM than the previous Chromium builds.

With just 3 workers, each Chrome instance grows to ~20GB, pushing system load over 27 and triggering serious memory pressure.

Attempts to force Chromium (all unsuccessful)

browserName: 'chromium'

Removing device presets (e.g. devices['Desktop Chrome'])

Setting channel: undefined

Not specifying any channel at all

All of these still launch Chrome for Testing.

Workaround

Running tests with:

--project=firefox**

works normally and keeps memory usage stable. Firefox does not exhibit this high-memory behavior.

Request / Question

Is there any supported way in Playwright 1.57+ to use the actual open-source Chromium binary instead of Chrome for Testing?

Expected behavior

browserName: 'chromium' should launch open-source Chromium with reasonable memory usage.

Actual behavior

Chrome for Testing launches instead. Each instance uses ~20GB memory, causing system crashes with multiple workers.

Additional context

Config

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  use: {
    browserName: 'chromium',
    launchOptions: {
      args: [
        '--disable-dev-shm-usage',
        '--disable-gpu',
        '--disable-extensions',
        '--disable-background-networking',
        '--disable-sync',
        '--disable-translate',
        '--no-first-run',
        '--disable-features=TranslateUI',
        '--js-flags=--max-old-space-size=512',
      ],
    },
  },

  // On CI → single worker, locally → 3 workers
  workers: process.env.CI ? 1 : 3,

  projects: [
    {
      name: 'chromium',
      use: { browserName: 'chromium' },
    },
  ],
});

Environment

System:
  OS: macOS 26.1
  CPU: (10) arm64 Apple M1 Pro
  Memory:  16.00 GB
Binaries:
  Node: 20.19.3
  Yarn: 1.22.22
  npm: 11.6.4
IDEs:
  VSCode: 2.1.50
Languages:
  Bash: 3.2.57
npmPackages:
  @playwright/test: 1.57.0 => 1.57.0 
  playwright: 1.57.0 => 1.57.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions