使い方
- インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
- 必要なツール、認証情報、対応環境を原文で確認します。
- 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/testdino-hq/playwright-skill --skill playwright-frontend開始前の確認
- 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
- スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。
Playwright Frontend (Authoring Locatable Markup)
Audience: frontend engineers writing the app — the counterpart to the test-author guides in core/. Your job here is to expose a small, stable, machine-readable contract on the DOM so tests and AI agents can locate elements deterministically, without flakiness.A data-testid is a public API for your UI's automation layer: once a test or agent depends on it, renaming it is a breaking change. Build accessible markup first, then add deliberate, well-named, unique, stable test IDs where automation needs a durable handle.
Guide Index
| Topic | Guide |
|---|---|
data-testid conventions (when, naming, uniqueness, stability) | data-testid-conventions.md |
| Framework patterns (React, Vue, Angular, Svelte) + centralizing IDs + production stripping | examples.md |
Golden Rules
- Semantic HTML first — give elements a real role/label/accessible name so
getByRole/getByLabelwork; then add test IDs. - Add `data-testid` only where role, label and text fall short — no-role custom widgets, scope containers, list rows, and dynamic or localized regions. A control
getByRolealready finds uniquely needs none. - Name for global uniqueness —
feature-component-element[-variant],kebab-case. - In lists, suffix with a stable domain key, never the array index —
user-row-${user.id}✅ /user-row-${index}❌. - Decouple the value from text, locale, styling, and DOM position — those change; the test ID must not.
- Standardize on one attribute —
data-testidis Playwright's defaulttestIdAttribute; don't mixdata-test/data-qa.
Related
- core/locators.md / core/locator-strategy.md — the consumer side: choosing locators when writing tests.
- Playwright official docs: Locators, Best Practices.




