Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Příkazy winapp ui a funkce winui-ui-testing umožňují vašemu agentovi AI automaticky kontrolovat uživatelské rozhraní vaší aplikace, pracovat s ním a ověřovat ho — a v přirozeném jazyce popisovat, co vidí, takže můžete aplikaci průběžně vylepšovat, aniž byste nejprve museli psát kód testovacího rámce.
Příkazy kontroly uživatelského rozhraní
Dovednost winui-ui-testing je součástí modulu plug-in winui@awesome-copilot . Pokud jste modul plug-in nainstalovali během instalace, nevyžaduje se žádná další instalace.
| Command | Jak funguje |
|---|---|
winapp ui inspect |
Vypíše strom přístupnosti spuštěné aplikace. |
winapp ui screenshot |
Zachytí snímek obrazovky okna aplikace. |
winapp ui click <selector> |
Klikne na tlačítko nebo vybere položku. |
winapp ui invoke <selector> |
Vyvolá výchozí akci ovládacího prvku. |
winapp ui search <text> |
Vyhledá ve stromu prvků podle názvu nebo AutomationId. |
winapp ui set-value <selector> <value> |
Nastaví hodnotu prvku TextBox nebo ComboBox. |
Požádejte svého agenta, aby aplikaci otestil.
- Spusťte aplikaci:
dotnet run - Položte agenta otázku v přirozeném jazyce, například:
"Podívejte se na spuštěnou aplikaci a řekněte mi, jestli je tlačítko Uložit dostupné, když je formulář prázdný."
- Agent používá
winapp ui inspectawinapp ui screenshotkontroluje aplikaci a reaguje na ni.
Tento pracovní postup umožňuje zachytit problémy – chybějící fokus klávesnice, zakázané ovládací prvky, problémy s rozložením – před napsání jednoho řádku testovacího kódu.
Psaní automatizovaných testů
Jakmile aplikaci prozkoumáte interaktivně, požádejte agenta, aby vygeneroval formální testy. Použijte tuto úvodní výzvu:
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.
Vygenerované testy používají winapp ui příkazy jako vrstvu interakce, takže se spouštějí bez samostatné architektury automatizace uživatelského rozhraní.
Nastavení id AutomationId v XAML
Chcete-li winapp ui click spolehlivě cílit na prvky, nastavte AutomationProperties.AutomationId v xaml:
<Button AutomationProperties.AutomationId="SaveButton"
Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />
Zeptejte se svého agenta: Přidání atributů AutomationId do všech interaktivních ovládacích prvků v tomto XAML.
Spusťte testy v CI
Můžete spouštět příkazy winapp ui v rámci pracovního postupu GitHub Actions. Testy vyžadují grafické prostředí; použijte runner se systémem Windows s runs-on: windows-latest.
name: UI tests
on: [push, pull_request]
jobs:
ui-test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
- name: Install winapp CLI
run: winget install --id Microsoft.WinAppCLI --silent --accept-package-agreements --accept-source-agreements --disable-interactivity
- name: Build
run: dotnet build
- name: Run UI tests
run: dotnet test --filter Category=UITest
Note
Příkazy winapp ui komunikují se stromem živé přístupnosti spuštěného procesu. Testy musí aplikaci spustit jako součást nastavení testu (nebo v kroku TestInitialize) a zavřít ji v závěrečné fázi testu.
Automatická kontrola přístupnosti
Příkaz winapp ui inspect vypíše celý strom přístupnosti – názvy prvků, typy, stavy a AutomationIds. Požádejte svého agenta, aby zkontroloval mezery v přístupnosti:
Run "winapp ui inspect" on the running app and identify any issues:
- Controls without accessible names
- Missing keyboard focus order
- Buttons or links that aren't reachable by Tab
Report findings as a prioritized list, most critical first.
Tento prompt dobře funguje jako úvodní kontrola přístupnosti před spuštěním formálního auditního nástroje. Úplný kontrolní seznam pro přístupnost najdete v přehledu přístupnosti pro Windows aplikace.
Související obsah
Windows developer