Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Notat
Testmotoren er avskrevet og vil bli fjernet i en fremtidig versjon. Bruk eksempler på Power Platform Playwright for testautomasjonsfunksjoner i Power Platform og Dynamics 365 tjenester.
Å lage omfattende testplaner for Power Platform applikasjoner kan være tidkrevende, spesielt for komplekse scenarier. Kunstig intelligens-assisterte redigeringsverktøy som GitHub Copilot kan betydelig akselerere denne prosessen ved å generere testmaler, foreslå testtilfeller og automatisere oppretting av standardkode.
Denne veiledningen forklarer hvordan du bruker GitHub Copilot med kildekontrollløsninger for Power Platform for effektivt å opprette testmotortestplaner.
Forutsetning
Før du begynner, må du sørge for at du har:
- Visual Studio Code installert
- GitHub Copilot abonnement
- GitHub Copilot Chat utvidelse for VS Code
- Power Platform CLI installert
- En kildestyrt Power Platform løsning
Konfigurere testredigeringsmiljøet
Hvis du vil maksimere effektiviteten til AI-assistert testredigering, kan du kombinere disse verktøyene i en strukturert arbeidsflyt:
- Hent kildefilene dine
- Klon Power Platform miljøet eller løsningen fra kildekontroll
- Eksporter og pakk ut løsningen din fra Power Platform filer ved hjelp av pac-løsningseksport og pac-løsningsutpakking
- Initialiser et git-repositorium for versjonskontroll (hvis det ikke allerede er gjort)
- Opprett en dedikert testmappe i løsningsrepositoriet
- Åpne løsningsmappen i Visual Studio Code
Å bruke GitHub Copilot for testopprettelse
GitHub Copilot kan hjelpe deg med å generere ulike testkomponenter basert på den kildestyrte løsningen. Slik bruker du funksjonene effektivt:
Bruke eksempeldokumentasjon som kontekst
Eksempelkatalogen Test Engine gir en rik kilde til referansemateriale for GitHub Copilot. Du kan hjelpe Copilot generere tester av høyere kvalitet ved å:
- Inkludere samples.md-filen i arbeidsområdet
- Referere til spesifikke eksempler i ledetekstene dine
- Gir koblinger til eksempel GitHub repositorier
Du kan for eksempel gjøre følgende:
- Åpne både programkoden og samples.md-filen i VS Code
- Spør Copilot å opprette tester som ligner på buttonclicker-eksemplet eller «ved hjelp av mønstre fra dataverseksempelet»
- Referer til spesifikke funksjoner fra prøver som samsvarer med dine testbehov
Denne fremgangsmåten hjelper Copilot å forstå testmotormønstre for Power Platform og generere mer nøyaktige tester.
Arbeide med GitHub Copilot i agentmodus
Visual Studio Code GitHub-Copilot Chat tilbyr en Agent-modus som kan bidra til å generere tester basert på løsningsfilene. Denne modusen gir Copilot tilgang til og forstå prosjektkonteksten dypere.
Slik bruker du agentmodus for testgenerering:
- Åpne GitHub-Copilot Chat (CTRL+SKIFT+I) i VS Code
- Velg Agent fra Copilot-modus velgeren
- Lag en detaljert melding om testen du vil lage
Eksempler på spørsmål for testgenerering
Prøv å bruke ledetekster som disse for testgenerering:
Mål:
Generer en omfattende testserie for en lerretsapp ved hjelp av Power Apps testmotor, modellert etter ButtonClicker.
Omgående:
Generer en test for ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml ved hjelp av eksemplet på https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker som referanse. Opprett forventede saker, kantsaker og unntakstilfeller. Testen skal opprette en YAML-testfil og Power Fx testtrinn, config.json og RunTest.ps1 basert på eksemplet for å gjøre det mulig for meg å kjøre testen.
Mål:
Bygg en detaljert testplan for en modelldrevet app for å sikre at kjernefunksjonalitet og forretningslogikk fungerer som forventet.
Omgående:
Opprett en omfattende testplan for den modelldrevne appen som du finner på ./SolutionPackage/src/Other/Solution.xml. Testen skal validere skjemainnlasting, oppføringsoppretting og kjøring av forretningsregler. Generer test-YAML,trinn Power Fx og et PowerShell-skript for å kjøre testen.
Mål:
Lag en testplan for Dataverse enheter for å bekrefte CRUD-operasjoner gjennom Power Fx handlinger.
Omgående:
Lag en omfattende testplan for mine Dataverse entites. Testen skal utføre handlinger for å opprette, oppdatere, slette Power Fx . Generer test-YAML,trinn Power Fx og et PowerShell-skript for å kjøre testen.
Forstå de genererte testkomponentene
Når GitHub Copilot genererer en test, oppretter den vanligvis følgende komponenter:
- YAML-testplan: Definerer teststrukturen, app-URL-adressen og testtrinnene
- Power Fx testtrinn: Inneholder testlogikken ved hjelp av Power Fx uttrykk
- config.json: Konfigurasjon for testutførelsesparametere
- RunTest.ps1: PowerShell-skript for å utføre testen
Eksempel: Generert teststruktur
MyAppTests/
├── MyAppTest.fx.yaml # Power Fx test steps
├── MyAppTest.yml # Test plan definition
├── config.json # Test configuration
└── RunTest.ps1 # Test execution script
Anbefalte fremgangsmåter for AI-assistert testredigering
Vurder følgende inndelinger for å få mest mulig ut av GitHub Copilot for testmotortestoppretting.
Gi tydelig kontekst i ledetekstene dine
Vær spesifikk om hva du vil teste og inkluder referanser til:
- De nøyaktige filene som skal testes
- Eksempeltester som skal brukes som maler
- Spesifikke testscenarier du vil dekke
- Eventuelle godkjennings- eller miljøkrav
Bruk Test Engine-eksempler for kontekst
Dokumentasjonen samples.md katalogiserer alle tilgjengelige eksempler fra testmotorrepositoriet, som kan være en utmerket referanse når du lager meldinger om GitHub Copilot. Når du for eksempel tester en lerretsapp med knapper, kan du referere til eksemplet på knappeklikker:
Omgående:
Generer en test for lerretsappen min på ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml ved hjelp av ButtonClicker-eksemplet fra https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. Testen skal:
1. Kontroller at tellerknappen øker en verdi på skjermen
2. Test grensebetingelser (f.eks. maksverdi)
3. Inkluder OnTestCaseStart og OnTestCaseComplete livssykluskroker
4. Generer config.json med passende miljøvariabler
Denne tilnærmingen hjelper Copilot å forstå teststrukturen og genererer mer nøyaktige, kontekstavhengig relevante tester basert på dokumenterte eksempler.
Bruk kildestyrte løsninger som kontekst
Copilot fungerer best når den kan analysere løsningsstrukturen. Bruk kildekontroll for Power Platform løsninger for å gi denne konteksten. Med denne konteksten kan Copilot:
- Forstå appens struktur
- Identifisere kontrollnavn og egenskaper
- Generer mer nøyaktige testtrinn
- Referer til de riktige filbanene
Gjennomgå og finjuster genererte tester
Selv om AI-genererte tester gir et utmerket utgangspunkt, vil alltid:
- Kontrollere at kontrollreferanser samsvarer med programmet ditt
- Legge til deklarasjoner for forretningskritisk funksjonalitet
- Sørg for at kantkasser håndteres riktig
- Valider godkjenningskonfigurasjon
Kombiner med manuell ekspertise
Bruk GitHub Copilot til å gjøre følgende for komplekse testscenarioer:
- Generer testrammeverket og strukturen
- Opprette standard valideringsmønstre
- Foreslå kanttilfeller å vurdere
Deretter kan du utvide domeneekspertisen din for:
- Forretningsspesifikke valideringsregler
- Miljøhensyn
- Spesialiserte testdata
Vanlige testgenereringsmønstre
Denne delen inneholder noen vanlige testgenereringsmønstre:
Test lerretsapper
For lerretsapper bruker du ledetekster som refererer til App.fx.yaml filen i den kildekontrollerte løsningen:
Omgående:
Generer en test for lerretsappen min på ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml som validerer prosessen for innsending av utgifter. Testen skal fylle ut utgiftsfelt, sende skjemaet og kontrollere at bekreftelsesmeldingen vises.
Testing av modelldrevne apper
For modelldrevne apper fokuserer du på enhetsnavigasjon, skjemasamhandlinger og forretningsregler:
Omgående:
Opprett en test for den modelldrevne appen som tester enhetsskjemaet Forretningsforbindelse. Testen skal opprette en ny kontooppføring, validere obligatoriske felt og kontrollere at forretningsregler for beregning av kredittgrense fungerer som de skal.
Testing av Dataverse-utvidelser
For Dataverse tester legger du vekt på dataoperasjoner og validering av forretningslogikk:
Omgående:
Generer en Dataverse test som validerer de tilpassede plugin-modulene i løsningen min. Testen skal opprette testposter, utløse plugin-kjøringen og bekrefte at de forventede datatransformasjonene har skjedd.
Prøvespesifikke testmeldinger
For å få den mest nøyaktige testgenereringen kan du referere til spesifikke prøver fra testmotorprøvekatalogen som samsvarer med testbehovene dine. Her er skreddersydde ledetekster for vanlige testscenarioer:
ButtonClicker-eksempelmeldinger
ButtonClicker-eksemplet demonstrerer grunnleggende testing av tellerfunksjonalitet. Bruk disse meldingene:
Omgående:
Generer en test for tellerappen min med en lignende struktur som ButtonClicker-eksemplet. Appen min har knapper som heter «IncrementBtn» og «ResetBtn» med en «CounterLabel» som viser gjeldende antall. Opprett en test som bekrefter at begge knappene fungerer som de skal, og at maksimalt antall er 10.
Omgående:
Opprett en test for knappesamhandlingsappen ved hjelp av ButtonClicker-eksemplet som referanse. Appen min har en «SubmitButton» som bare skal aktiveres når feltene «NameInput» og «EmailInput» er fullført. Generer en testplan med Power Fx trinn for å validere denne virkemåten.
Galleri testforslag
Eksemplene på BasicGallery og NestedGallery viser hvordan du tester gallerisamhandlinger:
Omgående:
Generer en test for galleriappen min der jeg har et «Produkter»-galleri med produktelementer som inneholder «TitleLabel», «PriceLabel» og «SelectButton»-kontroller. Bruk eksempelstrukturen i BasicGallery til å bekrefte at jeg kan velge elementer og at de riktige detaljene vises i et "DetailPanel".
Dataoperasjonens anvisninger
Eksemplet Dataverse demonstrerer testing av dataoperasjoner:
Omgående:
Opprett en test for CRM-appen ved hjelp av eksempelmønsteret Dataverse . Test at jeg kan opprette en ny kontaktoppføring, oppdatere den og deretter kontrollere at endringene vedvarer. Inkluder både UI-tester og direkte Dataverse operasjoner.
KI-testinstruksjoner
Hvis du vil teste AI-drevet funksjonalitet, kan du se eksemplet påAI-forespørsel:
Omgående:
Generer en test for sentimentanalyseappen basert på AI-forespørselseksemplet. Appen min har en «FeedbackInput»-tekstboks og bruker AI Builder til å klassifisere den som positiv, negativ eller nøytral. Opprett en test som validerer ulike inndata, og gir forventede utdata innenfor akseptable terskler.
Avanserte teknikker
Denne delen inneholder eksempler på avanserte ledetekstfunksjoner.
Opprette testsuiter for flere miljøer
Du kan be Copilot om å generere tester som fungerer på tvers av flere miljøer:
Omgående:
Generer en testpakke for appen min som kan kjøres i DEV-, TEST- og PROD-miljøer med riktige konfigurasjonsvariabler for hvert miljø.
Generer datasimuleringsscenarioer
For isolert testing med koblingssimulering:
Omgående:
Opprett en test med spottede koblingssvar for appen min som bruker Office 365 Outlook-koblingen. Testen skal simulere mottak av e-post og validere appens behandlingslogikk.
Testing av AI-funksjoner og håndtering av ikke-deterministiske resultater
Når du arbeider med AI-drevne applikasjoner, introduserer testing unike utfordringer siden AI-utdata kan variere litt mellom kjøringer, selv med identiske inndata. Denne ikke-deterministiske oppførselen krever spesielle testtilnærminger.
Forstå ikke-deterministisk testing
Ikke-deterministisk testing innebærer validering av utdata som legitimt kan variere på tvers av testkjøringer:
- AI Model Outputs: Svar fra AI-modeller som GPT eller egendefinerte AI Builder komponenter
- Konfidensscore: Numeriske evalueringer som kan variere innenfor akseptable områder
- Generert innhold: Tekst eller anbefalinger produsert av AI-systemer
Bruke Preview.AIExecutePrompt for deterministisk testing av AI-funksjoner
Testmotoren gir Preview.AIExecutePrompt som muliggjør deterministisk validering av AI-svar. Denne tilnærmingen lar deg:
- Kjør AI-forespørsler i testscenarioer
- Analyser og valider de strukturerte svarene
- Verifisere at kritiske resultater oppfyller forventningene til tross for potensielle variasjoner
Eksempel: Vurderingsevaluering med AI Builder
Følgende eksempel demonstrerer bruk av Preview.AIExecutePrompt funksjonen til å teste et AI-drevet klassifiseringssystem:
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 eksemplet:
- Testen utfører en AI-forespørsel mot «PromptEvaluator»-modellen
- Den passerer en kontekst og et spørsmål for evaluering
- Den validerer at den returnerte vurderingen samsvarer med den forventede verdien
- Det gir klar tilbakemelding om testsuksess eller fiasko
Du kan utforske den fullstendige implementeringen i AI Prompt-eksemplet fra PowerApps TestEngine-repositoriet .
Inkorporering av AI-bevisst testing
Når du bruker GitHub Copilot til å generere tester for AI-drevne programmer:
Omgående:
Generer en test for min AI-drevne app som bruker AI Builder skjemabehandling. Inkluder testtrinn som validerer AI-resultatene med passende toleranse for ikke-deterministiske utdata.
Feilsøking og forbedring
Hvis GitHub Copilot genererer tester som ikke oppfyller dine behov:
- Finjuster forespørselen: Vær mer spesifikk om hva du vil teste
- Gi eksempler: Link til spesifikke testeksempler som samsvarer med ønsket stil
- Bryt ned komplekse tester: Be om generering av mindre, fokuserte testkomponenter
- Iterate: Bruk Copilot svar til å begrense neste ledetekst
Relaterte artikler
Utforsk testmotorfunksjoner
Bla gjennom katalogen over prøvemotoreksempler
Finn ut mer om Power Fx testfunksjoner
Forstå YAML-testformatet
Utforsk autentiseringsalternativer
Opplæring: Bygge programmer med GitHub Copilot-agent-modus