Windows 應用程式的 AI 輔助測試

指令 winapp uiwinui-ui-testing 技能讓你的 AI 代理自動檢查、互動並驗證應用程式的使用者介面——用自然語言描述它所見,讓你能在不先寫測試 harness 程式碼的情況下不斷迭代。

使用者介面檢查命令

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 的值

請你的經紀人幫忙測試這個應用程式

  1. 執行應用程式:
    dotnet run
    
  2. 問你的代理人一個自然語言問題,例如:

    看看正在執行中的應用程式,告訴我當表單為空時,「儲存」按鈕是否仍可點選。

  3. 客服人員會使用 winapp ui inspectwinapp ui screenshot 檢查應用程式並回應。

這個工作流程讓你能在撰寫一行測試程式碼前,發現問題——像是鍵盤焦點缺失、控制鍵被停用、版面配置問題。

撰寫自動化測試

當你互動式地探索過應用程式後,請你的經紀人產生正式的測試。 請使用這個入門提示:

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 裡設定 AutomationIds

為了讓 winapp ui click 能可靠地鎖定元素,請在 XAML 中設定 AutomationProperties.AutomationId

<Button AutomationProperties.AutomationId="SaveButton"
        Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />

問你的客服人員 :「在這個 XAML 裡為所有互動式控制項新增 AutomationID 屬性。」