-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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