e2e-testing-automation
アプリケーション全体のスタックにわたって実際のユーザー操作をシミュレートするE2Eテストを自動化します。Selenium・Cypress・Playwrightを使ったブラウザ自動化やユーザージャーニーテストを作成する際にご利用ください。
description の原文を見る
> Build end-to-end automated tests that simulate real user interactions across the full application stack. Use for E2E test, Selenium, Cypress, Playwright, browser automation, and user journey testing.
SKILL.md 本文
E2E テスト自動化
目次
概要
エンドツーエンド (E2E) テストは、UI からすべてのバックエンドシステムを通じた完全なユーザーワークフローを検証し、アプリケーション全体がユーザーの視点から正しく機能することを確保します。E2E テストはブラウザを使用したリアルなユーザー操作をシミュレートし、認証、ナビゲーション、フォーム送信、結果の検証を処理します。
使用時機
- 重要なユーザージャーニーのテスト (サインアップ、チェックアウト、ログイン)
- マルチステップワークフローの検証
- 異なるブラウザとデバイス間でのテスト
- UI 変更に対する回帰テスト
- フロントエンド-バックエンド統合の検証
- リアルなユーザー操作を伴うテスト (クリック、入力、スクロール)
- デプロイメントのスモークテスト
クイックスタート
最小限の動作例:
// tests/e2e/checkout.spec.ts
import { test, expect, Page } from "@playwright/test";
test.describe("E-commerce Checkout Flow", () => {
let page: Page;
test.beforeEach(async ({ page: p }) => {
page = p;
await page.goto("/");
});
test("complete checkout flow as guest user", async () => {
// 1. Browse and add product to cart
await page.click("text=Shop Now");
await page.click('[data-testid="product-1"]');
await expect(page.locator("h1")).toContainText("Product Name");
await page.click('button:has-text("Add to Cart")');
await expect(page.locator(".cart-count")).toHaveText("1");
// 2. Go to cart and proceed to checkout
await page.click('[data-testid="cart-icon"]');
await expect(page.locator(".cart-item")).toHaveCount(1);
await page.click("text=Proceed to Checkout");
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリ内の詳細な実装:
| ガイド | 内容 |
|---|---|
Playwright E2E Tests | Playwright E2E Tests |
Cypress E2E Tests | Cypress E2E Tests |
Selenium with Python (pytest) | Selenium with Python (pytest) |
Page Object Model Pattern | Page Object Model パターン |
ベストプラクティス
✅ すべきこと
- セレクタの安定性のために data-testid 属性を使用
- 保守性のために Page Object Model を実装
- 重要なユーザージャーニーを徹底的にテスト
- 複数のブラウザで実行 (クロスブラウザテスト)
- sleep/タイムアウトの代わりに明示的待機を使用
- 各テスト後にテストデータをクリーンアップ
- 失敗時にスクリーンショットを取得
- 可能な限りテスト実行を並列化
❌ してはいけないこと
- 脆弱な CSS セレクタを使用 (nth-child など)
- すべての可能な UI の組み合わせをテスト (重要なパスに焦点)
- テスト間でのステートの共有
- 固定遅延を使用 (sleep/タイムアウト)
- 不安定なテストを放置
- ユニットレベルテストのために E2E テストを実行
- サードパーティ UI コンポーネントの詳細なテスト
- モバイル/レスポンシブテストをスキップ
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aj-geddes
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/aj-geddes/useful-ai-prompts / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。