adding-e2e-tests について
adding-e2e-testsは、アプリケーションにPlaywrightのエンドツーエンドテストやブラウザテストを導入するスキルです。設定、スモークテスト、任意のページオブジェクト、npmスクリプト、CIでの実行を案内します。
主な機能
- 01Playwrightのインストールと設定
- 02ブラウザーとサーバーの設定
- 03スモークテストの作成
- 04任意のページオブジェクトパターン
- 05npmスクリプトとCI連携
活用シーン
- 01アプリケーションへのブラウザテスト追加
- 02テスト用ローカル開発サーバーの設定
- 03基本的なページ読み込み確認の作成
- 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 のセットアップを依頼した場合に、このスキルを使用します。
手順
-
Playwright をインストールする
npm init playwright@latestこれにより、
playwright.config.tsとtests/ディレクトリが作成され、ブラウザーがインストールされます。プロジェクトにすでにテストランナーがある場合は、手動でインストールします。npm install -D @playwright/test npx playwright install -
playwright.config.tsを設定する-
baseURLをローカル開発サーバーの URL(例:http://localhost:3000)に設定します。 -
開発サーバーを自動的に起動するように
webServerを設定します。webServer: { command: "npm run dev", url: "http://localhost:3000", reuseExistingServer: !process.env.CI, }, -
ローカル開発時の速度を優先して Chromium のみを有効にし、CI ではすべてのブラウザーを有効にします。
-
-
スモークテストを作成する — アプリが読み込まれることを確認する基本的なテストを作成します。
import { test, expect } from "@playwright/test"; test("homepage loads", async ({ page }) => { await page.goto("/"); await expect(page).toHaveTitle(/.+/); }); -
ページオブジェクトパターンを追加する(任意) — 大規模なアプリでは、セレクターと操作をカプセル化するページオブジェクトを格納する
tests/pages/ディレクトリを作成します。 -
npm スクリプトを追加する
{ "test:e2e": "playwright test", "test:e2e:ui": "playwright test --ui" } -
.gitignoreに追加するtest-results/ playwright-report/ blob-report/ -
CI との統合 —
npx playwright install --with-depsに続けてnpm run test:e2eを実行する GitHub Actions のステップを追加します。失敗時に HTML レポートを保存するには、公式のactions/upload-artifactを使用します。
注意事項
- セレクターには CSS クラスではなく、
data-testid属性を使用します。 - 関連するテストをまとめるには
test.describeを使用します。 npx playwright codegenを実行すると、テストを対話形式で記録できます。