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.
Oversikt
Power Apps Test Engine har et robust rammeverk for utvidbarhet som gjør at kjernetestfunksjonene kan utvides gjennom ulike utvidelsespunkter. Denne artikkelen forklarer:
- Hvordan Microsoft signerer og validerer førstepartsutvidelser
- Slik fungerer utvidelsesmodellen ved hjelp av rammeverket for administrert utvidelse (MEF)
- Alternativer for organisasjoner for å opprette sine egne utvidelser
Microsoft-signerte komponenter
Viktig!
I løpet av den offentlige forhåndsvisningsfasen laster kommandoen pac testkjøring bare inn Microsoft signerte utvidelser. Denne designen sikrer sikkerhet, stabilitet og ytelse til Test Engine-plattformen.
Microsoft bygger, signerer og validerer førstepartskomponenter for å sikre at de oppfyller kvalitets- og sikkerhetsstandarder. Disse komponentene inkluderer:
- Sentrale godkjenningsleverandører
- Leverandører av lerretsapper og modelldrevne apper
- Standardfunksjoner Power Fx og handlinger
Rammeverk for utvidbarhet (MEF)
Test Engine bruker MEF-rammeverket (Managed Extensibility Framework) til å aktivere en arkitektur som kan kobles til. Dette rammeverket tillater tre primære typer utvidelser:
Utvidelser for godkjenning
Godkjenningsutvidelser gjør det mulig å godkjenne på Power Platform forskjellige måter:
- Godkjenning av lagringstilstand – Standard nettleserbasert godkjenningsmetode
- Sertifikatbasert godkjenning – For ikke-interaktiv testkjøring
- Egendefinerte godkjenningsleverandører – For spesialiserte godkjenningsscenarier
Hvis du vil ha mer informasjon, kan du se Godkjenning i testmotoren.
Utvidelser for leverandører
Leverandørutvidelser gjør det mulig å teste ulike typer applikasjoner:
- Lerretsappleverandør – For testing av Power Apps-lerretsapper
- Modelldrevet appleverandør – For testing av Dataverse modelldrevne apper
- Power Fx Leverandør - For å utføre Power Fx uttalelser uavhengig
- Portal Provider – Automatisere operasjoner i Power Apps
Hvis du vil ha mer informasjon, kan du se Lerretsapplikasjoner, Modelldrevne applikasjoner og Dataverse utvidelser.
Power Fx Utvidelser
Power Fx Utvidelser legger til nye testfunksjoner gjennom tilpassede funksjoner:
- Brukerdefinerte funksjoner – Lavkodefunksjoner definert i testplanen
- C# ReflectionFunction-implementeringer - Egendefinerte funksjoner implementert i C#-moduler
Hvis du vil ha mer informasjon, kan du se Power Fx-funksjoner og C# ReflectionFunction-implementeringer.
Alternativer for utvidelse
Organisasjoner har flere alternativer for å utvide testmotoren:
Bruke open source-versjonen
Power Apps Test Engine er tilgjengelig som et open source-prosjekt under MIT-lisensen. Førsteparts Microsoft, tredjepartsteam og organisasjoner kan:
- Opprett nye leverandører for spesialiserte testscenarioer
- Utvikle tilpassede godkjenningsmekanismer
- Bygg nye C# ReflectionFunction-implementeringer
- Opprett moduler som utvider kjernefunksjonaliteten
- Send inn bidrag til vurdering i kjerneproduktet
Power Fx Brukerdefinerte funksjoner
For enklere scenarioer kan du opprette brukerdefinerte funksjoner direkte i testplanene dine:
testSuite:
testCases:
- testCaseName: "Test with custom functions"
userDefineFunctions:
- name: "FormatDateString"
parameters: [date]
expression: "Text(date, 'yyyy-MM-dd')"
steps:
# Use the custom function in your test steps
- action: PowerFxTestStep
expression: FormatDateString(Now())
Egendefinerte C# Power Fx -funksjoner med ReflectionFunction
For mer komplekse scenarioer kan organisasjoner utvikle egendefinerte C#-funksjoner ved å implementere ReflectionFunction klassen og registrere dem gjennom en modul:
// Define your function class
public class SampleFunction : ReflectionFunction
{
public SampleFunction() : base(DPath.Root.Append(new DName("Preview")), "Sample", FormulaType.Blank)
{
}
public BlankValue Execute()
{
Console.WriteLine("Sample function executed");
return BlankValue.NewBlank();
}
}
// Register your function in a module
[Export(typeof(ITestEngineModule))]
public class TestEngineSampleModule : ITestEngineModule
{
public void RegisterPowerFxFunction(PowerFxConfig config, ITestInfraFunctions testInfraFunctions,
ITestWebProvider testWebProvider, ISingleTestInstanceState singleTestInstanceState,
ITestState testState, IFileSystem fileSystem)
{
config.AddFunction(new SampleFunction());
}
// Implement other required interface methods...
}
Samarbeid med Test Engine-teamet
Organisasjoner som utvikler verdifulle utvidelser ved hjelp av open source Test Engine, kan vurdere å opprette en pull-forespørsel om utvidelser for å gjøre dem tilgjengelige i det offisielle produktet. Prosessen innebærer vanligvis:
- Utvikling – Opprett utvidelsen ved hjelp av open source testmotoren
- Validering – Test utvidelsen grundig i ditt eget miljø
- Samarbeid – Samarbeid med Core Test Engine-teamet for å evaluere utvidelsen
- Integration - Hvis godkjent, Microsoft signerer og integrerer utvidelsen i produktet
Denne samarbeidsmodellen muliggjør innovasjon samtidig som sikkerheten og påliteligheten til det offisielle Test Engine-produktet opprettholdes.
Tekniske integrasjonspunkter
Avsnittene nedenfor beskriver hvordan Test Engine-utvidbarhet integreres med kjerneteknologier som Playwright og funksjonslivssyklusen. Å forstå disse integreringspunktene hjelper deg med å utvikle og distribuere egendefinerte utvidelser effektivt.
Integrering av dramatiker
Power Apps testmotor er bygget oppå Playwright, som gir grunnlaget for nettleserautomatisering. Egendefinerte utvidelser kan samhandle med Playwrights IBrowserContext for å lage sofistikerte nettleserbaserte testfunksjoner.
Livssyklus for funksjoner
Nye utvidelser følger en funksjonslivssyklus:
- Forhåndsvisningsnavneområde – Nye utvidelser er først tilgjengelige i forhåndsvisningsnavneområdet for tidlig testing
- TestEngine-navneområde – Etter validering flyttes utvidelser til kjernenavneområdet TestEngine
Fordeler med utvidbarhetsmodellen
Utvidbarhetsmodellen gir betydelige fordeler:
- Standardisering – Microsoft-signerte komponenter sikrer konsekvent kvalitet og sikkerhet
- Innovation – den open source modellen gir mulighet for fellesskapsdrevet innovasjon
- Fleksibilitet - Organisasjoner kan lage spesialiserte utvidelser for unike krav
- Integrasjon - Verdifulle utvidelser vurderes for inkludering i det offisielle produktet