このプロジェクトは、生成 AI を利用した E2E の実装方法を提案したものです。
Cursor エディターを利用して、次の手順で E2E テストを実装する。
- AI に依頼して、テスト手順書を md 形式で作成する。
- テスト手順書に従ったブラウザテストを AI によって実行させる。
- ブラウザテストに成功した手順書を元に AI によって E2E テストを実装する。
- PR を作成し、レビュー、修正などを行う。
- ブラウザテストを AI により自動実行できる。
- ブラウザテストの再現性が上がる。
- 実動作を確認しながら手順書を作成できる。
- 手順書を構造化できる。
- 手順書の作成をコード実装と同じフローで行うことができる。
- テスト設計者、実施者によって E2E 実装の PR を作成できる。
- 手順書ベースのブラウザテストがどの程度複雑な手順まで自動実行できるか分からない。
.
├── plans/ # テスト手順書
│ ├── test_settings.md # テスト共通設定
│ └── login/ # ログイン関連のテスト計画
├── tests/ # テストファイル
│ ├── example.spec.ts # サンプルテスト
│ └── login/ # ログイン関連のテスト
└── test-results/ # テスト結果
- エラー発生時のスクリーンショットは
test-results/
ディレクトリに保存されます。
- Node.js (v18 以上推奨)
- npm または yarn
npm install
npx playwright install
このプロジェクトでは、ブラウザテストを Playwright MCP によって実行します。
Cursor 用の設定ファイル(~/.cursor/mcp.json
)に以下の設定を追加してください:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
~/.cursor/mcp.json
ファイルを作成または編集- 上記の Playwright MCP 設定を追加
- Cursor を再起動
- MCP サーバーが正常に接続されていることを確認
Cursor で Playwright MCP が設定されると、以下のことが可能になります:
- AI による自動ブラウザテストの実行
- テスト手順書に基づいたブラウザ操作の自動化
- スクリーンショットの自動取得
- テスト結果の自動記録
- Cursor 内でのシームレスなテスト実行
# すべてのテストを実行(ヘッドレスモード)
npm test
# ブラウザを表示してテストを実行
npm run test:headed
# Playwright Test UIを使用してテストを実行
npm run test:ui
# テストレポートを表示
npm run report
# ログインページのテストのみ実行
npx playwright test tests/login/login001_login_page.spec.ts
# ログイン機能のテストのみ実行
npx playwright test tests/login/login002_login.spec.ts