Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os comandos winapp ui e a competência winui-ui-testing permitem que o seu agente de IA inspecione, interaja com e valide automaticamente a interface da sua aplicação — descrevendo, em linguagem natural, o que deteta para que possa fazer iterações sem ter primeiro de escrever código de infraestrutura de teste.
Comandos de inspeção UI
A funcionalidade winui-ui-testing está incluída no plug-in winui@awesome-copilot. Se instalaste o plugin durante a configuração, não é necessária nenhuma instalação adicional.
| Command | O que faz |
|---|---|
winapp ui inspect |
Mostra a árvore de acessibilidade da aplicação em execução |
winapp ui screenshot |
Captura uma captura de ecrã da janela da aplicação |
winapp ui click <selector> |
Clica num botão ou seleciona um item |
winapp ui invoke <selector> |
Invoca a ação padrão num controlo |
winapp ui search <text> |
Pesquisa a árvore de elementos por nome ou AutomationId |
winapp ui set-value <selector> <value> |
Define o valor de uma TextBox ou ComboBox |
Pede ao teu agente para testar a aplicação
- Execute o aplicativo:
dotnet run - Faça ao seu agente uma pergunta em linguagem natural, como:
Olha para a aplicação em execução e diz-me se o botão Guardar está acessível quando o formulário está vazio.
- O agente usa
winapp ui inspectewinapp ui screenshotpara examinar a aplicação e responder.
Este fluxo de trabalho permite-lhe detetar problemas — falta de foco do teclado, controlos desativados, problemas de layout — antes de escrever uma única linha de código de teste.
Escrever testes automatizados
Depois de explorar a aplicação de forma interativa, peça ao seu agente para gerar testes formais. Usa este prompt inicial:
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.
Os testes gerados usam winapp ui comandos como camada de interação, por isso correm sem um framework de automação de interface separado.
Define AutomationIds no teu XAML
Para winapp ui click visar elementos de forma fiável, defina AutomationProperties.AutomationId no XAML:
<Button AutomationProperties.AutomationId="SaveButton"
Content="Save" />
<TextBox AutomationProperties.AutomationId="TitleInput" />
Pergunte ao seu agente: "Adicione atributos AutomationId a todos os controlos interativos neste XAML."
Executar testes em CI
Podes executar winapp ui comandos num fluxo de trabalho do GitHub Actions. Os testes exigem uma sessão gráfica; utilize um runner Windows com 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
Os winapp ui comandos interagem com a árvore de acessibilidade ao vivo de um processo em curso. Os testes devem iniciar a aplicação como parte da configuração do teste (ou em passos TestInitialize ) e fechá-la na desmontagem.
Verifique a acessibilidade automaticamente
O winapp ui inspect comando gera a árvore completa de acessibilidade — nomes dos elementos, tipos, estados e AutomationIds. Peça ao seu agente para rever as lacunas de acessibilidade:
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.
Este prompt funciona bem como uma primeira revisão de acessibilidade antes de executar uma ferramenta de auditoria formal. Para uma lista completa de acessibilidade, consulte a visão geral de acessibilidade para aplicações Windows.
Conteúdo relacionado
Windows developer