mcpField
P
playwright-skill

playwright-skill

github.com/zebbernテスト・品質4.7k41 回インストール1 日前に更新
リポジトリ

playwright-skill について

playwright-skill は、Playwright を使う開発者向けのテスト作成・デバッグガイドです。テスト設計、CI、フレームワーク別の手法、CLI によるブラウザー操作を、TypeScript と JavaScript の例で解説します。

主な機能

  1. 0150 件以上の Playwright リファレンス
  2. 02セレクター、アサーション、フィクスチャ、テスト構成
  3. 03ネットワークモック、認証、API テスト
  4. 04CI、デバッグ、テスト成果物
  5. 05フレームワーク別ガイドと移行ガイド
  6. 06CLI ブラウザー自動化のガイド

活用シーン

  1. 01堅牢なブラウザーテストの設計
  2. 02不安定または失敗するテストの調査
  3. 03Playwright テストの CI 設定
  4. 04Playwright CLI によるブラウザーワークフロー

インストール

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

$npx skills add https://github.com/zebbern/claude-code-guide --skill playwright-skill

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

ci/
ci-github-actions.md
ci-gitlab.md
ci-other.md
docker-and-containers.md
global-setup-teardown.md
parallel-and-sharding.md
projects-and-dependencies.md
reporting-and-artifacts.md
test-coverage.md
core/
accessibility.md
angular.md
api-testing.md
assertions-and-waiting.md
auth-flows.md
authentication.md
browser-apis.md
browser-extensions.md
canvas-and-webgl.md
clock-and-time-mocking.md
common-pitfalls.md
component-testing.md
configuration.md
crud-testing.md
debugging.md
drag-and-drop.md
electron-testing.md
error-and-edge-cases.md
error-index.md
file-operations.md
file-upload-download.md

詳細

Playwright スキル

Playwright に関する実践的で、本番環境で検証済みのガイダンスです。すべてのパターンで、使用すべき場合と、使用すべきでない場合を説明しています。

50 以上のリファレンスガイドで、セレクター、アサーション、フィクスチャ、ページオブジェクト、ネットワークのモック、認証、ビジュアルリグレッション、アクセシビリティ、API テスト、CI/CD、デバッグなど、Playwright の全領域を網羅しています。TypeScript と JavaScript の例も掲載しています。

基本ルール

  1. CSS/XPath より getByRole() を使う — マークアップの変更に強く、ユーザーから見たページの状態を反映します
  2. page.waitForTimeout() は使わない — expect(locator).toBeVisible() または page.waitForURL() を使います
  3. Web ファーストのアサーションを使う — expect(locator) は自動的に再試行しますが、expect(await locator.textContent()) は再試行しません
  4. すべてのテストを分離する — 状態を共有せず、実行順序に依存させません
  5. 設定で baseURL を指定する — テスト内に URL をハードコードしません
  6. 再試行回数は CI では 2、ローカルでは 0 にする — 重要な環境で不安定さを検出します
  7. トレースには 'on-first-retry' を指定する — CI を遅くせずに、詳細なデバッグ用アーティファクトを取得できます
  8. グローバル変数よりフィクスチャを使う — モジュールレベルの変数ではなく、test.extend() で状態を共有します
  9. 1 つのテストにつき 1 つの動作を検証する — 関連する複数の expect() 呼び出しは問題ありません
  10. 外部サービスのみをモックする — 自分のアプリはモックせず、サードパーティ API、決済ゲートウェイ、メールをモックします

ガイド一覧

