Skip to main content

e2e-test

playwright-cli を使った E2E テストの実行スキル。ブラウザを headless モードで起動し、テスト結果をスクリーンショットとして screenshots/ 配下の日付付きフォルダーに保存する。E2E テストを実行する際には、必ずこのスキルに従ってください。

ソース情報

リポジトリ
runceel/agent-teams-sample
ソースの最終更新活動
2026年4月8日 05:09
検出された SKILL.md の言語
日本語
スター
0
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
e2e-test
description
playwright-cli を使った E2E テストの実行スキル。ブラウザを headless モードで起動し、テスト結果をスクリーンショットとして screenshots/ 配下の日付付きフォルダーに保存する。E2E テストを実行する際には、必ずこのスキルに従ってください。
# E2E テストスキル ## 概要 本スキルは、`playwright-cli` を使って本プロジェクトのアプリケーションの E2E テストを実行し、テスト結果をスクリーンショットとして記録するための手順を定義する。 すべてのスクリーンショットは `screenshots/` 配下の日付付きフォルダーに保存される。 --- ## 前提条件 - Aspire AppHost が起動済みであること(`cd src && dotnet run --project AppHost`) - Web アプリケーションがアクセス可能であること - `playwright-cli` が利用可能であること --- ## 実行手順 ### Step 1: スクリーンショット保存先の作成 テスト実行ごとに一意のフォルダーを `screenshots/` 配下に作成する。 **フォルダー命名規則:** ``` screenshots/{YYYYMMDD}-{HHmmss}-{テスト名}/ ``` - `YYYYMMDD-HHmmss` — テスト開始時刻(ローカルタイム) - `テスト名` — テストの目的を英語で簡潔に表す(kebab-case) **例:** ``` screenshots/20260327-143052-form-submission/ screenshots/20260327-150000-item-list-search/ screenshots/20260327-160000-user-settings/ screenshots/20260327-170000-full-regression/ ``` **作成コマンド(PowerShell):** ```powershell $testName = "form-submission" # テストに応じて変更 $timestamp = Get-Date -Format "yyyyMMdd-HHmmss" $folder = "screenshots/${timestamp}-${testName}" New-Item -ItemType Directory -Path $folder -Force ``` ### Step 2: ブラウザの起動(headless モード) ```bash playwright-cli open --browser=chromium ``` > **注意:** `playwright-cli` は現時点で headless フラグを直接サポートしていない場合がある。 > その場合は `run-code` で headless コンテキストを作成する: > > ```bash > playwright-cli open > ``` ### Step 3: 画面サイズの設定 一貫したスクリーンショットのため、画面サイズを固定する。 ```bash playwright-cli resize 1920 1080 ``` ### Step 4: テスト対象ページへの遷移 Web アプリケーションの URL に遷移する。Aspire 経由で起動している場合、URL はダッシュボードから確認する。 ```bash playwright-cli goto https://localhost:{ポート番号} ``` ### Step 5: スクリーンショットの撮影 各操作ステップでスクリーンショットを撮影する。ファイル名は連番 + 操作内容とする。 **命名規則:** ``` {連番2桁}-{操作内容}.png ``` **例:** ```bash playwright-cli screenshot --filename=screenshots/20260327-143052-form-submission/01-initial-page.png playwright-cli screenshot --filename=screenshots/20260327-143052-form-submission/02-form-filled.png playwright-cli screenshot --filename=screenshots/20260327-143052-form-submission/03-validation-error.png playwright-cli screenshot --filename=screenshots/20260327-143052-form-submission/04-submitted.png playwright-cli screenshot --filename=screenshots/20260327-143052-form-submission/05-confirmation.png ``` ### Step 6: テスト完了・ブラウザの終了 ```bash playwright-cli close ``` --- ## テストシナリオテンプレート 以下は典型的なテストシナリオの実行例。テスト対象に応じてカスタマイズして使用する。 ### フォーム入力・送信の基本テスト ```bash # 1. 準備 $testName = "form-basic" $timestamp = Get-Date -Format "yyyyMMdd-HHmmss" $folder = "screenshots/${timestamp}-${testName}" New-Item -ItemType Directory -Path $folder -Force # 2. ブラウザ起動・遷移 playwright-cli open playwright-cli resize 1920 1080 playwright-cli goto {WebアプリURL}/<route> # 3. テスト実行とスクリーンショット playwright-cli screenshot --filename=${folder}/01-initial.png # 入力フォームに値を入力 playwright-cli fill {入力欄のref} "テスト入力値" playwright-cli screenshot --filename=${folder}/02-filled.png # 送信 playwright-cli click {送信ボタンのref} # 結果確認(snapshot で状態確認しながら待つ) playwright-cli snapshot playwright-cli screenshot --filename=${folder}/03-result.png # 4. 終了 playwright-cli close ``` ### 一覧画面の検索テスト ```bash $testName = "item-list-search" $timestamp = Get-Date -Format "yyyyMMdd-HHmmss" $folder = "screenshots/${timestamp}-${testName}" New-Item -ItemType Directory -Path $folder -Force playwright-cli open playwright-cli resize 1920 1080 playwright-cli goto {WebアプリURL}/<list-route> playwright-cli screenshot --filename=${folder}/01-list-initial.png # 検索テスト playwright-cli fill {検索欄のref} "テスト" playwright-cli screenshot --filename=${folder}/02-search-result.png playwright-cli close ``` ### 設定画面の CRUD テスト ```bash $testName = "settings-crud" $timestamp = Get-Date -Format "yyyyMMdd-HHmmss" $folder = "screenshots/${timestamp}-${testName}" New-Item -ItemType Directory -Path $folder -Force playwright-cli open playwright-cli resize 1920 1080 playwright-cli goto {WebアプリURL}/<settings-route> playwright-cli screenshot --filename=${folder}/01-settings-list.png # 新規追加ダイアログ playwright-cli click {追加ボタンのref} playwright-cli screenshot --filename=${folder}/02-add-dialog.png playwright-cli close ``` --- ## ルール ### 必須 1. **headless モードで実行する** — GUI を表示しない 2. **screenshots/ 配下に日付フォルダーを必ず作成する** — ルート直下にスクリーンショットを保存しない 3. **フォルダー名は `YYYYMMDD-HHmmss-テスト名` 形式** にする 4. **スクリーンショットのファイル名は `連番2桁-操作内容.png`** にする 5. **テスト前に画面サイズを `1920x1080` に設定する** 6. **テスト完了後は必ず `playwright-cli close` でブラウザを終了する** 7. **各操作ステップでスクリーンショットを撮影する** — 後からテスト結果を確認できるようにする ### 推奨 - テスト開始時に Aspire ダッシュボードのスクリーンショットを撮り、全サービスの状態を記録する - エラー発生時もスクリーンショットを撮影してから対処する - `snapshot` コマンドで DOM の状態を確認してから操作する(ref の特定に必要) - 待機が必要な場合は `snapshot` を繰り返して状態遷移を確認する ### 禁止 - `screenshots/` ルート直下へのスクリーンショット保存 - タイムスタンプのないフォルダー名の使用 - テスト終了時にブラウザを閉じ忘れること --- ## トラブルシューティング | 問題 | 対処法 | |------|--------| | ブラウザが起動しない | `playwright-cli kill-all` で残存プロセスを終了してから再試行 | | ページが表示されない | Aspire ダッシュボードで Web アプリの起動状態を確認 | | ref が見つからない | `playwright-cli snapshot` で最新の DOM 構造を確認 | | スクリーンショットが保存されない | フォルダーが存在するか確認。`--filename` のパスが正しいか確認 | | SSL 証明書エラー | 開発環境では `https://localhost` の自己署名証明書を許可する |
GitHubで見る