winapp uiコマンドとwinui-ui-testingスキルを使用すると、AI エージェントはアプリの UI を自動的に検査、操作、検証できます。これは、テスト ハーネス コードを最初に記述せずに反復処理できるように、自然言語で表示される内容を記述します。
UI 検査コマンド
winui-ui-testing スキルは、winui@awesome-copilot プラグインに含まれています。
セットアップ中にプラグインをインストールした場合、追加のインストールは必要ありません。
| Command | それが何をするか |
|---|---|
winapp ui inspect |
実行中のアプリのアクセシビリティ ツリーをダンプします |
winapp ui screenshot |
アプリ ウィンドウのスクリーンショットをキャプチャします |
winapp ui click <selector> |
ボタンをクリックするか、項目を選択します。 |
winapp ui invoke <selector> |
コントロールに対して既定のアクションを呼び出します。 |
winapp ui search <text> |
要素ツリーを名前または AutomationId で検索します |
winapp ui set-value <selector> <value> |
TextBox または ComboBox の値を設定します。 |
エージェントにアプリのテストを依頼する
- アプリを実行します:
dotnet run - 次のような自然言語の質問をエージェントに問い合わせてください。
"実行中のアプリを見て、フォームが空のときに [保存] ボタンに到達できるかどうかを確認してください。"
- エージェントは、
winapp ui inspectとwinapp ui screenshotを使用してアプリを調べて応答します。
このワークフローでは、1 行のテスト コードを記述する前に、キーボード フォーカスの不足、無効なコントロール、レイアウトの問題などの問題をキャッチできます。
自動テストを記述する
対話形式でアプリを探索したら、正式なテストを生成するようにエージェントに依頼します。 このスターター プロンプトを使用します。
Write an xUnit UI test for my WinUI 3 app that:
1. Launches the app with dotnet run
2. Verifies the main window title is "My App"
3. Clicks the button with AutomationId "SaveButton"
4. Verifies a success message appears
Use the winapp ui commands for element interaction.
生成されたテストでは、対話レイヤーとして winapp ui コマンドが使用されるため、別の UI オートメーション フレームワークなしで実行されます。
XAML で AutomationId を設定する
winapp ui click が要素を確実に対象にできるようにするには、XAML で AutomationProperties.AutomationId を設定します。
<Button AutomationProperties.AutomationId="SaveButton"
Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />
エージェントに「この XAML のすべての対話型コントロールに AutomationId 属性を追加する」と尋ねます。
関連するコンテンツ
Windows developer