Test assistito dall'intelligenza artificiale per le app Windows

I winapp ui comandi e winui-ui-testing la competenza consentono all'agente di intelligenza artificiale di esaminare, interagire e convalidare automaticamente l'interfaccia utente dell'app, descrivendo ciò che vede nel linguaggio naturale, in modo da poter eseguire l'iterazione senza scrivere prima il codice di test harness.

Comandi di ispezione dell'interfaccia utente

L'abilità winui-ui-testing è inclusa nel plugin winui@awesome-copilot. Se il plug-in è stato installato durante l'installazione, non è necessaria alcuna installazione aggiuntiva.

Comando Funzionamento
winapp ui inspect Esegue il dump dell'albero di accessibilità dell'app in esecuzione
winapp ui screenshot Acquisisce uno screenshot della finestra dell'app
winapp ui click <selector> Fa clic su un pulsante o seleziona un elemento
winapp ui invoke <selector> Richiama l'azione predefinita in un controllo
winapp ui search <text> Cerca l'albero degli elementi in base al nome o a AutomationId
winapp ui set-value <selector> <value> Imposta il valore di una TextBox o di una ComboBox

Chiedere all'agente di testare l'app

  1. Eseguire l'app:
    dotnet run
    
  2. Porre all'agente una domanda in linguaggio naturale, ad esempio:

    "Guarda l'app in esecuzione e dimmi se il pulsante Salva è raggiungibile quando il modulo è vuoto".

  3. L'agente usa winapp ui inspect e winapp ui screenshot per esaminare l'app e rispondere.

Questo flusso di lavoro ti permette di individuare i problemi — assenza del focus della tastiera, controlli disabilitati, problemi di layout — prima di scrivere anche una sola riga di codice di test.

Scrivere test automatizzati

Dopo aver esplorato l'app in modo interattivo, chiedere all'agente di generare test formali. Usa questo prompt iniziale:

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.

I test generati usano winapp ui comandi come livello di interazione, quindi vengono eseguiti senza un framework di automazione interfaccia utente separato.

Impostare AutomationIds nel codice XAML

Per consentire a winapp ui click di individuare gli elementi in modo affidabile, imposta AutomationProperties.AutomationId nel tuo XAML:

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

Chiedi all'agente: "Aggiungi attributi AutomationId a tutti i controlli interattivi in questo codice XAML".