AIが実行したプレイテストの状態とテスト結果を確認し、Studioプレイテストを AIで制御します。

概要
PlaytestページはAIが実行したプレイテストの状態とテスト結果を表示します。ダッシュボードがStudio接続済み状態のときのみアクセスできます。
system_info ツールの play/stop/pause/resume/play_status/run_test アクションでAIがプレイテストを直接制御します。
Playtest Status
現在のプレイテスト状態を表示します:
| 状態 | 意味 |
|---|---|
| NotRunning | プレイテスト未実行 |
| Running | プレイテスト実行中 |
| Paused | プレイテスト一時停止(Runモード) |
Test History
AIが run_test アクションで実行したテスト結果を時系列で一覧表示します:
| 項目 | 説明 |
|---|---|
| タイムスタンプ | テスト実行時刻 |
| Test Report | テストレポートへのリンク |
| Mode | 実行モード(play/run) |
| Duration | テスト所要時間 |
| Status | 結果(Passed/Failed) |
テストレポートをクリックすると、Markdown形式の詳細レポートとログを確認できます。
主なワークフロー
手動プレイテスト制御
「PlayモードF5でゲームを開始して」
「現在のプレイテストを止めて」
play → play_status で状態確認 → stop で終了します。
自動テスト実行(run_test)
「SpawnLocationが正しい位置にあるか確認するテストを作って実行して」
run_test はテストスクリプトを注入してプレイテストを自動で開始・収集・クリーンアップします。
CIスタイルの検証
「NPC AIが目標地点まで移動するかRunモード(F8)でテストして、失敗したらログを見せて」
run_test を mode: "run" で実行してサーバーサイドテストを進めます。
プレイテスト状態マシン
Edit ──play──→ Running ──stop──→ Edit
│ ↑
pause stop
│ │
↓ │
Paused ──resume──→ Running
| 状態 | 可能なアクション |
|---|---|
edit | play |
running | stop, pause(Runモードのみ) |
paused | resume, stop |
- Playモード(F5): クライアント+サーバーシミュレーション。pause/resume不可。
- Runモード(F8): サーバー専用シミュレーション。pause/resume可能。
run_testパイプライン
run_test は以下のステップを自動でオーケストレーションします:
1. 準備
- プレイス情報取得(
place_info) - 既存のログバッファを初期化
2. スクリプト注入
ServerScriptService.__MCP_TestRunnerにラップされたテストスクリプトを作成- ラッパーが自動でSTART/FINISHEDシグナルとエラートレースバックを処理
3. 実行とモニタリング
- プレイテスト開始(PlayまたはRunモード)
- 500msごとにログをポーリング
[WEPPY_TEST]:FINISHEDシグナル受信で完了判定- タイムアウト超過時に自動中断(デフォルト60秒、最大300秒)
4. クリーンアップ
- プレイテストを自動停止
- 注入したテストスクリプトを削除
- 最後のログを収集
5. レポート生成
レポートとログはローカルの {projectRoot}/weppy-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/ 以下に保存されます。
{projectRoot}/weppy-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/
├── test-report.md # 結果サマリー(状態、時間、シグナル)
└── test-log.txt # 全ログ(タイムスタンプ、シーケンス、レベル)
test-report.md の例:
# Test Report
- Status: passed
- Test Name: spawn_location_test
- Mode: run
- Place ID: 123456
- Duration (ms): 1523
- Total Logs: 12
- Signal Count: 2
## Signals
- START: 2026-03-12T10:30:00.000Z
- FINISHED: 2026-03-12T10:30:01.523Z
アクションリファレンス
| アクション | 説明 | パラメーター | ティア |
|---|---|---|---|
play | Play(F5)またはRun(F8)モードでプレイテスト開始 | mode: “play” | “run” | Pro |
stop | 現在のプレイテストを停止 | — | Pro |
pause | RunモードのプレイテストをPause | — | Pro |
resume | 一時停止中のRunモードプレイテストを再開 | — | Pro |
play_status | プレイテスト状態と可能なアクションを取得 | — | Pro |
run_test | テストスクリプト注入 → 実行 → ログ収集 → レポート生成 | script(必須)、test_name、mode、timeout | Pro |
run_testパラメーター
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
script | string | ✅ | 実行するLuauテストコード本文 |
test_name | string | — | レポートに表示するテスト名 |
mode | ”play” | “run” | — | プレイテストモード(デフォルト: “play”) |
timeout | number | — | タイムアウト秒数(デフォルト: 60、最大: 300) |
ユースケース
テスト失敗の分析
「さっき実行した自動テストが失敗した原因を探したい」
Test HistoryでFailedステータスのテストを見つけてTest Reportをクリックすると、詳細ログと失敗原因を確認できます。
テスト履歴の確認
「今日実行したテストの成功・失敗状況を見たい」
Test HistoryでタイムスタンプとStatusを確認してテスト結果の推移を把握します。