任意のブラウザテストを実行したい

作成日:2025-05-13, 更新日:2025-05-21

対象ファイルのみ

> npx playwright test tests/●●●/●●●.spec.js

対象のみ実行: .only

テストソース作成時の確認用に対象のみ「.only」をつければ、通常実行でOK

▼テストソース1

test.only('●●●', async ({ page }) => {
  // このテストだけ実行される
});

▼テストソース2

test.describe.only('●●●', () => {
  test('正常系', async () => {});
  test('異常系', async () => {});
});

対象のみ除外: .skip

テストソース作成時の確認用に対象のみ「.skip」をつければ、通常実行でスキップしてくれる

▼テストソース1

test.skip('●●●', async ({ page }) => {
  // このテストだけ除外される
});

▼テストソース2

test.describe.skip('●●●', () => {
  test('正常系', async () => {});
  test('異常系', async () => {});
});

playwright.config.jsの「projects」で設定

> npx playwright test --project=basic

playwright.config.js

▼Globパターン(文字列)

projects: [
  {
    name: 'basic',
    testMatch: '*login-basic.spec.ts',
  },
  {
    name: 'vip-member',
    testMatch: [
      'blog/make.spec.ts',
      'topics/*-edit.spec.ts', // 「topics/●●●-edit.spec.ts」...ただのワイルドカード
      '**/remove.spec.ts', // 「remove.spec.ts」「●●●/remove.spec.ts」「●●●/●●●/remove.spec.ts」...再帰的なディレクトリ階層。自身・子・孫の階層までを対象。
      '*/remove.spec.ts', // 「●●●/remove.spec.ts」
    ],
  }
]

▼「.*」のような正規表現の記述もOK

projects: [
  {
    name: 'basic',
    testMatch: /.*login-basic.spec.ts/,
  },
  {
    name: '2fa',
    testMatch: /.*login-2fa-.*/,
  }
]

ブラウザ指定

▼「--project=●●●」

> npx playwright test --project=chromium