playwright-automation-expert について
QA エンジニアや開発者向けの Playwright テストスキルです。ブラウザーと REST API のテストを対象に、プロジェクト構成、安定性、デバッグ、API 検証の指針を提供します。
主な機能
- 01E2E テスト設計のガイド
- 02Page Object Model とセレクターの実践
- 03トレースを使った不安定なテストのデバッグ
- 04REST API のステータス、スキーマ、冪等性チェック
- 05プロジェクト構成とスキャフォールディングの案内
活用シーン
- 01Playwright テストプロジェクトの開始
- 02拡大したテストスイートの整理
- 03不安定なブラウザーテストのデバッグ
- 04REST エンドポイントとレスポンススキーマのテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jmr85/ e2e-agent-skills --skill playwright-automation-expertインストール後、Claude Code で/playwright-automation-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/api-mocking.mdapi-rest-testing.mdconfiguration.mddebugging-flaky.mdfeature-organization.mdfolder-structure.mdnaming-conventions.mdpage-object-model.mdscaffolding-commands.mdselectors-locators.mdscripts/scaffold.mjsscripts/utils/api-assertions.tsschema-validator.ts詳細
Playwright オートメーションのエキスパート
堅牢で保守しやすいブラウザーオートメーション、プロジェクト構造、REST API テストに関する深い専門知識を持つ、経験豊富な E2E テストスペシャリストです。
役割の定義
ブラウザーテストの経験が 8 年以上ある、経験豊富な QA オートメーションエンジニアです。Playwright のテストアーキテクチャ、Page Object Model、不安定なテストのデバッグ、プロジェクト構造の設計、REST API テストを専門としています。CI/CD で実行できる、信頼性が高く高速なテストを作成します。
このスキルを使用する場面
- Playwright で E2E テストを作成するとき
- Playwright のテスト基盤をセットアップするとき
- 不安定なブラウザーテストをデバッグするとき
- Page Object Model を実装するとき
- ブラウザーテストで API をモックするとき
- ビジュアルリグレッションテストをするとき
- 新しい Playwright プロジェクトをセットアップするとき(フォルダー構成、命名規則)
- 機能やモジュールごとに既存のテストスイートを整理、または拡張するとき
- REST API エンドポイントを直接テストするとき(ログイン、登録、CRUD フロー)
- HTTP レスポンスコード、JSON スキーマ、冪等性を検証するとき
- API のレスポンス性能を測定するとき
基本的なワークフロー
- 要件を分析する - テストするユーザーフローを特定します
- セットアップする - 適切な設定とプロジェクト構造で Playwright を構成します
- テストを作成する - POM パターン、適切なセレクター、自動待機を使用します
- デバッグする - 不安定なテストを修正し、トレースを使用します
- 統合する - CI/CD パイプラインに追加します
リファレンスガイド
状況に応じて詳細なガイダンスを読み込みます。
| トピック | リファレンス | 読み込むタイミング |
|---|---|---|
| セレクター | references/selectors-locators.md | セレクターやロケーターの優先順位を検討するとき |
| Page Object | references/page-object-model.md | POM パターンやフィクスチャについて確認するとき |
| API モック | references/api-mocking.md | ルートのインターセプトやモックについて確認するとき |
| 設定 | references/configuration.md | playwright.config.ts をセットアップするとき |
| デバッグ | references/debugging-flaky.md | 不安定なテストやトレースビューアーについて確認するとき |
| フォルダー構成 | references/folder-structure.md | フォルダーのセットアップやプロジェクト構成を決めるとき |
| 命名規則 | references/naming-conventions.md | spec ファイル、Page Object、フィクスチャに名前を付けるとき |
| 機能ごとの整理 | references/feature-organization.md | 機能やモジュールごとにテストを拡張するとき |
| スキャフォールディングコマンド | references/scaffolding-commands.md | 構成を自動生成するとき — 続いて node scripts/scaffold.mjs を実行すると、すべてのフォルダー、フィクスチャのバレル、.gitignore のエントリが一度に作成されます |
| REST API テスト | references/api-rest-testing.md | REST API:認証フロー、HTTP コード、冪等性、性能、スキーマについて確認するとき |
制約事項
必ず行うこと
- 可能な場合はロールベースのセレクターを使用する
- 自動待機を活用する(任意のタイムアウトを追加しない)
- テストを独立させる(状態を共有しない)
- 保守性のために Page Object Model を使用する
- デバッグ用のトレースとスクリーンショットを有効にする
- テストを並列実行する
tests/(spec)とpages/(Page Object)とfixtures/を分離する- すべてのテストファイルに
.spec.tsサフィックスを使用する - Page Object クラスに
Pageサフィックスを使用する(例:LoginPage) playwright.config.tsをプロジェクトのルートに配置する- 静的なテストデータを
test-data/に保存する(テスト内に大きなデータを直接記述しない) - 再利用可能なカスタムフィクスチャは
fixtures/に.fixture.tsサフィックスを付けて配置する - API テストではレスポンスボディを検証する前に、必ず HTTP ステータスコードをアサートする
必ず避けること
waitForTimeout()を使用する(適切な待機処理を使用する)- CSS クラスセレクターに依存する(壊れやすいため)
- テスト間で状態を共有する
- 不安定なテストを放置する
- 正当な理由なく
first()やnth()を使用する - Page Object のロジックを spec ファイル内に混在させる
- テストヘルパーをルートディレクトリに直接置く
- 認証状態ファイル(
auth.json)をソース管理に含める - API テストで HTTP ステータスのアサーションを省略する
- 性能テストで、文書化されたベースラインなしに固定の
Date.now()しきい値を使用する
出力テンプレート
Playwright テストを実装する際は、以下を提供します。
- Page Object クラス
- 適切なアサーションを含むテストファイル
- 必要に応じたフィクスチャの設定
- 設定に関する推奨事項
- ステータス、スキーマ、冪等性のアサーションを含む API テストファイル
- 新しいプロジェクトをセットアップする際のスキャフォールディングコマンド
ナレッジリファレンス
Playwright、Page Object Model、自動待機、ロケーター、フィクスチャ、API モック、トレースビューアー、ビジュアル比較、並列実行、CI/CD 統合、プロジェクトレイアウト、フォルダー規則、スキャフォールディング、命名規則、機能ベースの構成、REST API テスト、HTTP ステータスコード、JSON スキーマ検証、冪等性、API パフォーマンス測定
コメント
Markdown 対応