Teste assistido por IA para aplicativos Windows

O comando winapp ui e a habilidade winui-ui-testing permitem que seu agente de IA inspecione, interaja com a interface do usuário do seu aplicativo e a valide automaticamente, descrevendo em linguagem natural o que ele vê para que você possa iterar sem precisar primeiro escrever a infraestrutura de teste.

Comandos de inspeção da interface do usuário

A habilidade winui-ui-testing está incluída no plugin winui@awesome-copilot. Se você instalou o plug-in durante a instalação, nenhuma instalação adicional será necessária.

Command O que faz
winapp ui inspect Exibe a árvore de acessibilidade do aplicativo em execução
winapp ui screenshot Captura uma captura de tela da janela do aplicativo
winapp ui click <selector> Clica em um botão ou seleciona um item
winapp ui invoke <selector> Invoca a ação padrão em um controle
winapp ui search <text> Pesquisa a árvore de elementos por nome ou AutomationId
winapp ui set-value <selector> <value> Define o valor de um TextBox ou ComboBox

Peça ao seu agente para testar o aplicativo

  1. Execute o aplicativo:
    dotnet run
    
  2. Faça ao seu agente uma pergunta de linguagem natural, como:

    "Olhe para o aplicativo em execução e me diga se o botão Salvar é acessível quando o formulário está vazio."

  3. O agente usa winapp ui inspect e winapp ui screenshot para examinar o aplicativo e responder.

Esse fluxo de trabalho permite que você capture problemas – falta de foco do teclado, controles desabilitados, problemas de layout – antes de escrever uma única linha de código de teste.

Escrever testes automatizados

Depois de explorar o aplicativo interativamente, peça ao agente para gerar testes formais. Use 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 a camada de interação, para que sejam executados sem uma estrutura de automação de interface do usuário separada.

Definir AutomationIds em seu XAML

Para winapp ui click ter como alvo elementos de maneira confiável, defina AutomationProperties.AutomationId no seu XAML:

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

Pergunte ao agente: "Adicionar atributos AutomationId a todos os controles interativos neste XAML".