playwright について
PlaywrightとNext.jsを使ったテストのベストプラクティスをまとめたスキルです。エンドツーエンドテストの作成、デバッグ、最適化に取り組む開発者向けに、テスト構成、ロケーター、認証、Next.js、CIなど8分野の43ルールを提供します。
主な機能
- 018分野にわたる43のルール
- 02テスト構成とロケーターの指針
- 03待機、アサーション、認証の実践項目
- 04モックとNext.js連携
- 05パフォーマンス、デバッグ、CIの指針
活用シーン
- 01Next.jsアプリのエンドツーエンドテスト作成
- 02不安定または失敗するテストの調査
- 03テスト間での認証状態の再利用
- 04CI向けテストスイートの最適化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill playwrightインストール後、Claude Code で/playwrightを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonassets/templates/_template.mdreferences/_sections.mdarch-cleanup-state.mdarch-fixtures.mdarch-page-object-model.mdarch-parallel-execution.mdarch-test-isolation.mdarch-test-production.mdauth-api-login.mdauth-multiple-roles.mdauth-parallel-workers.mdauth-session-storage.mdauth-storage-state.mddebug-ci-reporters.mddebug-inspector.mddebug-screenshots-videos.mddebug-trace-viewer.mdloc-avoid-xpath.mdloc-chained-locators.mdloc-data-testid.mdloc-label-selectors.mdloc-placeholder-selector.mdloc-role-selectors.mdloc-text-selectors.mdmock-abort-requests.mdmock-api-responses.mdmock-har-files.mdmock-intercept-modify.md詳細
Playwright + Next.js のテストに関するベストプラクティス
Next.js アプリケーションで Playwright を使うテストを包括的に最適化するガイドです。8 つのカテゴリにわたる 43 のルールが含まれており、信頼性が高く、高速で、保守しやすい E2E テストの実現に向けて、影響度の高い順に紹介しています。
適用する場面
以下の場合に、これらのガイドラインを参照してください。
- Next.js アプリの新しい Playwright テストを作成するとき
- 不安定なテストや失敗するテストをデバッグするとき
- テストの実行速度を最適化するとき
- 認証状態の再利用を設定するとき
- テスト用の CI/CD パイプラインを設定するとき
- Server Components や App Router の機能をテストするとき
- 信頼性に問題がないかテストコードをレビューするとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | テストアーキテクチャ | CRITICAL | arch- |
| 2 | セレクターとロケーター | CRITICAL | loc- |
| 3 | 待機とアサーション | HIGH | wait- |
| 4 | 認証と状態 | HIGH | auth- |
| 5 | モックとネットワーク | MEDIUM-HIGH | mock- |
| 6 | Next.js との統合 | MEDIUM | next- |
| 7 | パフォーマンスと速度 | MEDIUM | perf- |
| 8 | デバッグと CI | LOW-MEDIUM | debug- |
クイックリファレンス
1. テストアーキテクチャ(CRITICAL)
arch-test-isolation- テストごとに新しいブラウザーコンテキストを使用するarch-parallel-execution- テストの並列実行を有効にするarch-page-object-model- 複雑なページには Page Object Model を使用するarch-fixtures- 共通のセットアップにはフィクスチャを使用するarch-test-production- 本番ビルドを対象にテストするarch-cleanup-state- 各テストの後にテスト状態をクリーンアップする
2. セレクターとロケーター(CRITICAL)
loc-role-selectors- CSS よりロールベースのセレクターを使用するloc-data-testid- 動的な要素には data-testid を使用するloc-label-selectors- フォーム入力には getByLabel を使用するloc-text-selectors- 静的コンテンツには getByText を使用するloc-avoid-xpath- XPath セレクターを避けるloc-chained-locators- 特定性を高めるためにロケーターを連結するloc-placeholder-selector- getByPlaceholder の使用は控えめにする
3. 待機とアサーション(HIGH)
wait-web-first-assertions- Web ファーストのアサーションを使用するwait-avoid-hard-waits- 固定時間の待機を避けるwait-network-idle- 複雑なページではネットワークアイドルを使用するwait-action-retries- 操作前の自動待機をアクションに任せるwait-soft-assertions- 重要度の低い確認にはソフトアサーションを使用するwait-custom-timeout- タイムアウトを適切に設定する
4. 認証と状態(HIGH)
auth-storage-state- ストレージ状態を使って認証を再利用するauth-multiple-roles- 役割ごとに個別のストレージ状態を使用するauth-session-storage- 認証でのセッションストレージを扱うauth-api-login- 認証のセットアップを高速化するために API ログインを使用するauth-parallel-workers- 並列テストにはワーカー単位の認証を使用する
5. モックとネットワーク(中〜高)
mock-api-responses- 決定的なテストのために API レスポンスをモックしますmock-intercept-modify- 実際のレスポンスをインターセプトして変更しますmock-har-files- 複雑なモックシナリオに HAR ファイルを使用しますmock-abort-requests- 不要なリクエストを中止しますmock-network-conditions- ネットワークの状態をシミュレートします
6. Next.js の統合(中)
next-wait-hydration- 操作を開始する前にハイドレーションを待機しますnext-server-components- サーバーコンポーネントを正しくテストしますnext-app-router-navigation- App Router のナビゲーションパターンをテストしますnext-server-actions- サーバーアクションをエンドツーエンドでテストしますnext-baseurl-config- スムーズなナビゲーションのために baseURL を設定します
7. パフォーマンスと速度(中)
perf-sharding- 大規模なテストスイートにシャーディングを使用しますperf-headless-ci- CI でヘッドレスモードを使用しますperf-browser-selection- ブラウザーを戦略的に選択しますperf-reuse-server- 可能な場合は開発サーバーを再利用しますperf-retries- 不安定なテストからの回復に備えて再試行を設定します
8. デバッグと CI(低〜中)
debug-trace-viewer- 失敗したテストでトレースビューアーを使用しますdebug-screenshots-videos- 失敗時にスクリーンショットと動画をキャプチャしますdebug-inspector- インタラクティブなデバッグに Playwright Inspector を使用しますdebug-ci-reporters- CI との統合に向けてレポーターを設定します
使用方法
詳しい説明とコード例については、各リファレンスファイルをお読みください。
- セクションの定義 - カテゴリーの構成と影響度
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
リファレンスファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全なガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンとリファレンス情報 |
コメント
Markdown 対応