mcpField
🎭
🎭 Playwright Test Automation Framework

🎭 Playwright Test Automation Framework

ローカル
github.com/GoldiSaini開発ツール282 週間前に更新

🎭 Playwright Test Automation Framework について

Playwright と TypeScript を使い、ページオブジェクトモデルと外部テストデータで E2E テストを構成するフレームワークです。登録フローの例を含み、@executeautomation/playwright-mcp-server で記録と再生を行います。

主な機能

  1. 01ページオブジェクトモデルの構成
  2. 02テストデータとロジックの分離
  3. 03TypeScript 対応
  4. 04再利用可能なコンポーネントとヘルパー
  5. 05MCP による記録と再生
  6. 06テストスクリプトの自動生成

活用シーン

  1. 01データ駆動の登録シナリオの実行
  2. 02ページオブジェクトとテストシナリオの追加
  3. 03MCP によるテストの記録と再生

MCP 対応

テストの記録と再生に @executeautomation/playwright-mcp-server を利用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"playwrightMCP_Demo": {
"command": "npx",
"args": [
"-y",
"playwright"
]
}
}
}
起動コマンドnpx -y playwright

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmplaywright

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🎭 Playwright テスト自動化フレームワーク

🚀 Playwright と TypeScript で構築された、強力なデータ駆動型テスト自動化フレームワークです。@executeautomation/playwright-mcp-server を活用し、テストの記録と再生機能を強化しています。拡張性と保守性に優れた自動テストを実現するため、ページオブジェクトモデルの設計パターンを採用しています。

Playwright TypeScript Node.js MCP Server

✨ ハイライト

  • 🏗️ ページオブジェクトモデル - 明快で保守しやすいテストアーキテクチャ
  • 📊 データ駆動型テスト - 外部テストデータを使ってテストを簡単に拡張
  • 🔧 TypeScript サポート - 堅牢な型チェックと優れた IDE 連携
  • ♻️ 再利用可能なコンポーネント - コードを最大限再利用できるモジュール設計
  • 🎯 簡単な保守 - ロケーターとデータを一元管理
  • 📈 拡張性の高い設計 - 新しいテストシナリオを簡単に追加
  • 🎥 MCP サーバー連携 - 強化されたテスト記録・再生機能

🌟 主な機能

  • 構造化され、整理されたテストアーキテクチャ
  • テストデータとテストロジックの分離
  • 一般的な操作に使える強力なヘルパーメソッド
  • 分かりやすいページオブジェクトパターンの実装
  • 包括的なテストデータ管理
  • すぐに使える登録フローのサンプル
  • MCP サーバーを使ったテストの記録と再生
  • テストスクリプトの自動生成

フレームワークの構成

tests/
├── data/                    # Test Data Layer
│   ├── interfaces/         
│   │   └── TestData.ts     # Data type definitions
│   ├── TestDataHelper.ts   # Helper class for data management
│   └── testData.ts         # Test scenarios data
├── pages/                   # Page Objects
│   ├── BasePage.ts         # Base page with common functionality
│   ├── LoginPage.ts        # Login page object
│   └── RegistrationPage.ts # Registration page object
└── specs/                   # Test Specifications
    └── registration.spec.ts # Test cases

機能

  • ページオブジェクトモデル:テストロジックとページ操作を分離します
  • データ駆動型テスト:テストデータをテストロジックから分離します
  • TypeScript:強い型付けと優れた IDE サポートを提供します
  • 再利用可能なコンポーネント:共通機能を基底クラスにまとめます
  • 簡単な保守:ロケーターとデータを一元管理します
  • 拡張性:新しいテストシナリオやページオブジェクトを簡単に追加できます

テストデータの構成

このフレームワークでは、構造化された方法でテストデータを管理します。

interface TestScenario {
    name: string;
    login: LoginData;
    registration: RegistrationData;
}

現在のテストシナリオ:

  1. 有効な登録フロー(男性ユーザー)
  2. 女性ユーザーの登録

セットアップ

  1. リポジトリをクローンします。
git clone <repository-url>
cd playwrightMCP_Demo
  1. 依存関係をインストールします。
npm install
  1. Playwright ブラウザーをインストールします。
npx playwright install

テストの実行

すべてのテストを実行します。

npx playwright test

特定のテストファイルを実行します。

npx playwright test tests/specs/registration.spec.ts

ヘッド付きモードでテストを実行します。

npx playwright test --headed

新しいテストシナリオの追加

  1. tests/data/testData.ts に新しいテストデータを追加します。
{
    name: 'Your Scenario Name',
    login: {
        email: '[email protected]'
    },
    registration: {
        firstName: 'First',
        lastName: 'Last',
        address: 'Address',
        email: '[email protected]',
        phone: '1234567890',
        gender: 'Male' | 'Female',
        country: 'Country Name'
    }
}
  1. 新しいシナリオを追加すると、テストは自動的に実行されます。

フレームワークのコンポーネント

ページオブジェクト
  • BasePage:共通のメソッドとユーティリティを含みます
  • LoginPage:ログイン機能を処理します
  • RegistrationPage:登録フォームの操作を管理します
データ管理
  • TestData.ts:テストシナリオを含みます
  • TestDataHelper:テストデータへのアクセスと管理のためのメソッドを提供します
  • インターフェース:テストデータの構造を定義します

ベストプラクティス

  1. ページオブジェクトは、そのページ固有の機能に集中させます
  2. テストデータはテストロジックと分けて管理します
  3. 意味の分かるシナリオ名を使用します
  4. TypeScript の命名規則に従います
  5. テストは互いに独立させ、アトミックに保ちます

コントリビューション

  1. 機能開発用の新しいブランチを作成します
  2. テストとページオブジェクトを追加・更新します
  3. 必要に応じてテストデータを更新します
  4. プルリクエストを送信します

依存関係

  • Playwright
  • TypeScript
  • Node.js
  • @executeautomation/playwright-mcp-server - テストの記録と再生を強化するため
  • @playwright/test - コアテストフレームワーク

サポート

ご質問や問題がある場合は、リポジトリで新しい Issue を作成してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。