mcpField
P
Playwright Testing Framework

Playwright Testing Framework

ローカル
github.com/lupusludens-se開発ツール177 週間前に更新

Playwright Testing Framework について

Playwright Testing Frameworkは、Zeigo Network Dashboard向けのPlaywrightベースのUI・APIエンドツーエンドテスト集です。テスト仕様、ページオブジェクト、ユーティリティに加え、複数ブラウザーや環境での実行方法を含みます。

主な機能

  1. 01UI・APIのエンドツーエンドテスト
  2. 02ページオブジェクトモデルファイル
  3. 03ブラウザー別のテスト実行
  4. 04環境別のテスト実行
  5. 05VS Code Test Explorer対応

活用シーン

  1. 01ダッシュボードのUI・API回帰テスト
  2. 02特定のテストやブラウザーを指定
  3. 03testまたはpreprod環境での実行
  4. 04VS Codeでのデバッグと再実行

MCP 対応

READMEでは、高度なUIテストやPlaywright MCP機能との対話にPlaywright MCPサーバーを使う方法を説明しています。Playwright MCPとContext7 MCPは同じターミナルセッションでは実行できないとしています。

設定

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

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

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

パッケージ
npmplaywright

ツール

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

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

詳細

Playwright テストフレームワーク

このプロジェクトには、Playwright を使用したエンドツーエンド(E2E)テスト向けの Zeigo Network Dashboard の UI テストと API テストが含まれています。

使用しているもの

Playwright は、次のような機能により、最新の Web アプリ向けに信頼性の高いエンドツーエンドテストを実現します。

  • クロスブラウザーテストのサポート
  • クロスプラットフォームテスト機能
  • 複数言語のサポート(TypeScript、JavaScript、Python、.NET、Java)
  • モバイル Web テスト
  • テストの並列実行
  • 組み込みのデバッグツール

ドキュメント

構成

  • .vscode/:ワークスペース固有の設定。
  • ui-tests/specs/:UI テスト仕様。
  • api-tests/specs/:API テスト仕様。
  • pages/:ページオブジェクトモデル(POM)ファイル。
  • utils/:ユーティリティ関数またはヘルパー。
  • .env:環境変数。
  • .gitignore:バージョン管理の対象外にするファイル。

前提条件

  1. Node.js:Node.js v20 以降をインストールします

  2. 環境設定:次の設定を含む .env ファイルを作成します。

    # Base URLs
    API_BASE_URL=https://your-api-url
    UI_BASE_URL=https://your-ui-url
    

はじめに

  1. Playwright と依存関係をインストールします。

    npm install
    npx playwright install
    npm install dotenv
    
  2. VS Code の Playwright 拡張機能をインストールします。

    code --install-extension ms-playwright.playwright
    
  3. テストを実行します。

テスト実行のオプション

VS Code のテストエクスプローラーを使用する
  • VS Code を開きます
  • アクティビティバーのテストアイコン(フラスコアイコン)をクリックします
  • 再生ボタンをクリックして、すべてのテストを実行します
  • または、各テストの横にある再生ボタンをクリックして、個別のテストを実行します
コマンドラインを使用する
基本的なテストコマンド
# Run all tests
npx playwright test

# Run tests in headed mode
npx playwright test --headed

# Run tests in specific browser
npx playwright test --project=chromium

# Debug mode
npx playwright test --debug

# Generate tests with Codegen
npx playwright codegen
環境別のテスト実行
Windows PowerShell
# Test environment
$env:CI="true"; $env:target_env="test"; npx playwright test --reporter=list

# PreProd environment
$env:CI="true"; $env:target_env="preprod"; npx playwright test --reporter=list
macOS/Linux
# Test environment
CI=1 target_env="test" npx playwright test --reporter=list

# PreProd environment
CI=1 target_env="preprod" npx playwright test --reporter=list
特定のテストの実行
# Run by test name
npx playwright test -g "name of my test" --project=chromium

# Run specific test file
npx playwright test tests/specific-test.spec.js

# Run tests with specific tag
npx playwright test --grep @tag_name
ブラウザー別のテスト実行
# Chrome
npm run regression:chromium

# Safari
npm run regression:safari

# All browsers in headless mode
npm run regression

# All browsers in headed mode
npm run regression:headed
テストスケジューラー

遅延を挟みながらテストをバッチ実行するには、次のようにします。

.\run_tests_scheduler.bat

テストエクスプローラーの機能

  • 🔍 ツリービューでテストを参照
  • ▶️ 個別のテストまたはテストファイルを実行/デバッグ
  • 🔄 失敗したテストを再実行
  • 📊 テスト結果をインラインで表示
  • 🎯 テスト定義に移動
  • 📋 ステータスまたはタグでテストを絞り込み
  • 🎯 ブレークポイントを使用してテストをデバッグ

異なる目的で両方の MCP サーバー(context7 と playwright)を使用できますが、同じターミナルセッションで同時に実行することはできません。使用方法は次のとおりです。


各 MCP サーバーの使用方法
  1. Context7 MCP サーバー:

    • 目的:最新かつバージョン固有のドキュメントとコード例を提供します。
    • 使用方法:
      • サーバーを起動します。
        npx -y @upstash/context7-mcp@latest
        
      • プロンプトに use context7 を追加して使用すると、正確でコンテキストを踏まえた応答を取得できます。
  2. Playwright MCP サーバー:

    • 目的:UI テスト向けに Playwright の機能を拡張します。
    • 使用方法:
      • サーバーを起動します。
        npx playwright-mcp
        
      • 高度なテストシナリオで Playwright を操作するために使用します。

同時に実行できますか?
  • 同じターミナル:できません。各サーバーがターミナルの入力/出力を制御するため、1 つのターミナルセッションで実行できる MCP サーバーは 1 つだけです。
  • 異なるターミナル:できます。別々のターミナルセッションで両方のサーバーを同時に実行できます。

両方のサーバーを同時に実行する方法
  1. 2 つのターミナルウィンドウを開きます。
  2. 1 つ目のターミナルで、Context7 MCP サーバーを起動します。
    npx -y @upstash/context7-mcp@latest
    
  3. 2 つ目のターミナルで、Playwright MCP サーバーを起動します。
    npx playwright-mcp
    

両方を組み合わせて使用する方法
  • Context7:

    • ライブラリやツールのドキュメントまたはコード例を取得するために使用します。
    • 例:プロンプトに use context7 を追加すると、正確な応答を取得できます。
  • Playwright:

    • 高度な UI テストを実行したり、Playwright の MCP 機能を操作したりするために使用します。
    • 例:MCP サーバーが稼働している間に、Playwright のテストを実行します。

コメント

MCP は初めてですか?

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

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