Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Testmotorn är inaktuell och tas bort i en framtida version. Använd Power Platform Playwright-exempel för testautomatiseringsfunktioner i Power Platform och Dynamics 365 tjänster.
Översikt
Power Apps Test Engine har ett robust ramverk för utbyggbarhet som gör det möjligt att utöka de grundläggande testfunktionerna genom olika tilläggspunkter. Den här artikeln förklarar:
- Så här signerar och validerar Microsoft tillägg från första part
- Så här fungerar utökningsmodellen med hjälp av Managed Extensibility Framework (MEF)
- Alternativ för organisationer att skapa sina egna tillägg
Microsoft-signerade komponenter
Important
Under den offentliga förhandsversionen laddas pac test run kommandot endast in Microsoft-signerade tillägg. Denna design säkerställer säkerhet, stabilitet och prestanda för Test Engine-plattformen.
Microsoft bygger, signerar och validerar komponenter från första part för att säkerställa att de uppfyller kvalitets- och säkerhetsstandarder. Dessa komponenter inkluderar:
- Grundläggande autentiseringsleverantörer
- Tjänsteleverantörer av canvasappar och modellbaserade appar
- Standardfunktioner och åtgärder i Power Fx
Ramverk för utökningsbarhet (MEF)
Testmotorn använder MEF (Managed Extensibility Framework) för att möjliggöra en anslutningsbar arkitektur. Detta ramverk tillåter tre primära typer av tillägg:
Tillägg för autentisering
Autentiseringstillägg möjliggör olika sätt att autentisera med Power Platform:
- Autentisering av lagringstillstånd – Standardmetoden för webbläsarbaserad autentisering
- Certifikatbaserad autentisering – För icke-interaktiv testkörning
- Anpassade autentiseringsproviders – För specialiserade autentiseringsscenarier
Mer information finns i Autentisering i testmotorn.
Tillägg för tjänsteleverantörer
Providertillägg gör det möjligt att testa olika typer av program:
- Leverantör av kanvasappar – För testning av Power Apps kanvasappar
- Modellbaserad appleverantör – För testning av Dataverse modellbaserade appar
- Power Fx Leverantör – För att utföra Power Fx uttryck oberoende
- Portalleverantör - För automatisering av operationer i Power Apps
Mer information finns i Canvas-applikationer, Modellstyrda applikationer och Dataverse-tillägg.
Power Fx Tillägg
Power Fx Tillägg lägger till nya testfunktioner via anpassade funktioner:
- Användardefinierade funktioner – Lågkodsfunktioner som definieras i testplanen
- C# ReflectionFunction Implementationer - Anpassade funktioner implementerade i C#-moduler
Mer information finns i Power Fx Functions och Implementeringar av C# ReflectionFunction.
Utvecklingsalternativ för tillägg
Organisationer har flera alternativ för att utöka testmotorn:
Använda versionen med öppen källkod
Testmotorn Power Apps är tillgänglig som ett projekt med öppen källkod under MIT-licensen. Förstaparts-Microsoft, tredjepartsteam och organisationer kan:
- Skapa nya leverantörer för specialiserade testscenarier
- Utveckla anpassade autentiseringsmekanismer
- Skapa nya C# ReflectionFunction-implementeringar
- Skapa moduler som utökar kärnfunktionaliteten
- Skicka in bidrag för bedömning i huvudprodukten
Power Fx Användardefinierade funktioner
För enklare scenarier kan du skapa användardefinierade funktioner direkt i dina testplaner:
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())
Anpassade C# PowerFx-funktioner med ReflectionFunction
För mer komplexa scenarier kan organisationer utveckla anpassade C#-funktioner genom att ReflectionFunction implementera klassen och registrera dem via 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...
}
Samarbete med Test Engine-teamet
Organisationer som utvecklar värdefulla tillägg med hjälp av testmotorn med öppen källkod kan överväga att skapa en pull-begäran för sina tillägg för att göra dem tillgängliga i den officiella produkten. Processen omfattar vanligtvis:
- Utveckling – Skapa ditt tillägg med hjälp av testmotorn med öppen källkod
- Validering – Testa tillägget noggrant i din egen miljö
- Samarbete – Arbeta med Core Test Engine-teamet för att utvärdera tillägget
- Integrering – Om det godkänns signerar och integrerar Microsoft tillägget i produkten
Denna samarbetsmodell möjliggör innovation samtidigt som säkerheten och tillförlitligheten hos den officiella testmotorprodukten bibehålls.
Tekniska integreringspunkter
I följande avsnitt beskrivs hur utökningsbarheten för testmotorn integreras med kärntekniker som Playwright och funktionslivscykeln. Genom att förstå dessa integreringspunkter kan du utveckla och distribuera anpassade tillägg på ett effektivt sätt.
Integrering av dramatiker
Power Apps Test Engine bygger på Playwright som utgör grunden för webbläsarautomatisering. Anpassade tillägg kan interagera med Playwrights IBrowserContext för att skapa sofistikerade webbläsarbaserade testfunktioner.
Livscykel för funktioner
Nya tillägg följer en funktionslivscykel:
- Namnområde för förhandsversion – Nya tillägg är först tillgängliga i namnområdet för förhandsversion och tidig testning
- TestEngine-namnområde – Efter valideringen flyttas tilläggen till TestEngine-kärnnamnområdet
Fördelar med utökningsmodellen
Utökningsmodellen ger betydande fördelar:
- Standardisering – Microsoft-signerade komponenter säkerställer konsekvent kvalitet och säkerhet
- Innovation – open-source-modellen möjliggör innovation driven av gemenskapen
- Flexibilitet - Organisationer kan skapa specialiserade tillägg för unika krav
- Integration - Värdefulla tillägg övervägs för inkludering i den officiella produkten