Skip to main content

e2e-test

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

Informations de source

Dépôt
runceel/agent-teams-sample
Dernière activité de la source
8 avril 2026 à 05:09
Langue détectée de SKILL.md
japonais
Étoiles
0
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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` の自己署名証明書を許可する |
Voir sur GitHub