mcpField
P
playwright-frontend

playwright-frontend

github.com/testdino-hq開発405203 回インストール2 週間前に更新
リポジトリ

playwright-frontend について

安定した機械可読なDOMの契約を整えるための、フロントエンドエンジニア向けPlaywrightマークアップガイドです。セマンティックでアクセシブルなマークアップを優先し、必要な場合に限り一意で安定した`data-testid`を追加します。

主な機能

  1. 01`data-testid`の命名規則を定める
  2. 02セマンティックHTMLとアクセシブルな名前を優先
  3. 03テストIDの一意性と安定性を確保
  4. 04リスト項目に安定したドメインキーを使用
  5. 05`data-testid`属性に統一

活用シーン

  1. 01自動テスト用のDOMロケーターを設計
  2. 02カスタムウィジェットに安定したテスト識別子を追加
  3. 03ローカライズやスタイル変更によるテストの不安定化を抑制
  4. 04React、Vue、Angular、SvelteでテストIDを統一

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/testdino-hq/playwright-skill --skill playwright-frontend

インストール後、Claude Code で/playwright-frontendを入力して読み込まれたか確認します。

同梱ファイルdata-testid-conventions.mdexamples.md

詳細

Playwright フロントエンド(ロケーター可能なマークアップの作成)

対象読者:アプリを開発するフロントエンドエンジニア — core/ のテスト作成者向けガイドに対応するものです。ここでの目的は、テストと AI エージェントが不安定さを避けて要素を確実に特定できるよう、DOM 上に小規模で安定した機械可読の契約を用意することです。

data-testid は UI の自動化レイヤーにおける公開 API です。テストやエージェントがこれに依存した後で名前を変更すると、互換性を損なう変更になります。まずアクセシブルなマークアップを作成し、自動化で長期的に使える識別子が必要な箇所に、意図的で適切な名前を付けた、一意かつ安定したテスト ID を追加してください。

ガイド一覧

トピックガイド
data-testid の規約(使用場面、命名、一意性、安定性)data-testid-conventions.md
フレームワークのパターン(React、Vue、Angular、Svelte)+ ID の一元管理+本番環境での削除examples.md

基本ルール

  1. まずセマンティックな HTML を使う — getByRole/getByLabel が機能するよう、要素に適切なロール、ラベル、アクセシブルな名前を設定してから、テスト ID を追加します。
  2. ロール、ラベル、テキストでは不十分な場合に限り data-testid を追加する — ロールのないカスタムウィジェット、スコープ用コンテナー、リストの行、動的またはローカライズされた領域などが該当します。getByRole で一意に特定できるコントロールには必要ありません。
  3. 全体で一意になる名前を付ける — feature-component-element[-variant]、kebab-case。
  4. リストでは配列のインデックスではなく、安定したドメインキーを末尾に付ける — user-row-${user.id} ✅ / user-row-${index} ❌。
  5. 値をテキスト、ロケール、スタイル、DOM 上の位置から切り離す — これらは変わりますが、テスト ID は変わらないようにします。
  6. 属性を一つに統一する — Playwright のデフォルトの testIdAttribute は data-testid です。data-test/data-qa と混在させないでください。

関連項目

コメント