mcpField
I
init

init

github.com/alirezarezvaniテスト・品質28.9k1.6k 回インストール2 日前に更新
リポジトリ

init について

Playwright のエンドツーエンドテスト環境を初期化するスキルです。プロジェクトを調査し、設定、テスト構成、サンプルテスト、該当する場合は CI 設定を生成します。検出したフレームワークやファイルに応じて内容を調整します。

主な機能

  1. 01フレームワークとプロジェクトファイルの調査
  2. 02必要に応じた Playwright の導入
  3. 03フレームワークに合わせた設定生成
  4. 04テスト構成とサンプルテストの作成
  5. 05CI ワークフローと npm スクリプトの追加
  6. 06テスト実行による設定確認

活用シーン

  1. 01新規プロジェクトへのブラウザテスト導入
  2. 02既存アプリへのエンドツーエンドテスト追加
  3. 03CI 向け Playwright テストの準備
  4. 04フレームワークに応じたテスト設定の調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill init

インストール後、Claude Code で/initを入力して読み込まれたか確認します。

詳細

Playwright プロジェクトを初期化する

本番環境に対応した Playwright のテスト環境をセットアップします。フレームワークを検出し、設定、フォルダー構成、サンプルテスト、CI ワークフローを生成します。

手順

1. プロジェクトを分析する

Explore サブエージェントを使ってプロジェクトをスキャンします。

  • package.json を確認し、フレームワーク(React、Next.js、Vue、Angular、Svelte)を特定します
  • tsconfig.json を確認します。存在する場合は TypeScript を使用し、ない場合は JavaScript を使用します
  • Playwright がすでにインストールされているか確認します(依存関係に @playwright/test があるか)
  • 既存のテストディレクトリ(tests/、e2e/、__tests__/)を確認します
  • 既存の CI 設定(.github/workflows/、.gitlab-ci.yml)を確認します
2. Playwright をインストールする

まだインストールされていない場合:

npm init playwright@latest -- --quiet

または、手動でのセットアップを希望する場合:

npm install -D @playwright/test
npx playwright install --with-deps chromium
3. playwright.config.ts を生成する

検出されたフレームワークに合わせて設定します。

Next.js:

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

export default defineConfig({
  testDir: './e2e',
  fullyParallel: true,
  forbidOnly: !!process.env.CI,
  retries: process.env.CI ? 2 : 0,
  workers: process.env.CI ? 1 : undefined,
  reporter: [
    ['html', { open: 'never' }],
    ['list'],
  ],
  use: {
    baseURL: 'http://localhost:3000',
    trace: 'on-first-retry',
    screenshot: 'only-on-failure',
  },
  projects: [
    { name: "chromium", use: { ...devices['Desktop Chrome'] } },
    { name: "firefox", use: { ...devices['Desktop Firefox'] } },
    { name: "webkit", use: { ...devices['Desktop Safari'] } },
  ],
  webServer: {
    command: 'npm run dev',
    url: 'http://localhost:3000',
    reuseExistingServer: !process.env.CI,
  },
});

React(Vite):

  • baseURL を http://localhost:5173 に変更します
  • webServer.command を npm run dev に変更します

Vue/Nuxt:

  • baseURL を http://localhost:3000 に変更します
  • webServer.command を npm run dev に変更します

Angular:

  • baseURL を http://localhost:4200 に変更します
  • webServer.command を npm run start に変更します

フレームワークが検出されない場合:

  • webServer ブロックを省略します
  • baseURL はユーザーの入力値に設定するか、プレースホルダーのままにします
4. フォルダー構成を作成する
e2e/
├── fixtures/
│   └── index.ts          # Custom fixtures
├── pages/
│   └── .gitkeep          # Page object models
├── test-data/
│   └── .gitkeep          # Test data files
└── example.spec.ts       # First example test
5. サンプルテストを生成する
import { test, expect } from '@playwright/test';

test.describe('Homepage', () => {
  test('should load successfully', async ({ page }) => {
    await page.goto('/');
    await expect(page).toHaveTitle(/.+/);
  });

  test('should have visible navigation', async ({ page }) => {
    await page.goto('/');
    await expect(page.getByRole('navigation')).toBeVisible();
  });
});
6. CI ワークフローを生成する

.github/workflows/ が存在する場合は、playwright.yml を作成します。

name: "playwright-tests"

on:
  push:
    branches: [main, dev]
  pull_request:
    branches: [main, dev]

jobs:
  test:
    timeout-minutes: 60
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: lts/*
      - name: "install-dependencies"
        run: npm ci
      - name: "install-playwright-browsers"
        run: npx playwright install --with-deps
      - name: "run-playwright-tests"
        run: npx playwright test
      - uses: actions/upload-artifact@v4
        if: ${{ !cancelled() }}
        with:
          name: "playwright-report"
          path: playwright-report/
          retention-days: 30

.gitlab-ci.yml が存在する場合は、代わりに Playwright のステージを追加します。

7. .gitignore を更新する

まだ記載されていない場合は、追記します。

/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
8. npm スクリプトを追加する

package.json の scripts に追加します。

{
  "test:e2e": "playwright test",
  "test:e2e:ui": "playwright test --ui",
  "test:e2e:debug": "playwright test --debug"
}
9. セットアップを確認する

サンプルテストを実行します。

npx playwright test

結果を報告します。失敗した場合は、完了する前に原因を特定して修正します。

出力

作成した内容を確認します。

  • 設定ファイルのパスと主要な設定
  • テストディレクトリとサンプルテスト
  • CI ワークフロー(該当する場合)
  • 追加した npm スクリプト
  • 実行方法:npx playwright test または npm run test:e2e

コメント