Writing Tests
What you're doingGuideDeep dive
Choosing selectorslocators.mdlocator-strategy.md
Assertions & waitingassertions-and-waiting.md
Organizing test suitestest-organization.mdtest-architecture.md
Playwright configconfiguration.md
Page objectspage-object-model.mdpom-vs-fixtures-vs-helpers.md
Fixtures & hooksfixtures-and-hooks.md
Test datatest-data-management.md
Auth & loginauthentication.mdauth-flows.md
API testing (REST/GraphQL)api-testing.md
Visual regressionvisual-regression.md
Accessibilityaccessibility.md
Mobile & responsivemobile-and-responsive.md
Component testingcomponent-testing.md
Network mockingnetwork-mocking.mdwhen-to-mock.md
Forms & validationforms-and-validation.md
File uploads/downloadsfile-operations.mdfile-upload-download.md
Error & edge caseserror-and-edge-cases.md
CRUD flowscrud-testing.md
Drag and dropdrag-and-drop.md
Search & filter UIsearch-and-filter.md
デバッグと修正
問題ガイド
一般的なデバッグのワークフローdebugging.md
特定のエラーメッセージerror-index.md
不安定/断続的なテストflaky-tests.md
初心者によくある間違いcommon-pitfalls.md
フレームワークのレシピ
フレームワークガイド
Next.js(App Router + Pages Router)nextjs.md
React(CRA、Vite)react.md
Vue 3 / Nuxtvue.md
Angularangular.md
移行ガイド
移行元ガイド
Cypressfrom-cypress.md
Selenium / WebDriverfrom-selenium.md
アーキテクチャの選択
質問ガイド
どのロケーター戦略を使うべきですか?locator-strategy.md
E2E、コンポーネント、APIのどれを使うべきですか?test-architecture.md
モックと実際のサービスのどちらを使うべきですか?when-to-mock.md
POM、フィクスチャ、ヘルパーのどれを使うべきですか?pom-vs-fixtures-vs-helpers.md
CI/CDとインフラストラクチャ
トピックガイド
GitHub Actionsci-github-actions.md
GitLab CIci-gitlab.md
CircleCI / Azure DevOps / Jenkinsci-other.md
並列実行とシャーディングparallel-and-sharding.md
Dockerとコンテナdocker-and-containers.md
レポートとアーティファクトreporting-and-artifacts.md
コードカバレッジtest-coverage.md
グローバルセットアップ/ティアダウンglobal-setup-teardown.md
マルチプロジェクト設定projects-and-dependencies.md
専門的なトピック
トピックガイド
複数ユーザーとコラボレーションmulti-user-and-collaboration.md
WebSocket とリアルタイム処理websockets-and-realtime.md
ブラウザー API(位置情報、クリップボード、権限)browser-apis.md
iframe と Shadow DOMiframes-and-shadow-dom.md
Canvas と WebGLcanvas-and-webgl.md
Service Worker と PWAservice-workers-and-pwa.md
Electron アプリelectron-testing.md
ブラウザー拡張機能browser-extensions.md
セキュリティテストsecurity-testing.md
パフォーマンスとベンチマークperformance-testing.md
i18n とローカライゼーションi18n-and-localization.md
複数タブとポップアップmulti-context-and-popups.md
クロックと時間のモックclock-and-time-mocking.md
サードパーティ統合third-party-integrations.md
CLI ブラウザー自動化
実行する内容ガイド
CLI でのブラウザー操作playwright-cli/SKILL.md
基本コマンド(open、click、fill、navigate)core-commands.md
ネットワークのモックとインターセプトrequest-mocking.md
カスタム Playwright コードの実行running-custom-code.md
複数セッションのブラウザー管理session-management.md
Cookie、localStorage、認証状態storage-and-auth.md
CLI からのテストコード生成test-generation.md
トレースとデバッグtracing-and-debugging.md
スクリーンショット、動画、PDFscreenshots-and-media.md
デバイスと環境のエミュレーションdevice-emulation.md
複雑な複数ステップのワークフローadvanced-workflows.md

言語に関する注意

すべてのガイドには TypeScript と JavaScript の例が含まれています。プロジェクトで .js ファイルを使用している場合、または tsconfig.json がない場合は、例をプレーンな JavaScript に適合させています。

コメント