Playwrightの並列実行には以下の4つのレベルがあります。 1
デフォルトの動作: 異なるテストファイルが異なるワーカープロセスで並列実行されます。

複数プロジェクトの並列実行: 異なるプロジェクト(ブラウザ設定)が並列実行されます。

ユーザーの設定例では、5つのプロジェクト(Desktop Chrome, Desktop Safari, Desktop Edge, Mobile Chrome Pixel5, Mobile Safari iPhone14)が定義されているため、これらは並列実行されます。
単一ファイル内の並列実行: test.describe.configure({ mode: 'parallel' }) または fullyParallel: true で有効化できます。
test.describe.configure({ mode: 'parallel' });
test('test1', async ({ page }) => { /* ... */ });
test('test2', async ({ page }) => { /* ... */ });
test('test3', async ({ page }) => { /* ... */ });
この場合、各テスト関数が別々のワーカープロセスで実行されます。

プロジェクト全体の完全並列化: プロジェクトレベルで fullyParallel: true を設定すると、そのプロジェクト内のすべてのテストが並列実行されます。
projects: [
{
name: 'chromium',
fullyParallel: true, // すべてのテストを並列実行
}
]
これらの並列実行は組み合わせて使用できます:

シリアルモード: test.describe.configure({ mode: 'serial' }) でテストを順次実行できます。
test.describe.configure({ mode: 'serial' });
test('runs first', async ({ page }) => { /* ... */ });
test('runs second', async ({ page }) => { /* ... */ });
シリアルモードでは、最初のテストが失敗すると後続のテストはスキップされます。
並列テストは別々のワーカープロセスで実行されるため、状態やグローバル変数を共有できません。
プロジェクトごとの workers 設定(v1.52以降)を使用すると、プロジェクト間の並列実行を制御できます。