Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Bemærk
Testprogrammet frarådes og fjernes i en fremtidig version. Brug Power Platform Playwright-eksempler til funktioner til testautomatisering i Power Platform og Dynamics 365-tjenester.
Det kan være tidskrævende at oprette omfattende testplaner for Power Platform programmer, især i komplekse scenarier. Ai-assisterede oprettelsesværktøjer som f.eks. GitHub Copilot kan fremskynde denne proces betydeligt ved at generere testskabeloner, foreslå testcases og automatisere oprettelsen af standardkode.
I denne vejledning forklares det, hvordan du bruger GitHub Copilot med power platform-versionsstyringsløsninger til effektivt at oprette testprogramtestplaner.
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- Visual Studio Code installeret
- GitHub Copilot abonnement
- GitHub Copilot Chat udvidelse for VS Code
- Power Platform CLI installeret
- En kildestyret Power Platform løsning
Konfiguration af dit testoprettelsesmiljø
Hvis du vil maksimere effektiviteten af AI-assisteret testoprettelse, skal du kombinere disse værktøjer i en struktureret arbejdsproces:
- Hent dine kildefiler
- Klon dit miljø eller din Power Platform løsning fra kildestyring
- Eksporter og pak din løsning ud med Power Platform filer ved hjælp af pac solution export og pac solution unpack
- Initialisere et git-lager til versionskontrol (hvis det ikke allerede er gjort)
- Opret en dedikeret testmappe i dit løsningslager
- Åbn løsningsmappen i Visual Studio Code
Brug GitHub Copilot til oprettelse af test
GitHub Copilot kan hjælpe dig med at generere forskellige testkomponenter baseret på din kildestyrede løsning. Sådan bruger du dens muligheder effektivt:
Brug af eksempeldokumentation som kontekst
Kataloget med Test Engine-eksempler indeholder en omfattende kilde til referencemateriale til GitHub Copilot. Du kan hjælpe Copilot med at generere test af højere kvalitet ved at:
- Medtage filen samples.md i dit arbejdsområde
- Referere til specifikke eksempler i dine prompter
- Leverer links til eksempel GitHub lagre
Du kan f.eks.:
- Åbn både din programkode og filen samples.md i VS Code
- Spørg Copilot til at oprette test, der "ligner ButtonClicker-eksemplet" eller "bruger mønstre fra Dataverse-eksemplet"
- Referer til specifikke funktioner fra prøver, der matcher dine testbehov
Denne fremgangsmåde hjælper Copilot med at forstå mønstre i Power Platform-testprogrammet og generere mere nøjagtige test.
Arbejde med GitHub Copilot i agenttilstand
Visual Studio Code GitHub-Copilot Chat tilbyder en Agent-tilstand der kan hjælpe med at generere test, der er baseret på dine løsningsfiler. Denne tilstand gør det muligt for Copilot at få adgang til og forstå projektkonteksten dybere.
Sådan bruger du agenttilstand til testgenerering:
- Åbn GitHub-Copilot Chat (Ctrl+Skift+I) i VS Code
- Vælg Agent i Copilot-tilstand vælgeren
- Lav en detaljeret prompt om den test, du vil oprette
Eksempler på prompter til testgenerering
Prøv at bruge prompter som disse til testgenerering:
Mål:
Opret en omfattende testpakke til en lærredsapp ved hjælp af Power Apps-testprogrammet, der er modelleret efter eksemplet ButtonClicker.
Prompt:
Opret en test for ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml ved hjælp af eksemplet på https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker som reference. Opret forventede sager, grænsesager og undtagelsessager. Testen skal oprette en YAML-testfil og Power Fx testtrin, config.json og RunTest.ps1 baseret på eksemplet, så jeg kan køre testen.
Mål:
Byg en detaljeret testplan for en modelbaseret app for at sikre, at kernefunktionalitet og forretningslogik fungerer som forventet.
Prompt:
Opret en omfattende testplan for min modelbaserede app, der findes på ./SolutionPackage/src/Other/Solution.xml. Testen skal validere formularindlæsning, oprettelse af poster og udførelse af forretningsregler. Opret test-YAML,trin Power Fx og et PowerShell-script for at køre testen.
Mål:
Opret en testplan til Dataverse-enheder for at bekræfte CRUD-operationer via Power Fx handlinger.
Prompt:
Lav en omfattende testplan for mine Dataverse enheder. Testen skal udføre oprettelses-, opdaterings- og slettehandlinger Power Fx . Opret test-YAML,trin Power Fx og et PowerShell-script for at køre testen.
Forstå de genererede testkomponenter
Når GitHub Copilot genererer en test, oprettes der typisk følgende komponenter:
- YAML-testplan: Definerer teststrukturen, appens URL-adresse og testtrin
- Power Fx testtrin: Indeholder testlogikken ved hjælp af Power Fx udtryk
- config.json: Konfiguration af testudførelsesparametre
- RunTest.ps1: PowerShell-script til udførelse af testen
Eksempel: Genereret teststruktur
MyAppTests/
├── MyAppTest.fx.yaml # Power Fx test steps
├── MyAppTest.yml # Test plan definition
├── config.json # Test configuration
└── RunTest.ps1 # Test execution script
Bedste praksis for AI-assisteret testoprettelse
Overvej følgende afsnit for at få mest muligt ud af GitHub Copilot til oprettelse af testprogram.
Giv en klar kontekst i dine prompter
Vær specifik omkring, hvad du vil teste, og inkluder referencer til:
- De nøjagtige filer, der skal testes
- Eksempler på tests, der kan bruges som skabeloner
- Specifikke testscenarier, du vil dække
- Eventuelle godkendelses- eller miljøkrav
Brug af testprogrameksempler til kontekst
Dokumentationen samples.md katalogiserer alle tilgængelige eksempler fra testmotorlageret, hvilket kan være en glimrende reference, når du opretter prompter om GitHub Copilot. Når du f.eks. tester en canvas-app med knapper, kan du henvise til Button Clicker-eksamplet:
Prompt:
Opret en test for min lærredapp på ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml ved hjælp af ButtonClicker-eksemplet fra https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. Prøven skal:
1. Kontroller, at min tællerknap øger en værdi på skærmen
2. Prøvningsgrænsebetingelser (f.eks. maks. værdi)
3. Inkluder OnTestCaseStart og OnTestCaseComplete livscyklus hooks
4. Generer config.json med passende miljøvariabler
Denne fremgangsmåde hjælper Copilot med at forstå teststrukturen og genererer mere nøjagtige, kontekstafhængigt relevante test baseret på dokumenterede eksempler.
Brug kildestyrede løsninger som kontekst
Copilot fungerer bedst, når den kan analysere din løsningsstruktur. Brug kildekontrolelement til Power Platform løsninger til at angive denne kontekst. Denne kontekst gør det muligt for Copilot at:
- Forstå din apps struktur
- Identificere kontrolelementnavne og egenskaber
- Generer mere nøjagtige testtrin
- Referere til de korrekte filstier
Gennemgå og finjuster genererede tests
Selvom AI-genererede tests giver et fremragende udgangspunkt, skal du altid:
- Kontrollér, at kontrolreferencer stemmer overens med dit program
- Tilføj påstande for forretningskritisk funktionalitet
- Sørg for, at kantsager håndteres korrekt
- Valider godkendelseskonfiguration
Kombiner med manuel ekspertise
I komplekse testscenarier skal du bruge GitHub Copilot til at:
- Generer testrammen og strukturen
- Oprette standardvalideringsmønstre
- Foreslå kantsager at overveje
Udvid derefter med din domæneekspertise for:
- Virksomhedsspecifikke valideringsregler
- Miljøhensyn
- Specialiserede testdata
Almindelige testgenereringsmønstre
Dette afsnit indeholder nogle almindelige testgenereringsmønstre:
Test af lærredapps
I forbindelse med lærredapps skal du bruge prompter, der refererer til App.fx.yaml filen i din kildestyrede løsning:
Prompt:
Opret en test til min Canvas-app i ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml, som validerer processen for at indsende udgifter. Testen skal udfylde udgiftsfelter, sende formularen og kontrollere, at bekræftelsesmeddelelsen vises.
Test af modelbaserede apps
For modelbaserede apps skal du fokusere på objektnavigation, formularinteraktioner og forretningsregler:
Prompt:
Opret en test for min modelbaserede app, der tester kontoentitetsformularen. Testen skal oprette en ny kontopost, validere påkrævede felter og kontrollere, at forretningsregler for beregning af kreditmaksimum fungerer korrekt.
Test af Dataverse-udvidelser
I forbindelse med Dataverse test skal du lægge vægt på datahandlinger og validering af forretningslogik:
Prompt:
Generer en Dataverse test, der validerer de brugerdefinerede plugins i min løsning. Testen skal oprette testposter, udløse udførelsen af plugin'et og bekræfte, at de forventede datatransformationer er sket.
Stikprøvespecifikke testprompter
For at få den mest nøjagtige testgenerering skal du henvise til specifikke prøver fra testprogrammets eksempelkatalog, der passer til dine testbehov. Her er skræddersyede prompter til almindelige testscenarier:
ButtonClicker-eksempler på prompter
Eksemplet med ButtonClicker demonstrerer grundlæggende test af tællerfunktionalitet. Brug disse meddelelser:
Prompt:
Generer en test for min tællerapp med en lignende struktur som ButtonClicker-eksemplet. Min app har knapper med navnet "IncrementBtn" og "ResetBtn" med en "CounterLabel", der viser det aktuelle antal. Opret en test, der bekræfter, at begge knapper fungerer korrekt, og at det maksimale antal er 10.
Prompt:
Opret en test for min knapinteraktionsapp ved hjælp af ButtonClicker-eksemplet som reference. Min app har en "SubmitButton", der kun skal aktiveres, når felterne "NameInput" og "EmailInput" er udfyldt. Opret en testplan med Power Fx trin til at validere denne funktionsmåde.
Testprompt til gallerier
Eksemplerne BasicGallery og NestedGallery viser, hvordan du tester galleriinteraktioner:
Prompt:
Opret en test for min galleriapp, hvor jeg har et "Produkter"-galleri med produktelementer, der indeholder "TitleLabel", "PriceLabel" og "SelectButton"-kontroller. Brug eksempelstrukturen i BasicGallery til at kontrollere, at jeg kan vælge elementer, og at de korrekte detaljer vises i et "DetailPanel".
Prompter til datahandlinger
Eksemplet Dataverse demonstrerer test af datahandlinger:
Prompt:
Opret en test til min CRM-app ved hjælp af eksempelmønsteret Dataverse . Test, at jeg kan oprette en ny kontaktpost, opdatere den og derefter kontrollere, at ændringerne fortsætter. Medtag både UI-test og direkte Dataverse operationer.
Prompter til AI-test
Hvis du vil teste AI-drevet funktionalitet, skal du se eksemplet på AI-prompt:
Prompt:
Opret en test for min synspunktsanalyseapp baseret på eksemplet på AI-prompt. Min app har tekstfeltet "FeedbackInput" og bruger AI Builder til at klassificere den som positiv, negativ eller neutral. Opret en test, der validerer forskellige input, der producerer forventede output inden for acceptable tærskler.
Avancerede teknikker
Dette afsnit indeholder eksempler på avancerede promptfunktioner.
Oprettelse af testsuiter med flere miljøer
Du kan bede Copilot om at generere test, der fungerer på tværs af flere miljøer:
Prompt:
Opret en testpakke til min app, der kan køre i DEV-, TEST- og PROD-miljøer med relevante konfigurationsvariabler for hvert miljø.
Generering af datasimulerede scenarier
Til isoleret test ved hjælp af connector-mocking:
Prompt:
Opret en test med modellerede connectorsvar til min app, der bruger den Office 365 Outlook connector. Testen skal simulere modtagelse af e-mails og validere appens behandlingslogik.
Test af AI-funktioner og håndtering af ikke-deterministiske resultater
Når du arbejder med AI-drevne applikationer, introducerer testning unikke udfordringer, da AI-output kan variere lidt mellem kørsler, selv med identiske input. Denne ikke-deterministiske adfærd kræver særlige testmetoder.
Forståelse af ikke-deterministisk testning
Ikke-deterministisk test omfatter validering af output, der legitimt kan variere på tværs af testkørsler:
- AI-modeloutput: Svar fra AI-modeller som GPT eller brugerdefinerede AI Builder-komponenter
- Konfidensscorer: Numeriske evalueringer, der kan svinge inden for acceptable intervaller
- Genereret indhold: Tekst eller anbefalinger produceret af AI-systemer
Brug af Preview.AIExecutePrompt til deterministisk test af AI-funktioner
Testprogrammet indeholder Preview.AIExecutePrompt , der muliggør deterministisk validering af AI-svar. Denne fremgangsmåde giver dig mulighed for at:
- Udfør AI-prompter i testscenarier
- Fortolk og valider de strukturerede svar
- Verificer, at kritiske output lever op til forventningerne på trods af potentielle variationer
Eksempel: Evaluering af bedømmelse med AI Builder
Følgende eksempel demonstrerer brug af Preview.AIExecutePrompt funktionen til at teste et AI-drevet klassificeringssystem:
EvaluateTestQuestionPrompt(Prompt: TestQuestion): TestResult =
With({
Response: ParseJSON(
Preview.AIExecutePrompt("PromptEvaluator",
{
Context: "You are a helpful agent asking about external customer service questions.",
Question: Prompt.Question
}).Text)
},If(
IsError(AssertNotError(Prompt.ExpectedRating=Response.Rating, Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating)),
{PassFail: 1, Summary: Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating}, {PassFail: 0, Summary: "Pass " & Prompt.Question}
))
I dette eksempel:
- Testen udfører en AI-prompt mod "PromptEvaluator"-modellen
- Den passerer en kontekst og et spørgsmål til evaluering
- Den validerer, at den returnerede bedømmelse stemmer overens med den forventede værdi
- Det giver klar feedback om testsucces eller fiasko
Du kan udforske den komplette implementering i eksemplet på AI-prompt fra PowerApps TestEngine-lageret .
Inkorporering af AI-bevidst test
Når du bruger GitHub Copilot til at generere test til AI-drevne programmer:
Prompt:
Generér en test for min AI-drevne app, der bruger AI Builder formularbehandling. Medtag testtrin, der validerer AI-resultaterne med passende tolerance for ikke-deterministiske output.
Fejlfinding og finjustering
Hvis GitHub Copilot genererer test, der ikke opfylder dine behov:
- Afgræns din prompt: Vær mere specifik omkring, hvad du vil teste
- Giv eksempler: Link til specifikke testeksempler, der matcher din ønskede stil
- Opdel komplekse tests: Anmod om generering af mindre, fokuserede testkomponenter
- Iterate: Brug Copilot svar til at tilpasse den næste prompt
Relaterede artikler
Udforsk testprogrammets funktioner
Gennemse kataloget over eksempler på testprogram
Få mere at vide om Power Fx testfunktioner
Forstå YAML-testformatet
Udforsk godkendelsesmuligheder
Training: Oprettelse af programmer med GitHub-Copilot-agent-tilstand