Tests assistés par l’IA pour les applications Windows

Les commandes winapp ui et la compétence winui-ui-testing permettent à votre agent IA d’inspecter, d’interagir avec l’interface utilisateur de votre application et de la valider automatiquement, en décrivant ce qu’il voit en langage naturel pour vous permettre d’itérer sans avoir à écrire d’abord du code de banc d’essai.

Commandes d’inspection de l’interface utilisateur

La winui-ui-testing compétence est incluse dans le winui@awesome-copilot plug-in. Si vous avez installé le plug-in pendant l’installation, aucune installation supplémentaire n’est requise.

Command Qu’est-ce que cela fait ?
winapp ui inspect Vide l’arborescence d’accessibilité de l’application en cours d’exécution
winapp ui screenshot Capture une capture d’écran de la fenêtre de l’application
winapp ui click <selector> Clique sur un bouton ou sélectionne un élément
winapp ui invoke <selector> Appelle l’action par défaut sur un contrôle
winapp ui search <text> Recherche l’arborescence d’éléments par nom ou AutomationId
winapp ui set-value <selector> <value> Définit la valeur d’une TextBox ou d’une ComboBox

Demandez à votre agent de tester l’application

  1. Exécutez l’application :
    dotnet run
    
  2. Posez à votre agent une question en langage naturel, par exemple :

    « Examinez l’application en cours d’exécution et dites-moi si le bouton Enregistrer est accessible lorsque le formulaire est vide. »

  3. L’agent utilise winapp ui inspect et winapp ui screenshot examine l’application et répond.

Ce flux de travail vous permet d’intercepter des problèmes ( focus clavier manquant, contrôles désactivés, problèmes de disposition) avant d’écrire une seule ligne de code de test.

Écrire des tests automatisés

Une fois que vous avez exploré l’application de manière interactive, demandez à votre agent de générer des tests formels. Utilisez cette invite de démarrage :

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.

Les tests générés utilisent winapp ui des commandes comme couche d’interaction. Ils s’exécutent donc sans infrastructure UI Automation distincte.

Définir automationIds dans votre code XAML

Pour que winapp ui click puisse cibler les éléments de manière fiable, définissez AutomationProperties.AutomationId dans votre XAML :

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

Demandez à votre agent : « Ajouter des attributs AutomationId à tous les contrôles interactifs dans ce code XAML ».