mobile-automation

Featured

MCP (dart-mcp + Marionette) を使ったFlutterアプリのE2E自動化・UI検証ガイド。シミュレーターでのUI動作確認、モックプレビュー検証、Bridge経由のE2Eテスト、スクリーンショット撮影など、アプリの動作検証が必要なときに使う。「動作確認して」「UIを検証して」「E2Eテスト」「シミュレーターで確認」「モックで確認」と言われたときや、UI変更後の検証フェーズで使用すること。

AI & Automation 1,045 stars 100 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Mobile Automation dart-mcp と Marionette MCP を使ったFlutterアプリのUI検証・E2E自動化ガイド。 ## デフォルト設定 特別な指示がない限り、以下をデフォルトとして使う: - **デバイス**: iOSシミュレーター(`flutter devices` で確認し、iPhone Simulator を選択) - **Bridge ポート**: `8766`(テスト用。本番の8765と分離してテストできる) - **プロジェクトルート**: リポジトリルート(`git rev-parse --show-toplevel` で取得) - **アプリルート**: `<プロジェクトルート>/apps/mobile` ユーザーが実機やポート8765を指定した場合はそちらに従う。 ## サブエージェント活用 E2E検証は **`e2e-verifier` サブエージェント** に委譲すると効率的。独立したコンテキストで検証するため、実装バイアスなく客観的に動作を確認できる。 ``` Agent tool で e2e-verifier サブエージェントを起動: subagent_type: e2e-verifier プロンプト: --- アプリが起動済みです。以下の検証を実施してください。 ## 検証内容 [検証したい項目を記述] ## 接続情報 - VM Service URI: [wsUri] - PID: [pid] 日本語で回答してください。 --- ``` **使い分け:** - 単純なUI確認(要素の存在チェック、1-2画面の確認)→ 直接MCP操作 - 包括的なE2E検証(複数画面のフロー、回帰テスト)→ `e2e-verifier` サブエージェントに委譲 ## アプリ起動ワークフロー ### Step 1: デバイス確認 ```bash flutter devices ``` 出力からシミュレーターのデバイスIDを確認する(例: `1A2B3C4D-5E6F-...`)。 ### Step 2: アプリ起動 ``` mcp__dart-mcp__launch_app root: <アプリルートの絶対パス> target: lib/main.dart device: <シミュレーターのデバイスID> ``` 返り値の **pid** を控える(以降の全ステップで必要)。 ### Step 3: 待機 **5秒待機する。** Xcodeビルド + シミュレーターへのデプロイが完了するまで待つ必要がある。初回ビルド時は10秒程度かかることもある。 ### Step 4: VM Service URI 取得 ``` mcp__dart-mcp__get_app_logs pid: <Step 2のpid> ``` ログ出力から `app.debugPort` イベントを探し、**wsUri** を抽出する: ```json "params": { "wsUri": "ws://127.0.0.1:XXXXX/YYYY=/ws" } ``` wsUri が見つからない場合はビルドがまだ完了していない。5秒待って再度 `get_app_logs` を呼ぶ。 ### Step 5: Marionette 接続 ``` mcp__marionette__connect uri: <wsUri> ``` Marionette M...

Details

Author
K9i-0
Repository
K9i-0/ccpocket
Created
6 months ago
Last Updated
today
Language
Dart
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category