mcpField
A
adding-e2e-tests

adding-e2e-tests

github.com/revitalb-portテスト・品質058 回インストール10 週間前に更新
リポジトリ

adding-e2e-tests について

adding-e2e-testsは、アプリケーションにPlaywrightのエンドツーエンドテストやブラウザテストを導入するスキルです。設定、スモークテスト、任意のページオブジェクト、npmスクリプト、CIでの実行を案内します。

主な機能

  1. 01Playwrightのインストールと設定
  2. 02ブラウザーとサーバーの設定
  3. 03スモークテストの作成
  4. 04任意のページオブジェクトパターン
  5. 05npmスクリプトとCI連携

活用シーン

  1. 01アプリケーションへのブラウザテスト追加
  2. 02テスト用ローカル開発サーバーの設定
  3. 03基本的なページ読み込み確認の作成
  4. 04GitHub ActionsでのE2Eテスト実行

インストール

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

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill adding-e2e-tests

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

詳細

E2E テストを追加する(Playwright)

ユーザーがエンドツーエンドテスト、ブラウザテスト、統合テストの追加、または Playwright のセットアップを依頼した場合に、このスキルを使用します。

手順

  1. Playwright をインストールする

    npm init playwright@latest
    

    これにより、playwright.config.ts と tests/ ディレクトリが作成され、ブラウザーがインストールされます。プロジェクトにすでにテストランナーがある場合は、手動でインストールします。

    npm install -D @playwright/test
    npx playwright install
    
  2. playwright.config.ts を設定する

    • baseURL をローカル開発サーバーの URL(例:http://localhost:3000)に設定します。

    • 開発サーバーを自動的に起動するように webServer を設定します。

      webServer: {
        command: "npm run dev",
        url: "http://localhost:3000",
        reuseExistingServer: !process.env.CI,
      },
      
    • ローカル開発時の速度を優先して Chromium のみを有効にし、CI ではすべてのブラウザーを有効にします。

  3. スモークテストを作成する — アプリが読み込まれることを確認する基本的なテストを作成します。

    import { test, expect } from "@playwright/test";
    
    test("homepage loads", async ({ page }) => {
      await page.goto("/");
      await expect(page).toHaveTitle(/.+/);
    });
    
  4. ページオブジェクトパターンを追加する(任意) — 大規模なアプリでは、セレクターと操作をカプセル化するページオブジェクトを格納する tests/pages/ ディレクトリを作成します。

  5. npm スクリプトを追加する

    {
      "test:e2e": "playwright test",
      "test:e2e:ui": "playwright test --ui"
    }
    
  6. .gitignore に追加する

    test-results/
    playwright-report/
    blob-report/
    
  7. CI との統合 — npx playwright install --with-deps に続けて npm run test:e2e を実行する GitHub Actions のステップを追加します。失敗時に HTML レポートを保存するには、公式の actions/upload-artifact を使用します。

注意事項

  • セレクターには CSS クラスではなく、data-testid 属性を使用します。
  • 関連するテストをまとめるには test.describe を使用します。
  • npx playwright codegen を実行すると、テストを対話形式で記録できます。

コメント