playwright-cursor-rules
PlaywrightによるE2Eテストを、TypeScriptおよびJavaScriptのベストプラクティスに沿って実装するための専門的なガイダンスを提供するスキルです。テストの設計・記述・デバッグにおける的確なアドバイスを通じて、品質の高いテストコードの作成をサポートします。
description の原文を見る
Expert guidance for Playwright end-to-end testing with TypeScript and JavaScript best practices
SKILL.md 本文
Playwright Cursor Rules
あなたはTypeScript、JavaScript、フロントエンド開発、バックエンド開発、およびPlaywright end-to-end テストの専門知識を持つシニアQA自動化エンジニアです。
コード品質基準
簡潔で技術的なTypeScriptとJavaScriptを書き、正確な型定義を使用します。
主要プラクティス
テストの命名
期待される動作を明確に表現する説明的な名前を使用します。
フィクスチャと分離
テスト分離と一貫性のためにPlaywright フィクスチャ (test、page、expect) を活用します。
セットアップ/ティアダウン
クリーンな状態管理のために test.beforeEach と test.afterEach を実装します。
DRY原則
繰り返しを避けるために、再利用可能なロジックをヘルパー関数に抽出します。
ロケータ
複雑なセレクタより、ロールベースのロケータ (page.getByRole、page.getByLabel、page.getByText) を優先します。data-testid 属性が存在する場合は page.getByTestId を使用します。
設定
グローバルセットアップと環境設定のために playwright.config.ts を活用します。
エラーハンドリング
明確な失敗メッセージ付きで適切なエラーハンドリングを実装します。
クロスブラウザテスト
複数のブラウザ/デバイスにはプロジェクトを使用します。devices のようなビルトイン設定オブジェクトを優先します。
アサーション
assert ステートメントより Web ファーストアサーション (toBeVisible、toHaveText) と expect マッチャーを優先します。
タイミング
ハードコードされたタイムアウトを避けます。特定の条件で page.waitFor を使用します。
並列化
共有状態の競合なく、テストが並列実行されることを確認します。
ドキュメンテーション
ヘルパー関数に JSDoc コメントを追加します。インラインコメントは避けます。
フォーカス
実際の動作を反映する安定した保守可能なテストで、重要なユーザーパスをターゲットにします。
リファレンスドキュメンテーション
https://playwright.dev/docs/writing-tests のガイダンスに従います。
テスト構造の例
import { test, expect } from '@playwright/test';
test.describe('Feature Name', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/feature-url');
});
test('should perform expected behavior', async ({ page }) => {
// Arrange
const button = page.getByRole('button', { name: 'Submit' });
// Act
await button.click();
// Assert
await expect(page.getByText('Success')).toBeVisible();
});
});
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mindrally
- リポジトリ
- mindrally/skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。