Testes assistidos por IA para aplicações Windows

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

  1. Execute o aplicativo:
    dotnet run
    
  2. 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.

  3. O agente usa winapp ui inspect e winapp ui screenshot para 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."