Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

qa-testing-playwright

PlaywrightによるE2EのWebテストを支援するスキルです。テストの作成、不安定なテスト(フレーク)のデバッグ、セレクターの設定・シャーディング・ネットワークモッキングを活用したCIの構築時に使用します。

description の原文を見る

E2E web testing with Playwright. Use when writing tests, debugging flakes, or setting up CI with selectors, sharding, and network mocking.

SKILL.md 本文

QA Testing (Playwright)

Webアプリケーション向けの高い精度、コスト効率的なE2Eテスト。

コアドキュメント:

デフォルト設定 (2026)

  • E2Eテストを薄く保つ: 重要なユーザーフロー のみを保護し、カバレッジはダウン(ユニット/インテグレーション/コントラクト)に移す。
  • ロケーター優先順位: getByRolegetByLabel/getByTextgetByTestId (フォールバック)。
  • 待機: Playwright自動待機 + web-first アサーションに依存し、sleepや時間ベースの待機は不可。
  • 分離: テストは単独で、並列で、任意の順序で実行可能でなければならず、共有可変状態を排除する。
  • フレーク対策: リトライはデバッグツール; リラン成功を失敗シグナルとして扱い、根本原因を修正する。
  • CI対策: PR上でスモークゲートを実施; スケジュール時に回帰を sharding/並列化; 常にアーティファクト(trace/video/screenshot)を保持する。

クイックスタート

コマンド目的
npm init playwright@latestPlaywrightを初期化
npx playwright testすべてのテストを実行
npx playwright test --grep @smokeスモークテストを実行
npx playwright test --project=chromium単一プロジェクトを実行
npx playwright test --uiUIモードでデバッグ
npx playwright test --debugテストをステップスルー
npx playwright show-trace trace.ziptraceアーティファクトを検査
npx playwright show-reportHTMLレポートを検査

使用場面

  • Webアプリケーションのe2eテスト
  • ユーザー認証フローのテスト
  • フォーム送信の検証
  • レスポンシブデザインのテスト
  • ブラウザインタラクションの自動化
  • CI/CDでのPlaywright設定

使用しない場面

シナリオ代わりに使用
ユニットテストJest, Vitest, pytest
APIコントラクトqa-api-testing-contracts
ロードテストk6, Locust, Artillery
モバイルネイティブAppium

オーサリングルール

ロケーター戦略

// 1. ロールロケーター (推奨)
await page.getByRole('button', { name: 'Sign in' }).click();

// 2. ラベル/テキストロケーター
await page.getByLabel('Email').fill('user@example.com');

// 3. テストID (フォールバック)
await page.getByTestId('user-avatar').click();

フレーク制御

  • sleepを避け、Playwright自動待機を使用する
  • リトライをシグナルとして扱う、杖ではなく
  • 失敗時にtrace/screenshot/videoをキャプチャする
  • ユーザーライクなインタラクションを優先; force: true を避ける

ワークフロー

  • ユーザー結果(意図+オラクル)を証明する最小のテストを記述する。
  • さらにステップを追加する前にロケーターとアサーションを安定化させる。
  • 状態を明示的にする: テスト/ワーカーごとにシード、決定論的にクリーンアップ、サードパーティ境界をモック。
  • CI内: sharding/並列化、アーティファクトをキャプチャ、リラン成功フレークで速く失敗させる。

デバッグチェックリスト

何かがフレーキーな場合:

  • traceを最初に開き、ロケーター曖昧性、待機漏れ、状態漏洩のいずれかを特定する。
  • 脆弱なセレクターを意味論的ロケーターに置き換え、sleepを expect(...) または的を絞った待機に置き換える。
  • グローバルタイムアウトを削減; 製品が本当に必要な場合のみスコープ付きタイムアウトを追加する。
  • CIでのみ失敗する場合、並行性、コールドスタート、CPU飢餓、環境差異を確認する。

する / 避ける

  • テストを独立し決定論的にする

  • サードパーティ依存にはネットワークモッキングを使用する

  • PR上でスモークE2Eを実行; スケジュール上で完全な回帰を実行する

  • デフォルトとして「すべてをE2Eテストする」

  • フレークを「修正」するためにアサーションを弱める

  • アサーションを弱めるオートヒーリング

実行事前チェック (高ROI)

高コストなE2E実行の前にこの事前チェックを実行して、回避可能な失敗を防止する。

事前チェックリスト

  1. リポジトリ構造:
  • ワーキングディレクトリと期待されるアプリルートの存在を確認する。
  • spec パスを実行前に検証する(rg --files tests/e2e | rg <target>)。
  1. ポート/プロセス衛生:
  • 実行前にスティール状態開発サーバーポートを確認およびクリアする(例: lsof -i :3001)。
  • 並列ローカルサーバーがPlaywright webServer と衝突するのを避ける。
  1. コマンド妥当性:
  • バッチ実行前に現在のツールバージョンのCLIフラグを検証する。
  • トリアージ中は広いグロブよりも正確なspec パスまたは --grep を優先する。
  1. アーティファクト期待値:
  • 読む前に結果アーティファクトパスが存在することを確認する(test -f <error-context.md>)。
  • アーティファクトパスが見つからない場合は、最新の test-results インデックスを最初に検査する。

必須サンドボックス/ポート決定

サンドボックス化されたターミナル、CIコンテナ、共有開発ホストなど制約された環境でPlaywrightを実行する前に、以下を決定し文書化する:

  • ホスト/ポートのバインド: アプリサーバーが 127.0.0.1 または 0.0.0.0 を使用する必要があるかを確認し、選択されたポートが空いていることを検証する。
  • エスカレーションパス: バインド試行が EPERM/EACCES で失敗した場合、リトライループの代わりに直ちにエスカレーションする。
  • 長フロータイムアウト予算: グローバルタイムアウトを増加させるのではなく、API負荷の高いフロー(生成/チェックアウト/レポート)に対して明示的なテストごとのタイムアウトを設定する。
  • ビルドロック衛生: リラン前にスティール状態の .next/lock をクリアし、スティール状態のビルド/開発PIDを終了する。

トリアージシーケンス (最速シグナル)

  1. --workers=1 で失敗した単一テストを再現する。
  2. その単一失敗のtrace/video/screenshotをキャプチャする。
  3. 決定論的根本原因を修正する。
  4. 的を絞ったスイートを再実行する。
  5. その後のみ広い回帰を実行する。

製品バグではなく環境として扱うべき失敗パターン

  • Playwright Webサーバーポートの EADDRINUSE
  • スティール状態の想定からのmissingspec/結果パス
  • ブラケット付きルートセグメントのシェルglob展開失敗

リソース

リソース目的
references/playwright-mcp.mdMCP & AIテスト
references/playwright-patterns.md高度なパターン
references/playwright-ci.mdCI設定
references/playwright-authentication.md認証パターンとセッション管理
references/visual-regression-testing.mdビジュアルリグレッション戦略
references/api-testing-playwright.mdAPIRequestContextでのAPIテスト
references/playwright-preflight-sandbox.mdサンドボックス/ポート事前チェックとエスカレーション決定
data/sources.jsonドキュメントリンク

テンプレート

テンプレート目的
assets/template-playwright-e2e-review-checklist.mdE2eレビューチェックリスト
assets/template-playwright-fail-on-flaky-reporter.jsリラン成功フレークでCIを失敗させる
assets/template-playwright-preflight-checklist.mdポート/サンドボックス/タイムアウトの事前チェックリスト

関連スキル

スキル目的
qa-testing-strategy全体的なテスト戦略
software-frontendフロントエンド開発
ops-devops-platformCI/CD統合

ファクトチェック

  • 最終回答の前に、ウェブ検索/ウェブフェッチを使用して現在の外部ファクト、バージョン、価格、期限、規制、またはプラットフォーム動作を検証する。
  • プライマリソースを優先; 揮発性情報のソースリンクと日付を報告する。
  • ウェブアクセスが利用不可の場合、制限を述べ、ガイダンスを未検証とマークする。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
vasilyu1983
リポジトリ
vasilyu1983/ai-agents-public
ライセンス
MIT
最終更新
不明

Source: https://github.com/vasilyu1983/ai-agents-public / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: vasilyu1983 · vasilyu1983/ai-agents-public · ライセンス: MIT