← Back to list

e2e-healer
by zakizaki-ri9
きままに更新するブログ
⭐ 0🍴 0📅 Jan 23, 2026
SKILL.md
name: e2e-healer description: 壊れたPlaywright E2Eテストを自動修復するスキル
E2E Healer Skill
このスキルは、失敗したPlaywright E2Eテストを解析し、自動的に修復します。
前提条件
- 失敗したテストの実行結果があること
- 開発サーバーが起動可能であること
実行手順
1. テスト実行と失敗の検出
pnpm test:e2e
失敗したテストを特定
2. 失敗原因の分析
Playwrightのエラーメッセージから原因を特定:
| エラータイプ | 原因 | 修復アプローチ |
|---|---|---|
locator.click: Error | セレクターが見つからない | browser_subagentで現在のUIを確認し、セレクター更新 |
expect(locator).toBeVisible | 要素が表示されない | 待機時間追加または条件変更 |
expect(page).toHaveTitle | タイトル変更 | 期待値を更新 |
Timeout | ページ読み込み遅延 | タイムアウト値調整 |
3. 現在のUIの確認
browser_subagent を使用して現在のページ状態を確認:
- 該当ページを開く
- 対象要素の現在の状態を確認
- アクセシビリティツリーを分析
4. テストコードの修正
失敗原因に応じてテストコードを修正:
セレクター変更の例:
// Before: 壊れたセレクター
await page.locator('.old-class').click();
// After: 安定したセレクター
await page.getByRole('button', { name: '送信' }).click();
待機追加の例:
// Before: 即時チェック
await expect(page.getByText('完了')).toBeVisible();
// After: 待機を追加
await expect(page.getByText('完了')).toBeVisible({ timeout: 10000 });
5. 修正後の検証
pnpm test:e2e
修正したテストが通ることを確認
6. 修正のコミット
修正内容を確認し、適切なコミットメッセージで保存:
fix(test): [テスト名]のセレクターを更新
自動修復の限界
以下の場合は手動対応が必要:
- 仕様変更: 機能自体が変更された場合
- 新規要素: 新しいUIコンポーネントが追加された場合
- 根本的な設計問題: テスト設計自体に問題がある場合
これらの場合は /e2e-plan → /e2e-gen の再実行を推奨
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon