AI-assisterad testning för Windows appar

Med winapp ui kommandona och winui-ui-testing färdigheterna kan AI-agenten inspektera, interagera med och verifiera appens användargränssnitt automatiskt – och beskriva vad den ser på naturligt språk så att du kan iterera utan att först skriva testselekod.

Kontrollkommandon för användargränssnittet

Färdigheten winui-ui-testing ingår i pluginet winui@awesome-copilot. Om du installerade plugin-programmet under installationen krävs ingen ytterligare installation.

Kommando Vad det gör
winapp ui inspect Dumpar tillgänglighetsträdet för appen som körs
winapp ui screenshot Tar en skärmbild av appfönstret
winapp ui click <selector> Klickar på en knapp eller väljer ett objekt
winapp ui invoke <selector> Anropar standardåtgärden på en kontroll
winapp ui search <text> Söker i elementträdet efter namn eller AutomationId
winapp ui set-value <selector> <value> Anger värdet för en textruta eller kombinationsruta

Be din agent att testa appen

  1. Kör appen:
    dotnet run
    
  2. Ställ en fråga till din agent på naturligt språk, till exempel:

    "Titta på appen som körs och berätta om knappen Spara kan nås när formuläret är tomt."

  3. Agenten använder winapp ui inspect och winapp ui screenshot för att undersöka appen och svara.

Med det här arbetsflödet kan du fånga upp problem – tangentbordsfokus saknas, inaktiverade kontroller, layoutproblem – innan du skriver en enda rad med testkod.

Skriva automatiserade tester

När du har utforskat appen interaktivt ber du din agent att generera formella tester. Använd den här startprompten:

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.

De genererade testerna använder winapp ui kommandon som interaktionslager, så de körs utan ett separat ramverk för gränssnittsautomatisering.

Ange AutomationIds i XAML

För att winapp ui click ska kunna rikta in sig på element pålitligt anger du AutomationProperties.AutomationId i din XAML:

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

Fråga din agent: "Lägg till AutomationId-attribut till alla interaktiva kontroller i denna XAML."