WPF UI自動化エージェントを使ってUI操作を行ってください。
指示: $ARGUMENTS
モード判定
引数からモードを自動判定する:
- inspect モード: 引数なし / "inspect" / "調査" / "確認" / "スクショ"
- click モード: "click" / "クリック" /
--aid指定あり(--textなし) - type モード: "type" / "入力" /
--text指定あり
inspect モード(UI調査)
対象アプリのUI状態を調査する。
手順:
list_windowsツールで現在のウィンドウ一覧を取得- ユーザーが指定したウィンドウ(またはマッチするもの)に対して
resolve_targetで target_id を取得 focus_windowでウィンドウを前面にlist_controlsでコントロールツリーを取得(depth=4)screenshotでスクリーンショットを撮影- 取得したコントロール一覧を整理して表示(automation_id, name, control_type, enabled/visible)
結果はテーブル形式で見やすく整理する。automation_id が空でないコントロールを優先的に表示する。
click モード(要素クリック)
UI要素をクリックしてスクリーンショットで結果を検証する。
手順:
- 対象ウィンドウが未解決の場合、
list_windows→resolve_targetで解決 focus_windowでウィンドウを前面に- 指定されたセレクタで
clickを実行 - クリック後に
screenshotで結果を確認 - 必要に応じて
list_controlsで変化を確認
セレクタの指定方法:
- automation_id: 例 "SaveButton"
- name + control_type: 例 "OK" Button
- 曖昧な場合は先に list_controls で候補を確認してからクリック
type モード(テキスト入力)
UI要素にテキストを入力して値を検証する。
手順:
- 対象ウィンドウが未解決の場合、
list_windows→resolve_targetで解決 focus_windowでウィンドウを前面に- 指定されたセレクタで
type_textを実行 - 入力後に
read_textで値を検証 screenshotで結果を確認
セレクタとテキストの指定方法:
- 例: "ServerUrlTextBox に http://localhost:8080 を入力"
- 例: "ユーザー名フィールド(automation_id=UsernameBox)に admin を入力"
セレクタの優先順位
automation_id(最も安定)name+control_typebounding_rectの中心クリック (最後の手段)