Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Notitie
Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar voorafgaand aan een officiële release, zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.
Samenzicht
Power Apps Test Engine beschikt over een robuust uitbreidingsframework waarmee de kerntestmogelijkheden via verschillende uitbreidingspunten kunnen worden uitgebreid. Dit artikel legt uit:
- Hoe Microsoft first-party extensies ondertekent en valideert
- Hoe het extensibiliteitsmodel werkt met behulp van het Managed Extensibility Framework (MEF)
- Opties voor organisaties om hun eigen extensies te creëren
Door Microsoft ondertekende componenten
Belangrijk
Tijdens de openbare previewfase laadt de opdracht pac test run alleen door Microsoft ondertekende extensies. Dit ontwerp garandeert de veiligheid, stabiliteit en prestaties van het Test Engine-platform.
Microsoft bouwt, ondertekent en valideert first-partycomponenten om te garanderen dat ze voldoen aan kwaliteits- en beveiligingsnormen. Deze componenten omvatten:
- Kernauthenticatieproviders
- Canvas-app- en modelgestuurde app-providers
- Standaardfuncties en acties Power Fx
Uitbreidbaarheidsraamwerk (MEF)
Test Engine maakt gebruik van het Managed Extensibility Framework (MEF) om een plug-in architectuur mogelijk te maken. Dit framework staat drie primaire typen extensies toe:
Authenticatie-extensies
Authenticatie-extensies maken verschillende manieren van authenticatie mogelijk met Power Platform:
- Opslagstatusauthenticatie - De standaard browsergebaseerde authenticatiemethode
- Certificaatgebaseerde authenticatie - Voor niet-interactieve testuitvoering
- Aangepaste authenticatieproviders - Voor gespecialiseerde authenticatiescenario's
Zie Authenticatie in Test Engine voor meer informatie.
Provider-extensies
Met providerextensies kunt u verschillende soorten applicaties testen:
- Canvas App Provider - Voor het testen Power Apps van canvas-applicaties
- Modelgestuurde app-provider - Voor het testen Dataverse van modelgestuurde apps
- Power Fx Provider - Voor het zelfstandig uitvoeren van Power Fx instructies
- Portaalprovider - Voor het automatiseren van bewerkingen in Power Apps
Zie Canvas-toepassingen, Modelgestuurde toepassingen en Dataverse Extensies voor meer informatie.
Power Fx extensies
Power Fx extensies voegen nieuwe testmogelijkheden toe via aangepaste functies:
- Door de gebruiker gedefinieerde functies - Low-code functies gedefinieerd in het testplan
- C# ReflectionFunction-implementaties - Aangepaste functies geïmplementeerd in C#-modules
Zie Power Fx Functies en C# ReflectionFunction-implementaties voor meer informatie.
Uitbreidingsontwikkelingsopties
Organisaties hebben meerdere opties om Test Engine uit te breiden:
Gebruik van de open source-versie
De Power Apps Test Engine is beschikbaar als open source-project onder de MIT-licentie. Microsoft, externe teams en organisaties kunnen:
- Creëer nieuwe aanbieders voor gespecialiseerde testscenario's
- Ontwikkel aangepaste authenticatiemechanismen
- Bouw nieuwe C# ReflectionFunction-implementaties
- Creëer modules die de kernfunctionaliteit uitbreiden
- Bijdragen ter overweging indienen voor het kernproduct
Power Fx door de gebruiker gedefinieerde functies
Voor eenvoudigere scenario's kunt u gebruikersgedefinieerde functies rechtstreeks in uw testplannen maken:
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())
Aangepaste C# Power Fx functies met ReflectionFunction
Voor complexere scenario's kunnen organisaties aangepaste C#-functies ontwikkelen door de klasse ReflectionFunction te implementeren en deze via een module te registreren:
// 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...
}
Samenwerking met het Test Engine-team
Organisaties die waardevolle extensies ontwikkelen met behulp van de open source Test Engine, kunnen overwegen om een pull request voor hun extensies te maken om deze beschikbaar te maken in het officiële product. Het proces omvat doorgaans:
- Ontwikkeling - Maak uw extensie met behulp van de open source Test Engine
- Validatie - Test uw extensie grondig in uw eigen omgeving
- Samenwerking - Werk samen met het Core Test Engine-team om de uitbreiding te evalueren
- Integratie - Indien goedgekeurd, ondertekent Microsoft de extensie en integreert deze in het product
Dit samenwerkingsmodel maakt innovatie mogelijk, terwijl de veiligheid en betrouwbaarheid van het officiële Test Engine-product behouden blijven.
Technische integratiepunten
In de volgende secties wordt beschreven hoe de uitbreidbaarheid van Test Engine integreert met kerntechnologieën zoals Playwright en de levenscyclus van functies. Als u deze integratiepunten begrijpt, kunt u op een effectieve manier aangepaste extensies ontwikkelen en implementeren.
Integratie van toneelschrijvers
Power Apps Test Engine is gebaseerd op Playwright, wat de basis vormt voor browserautomatisering. Aangepaste extensies kunnen samenwerken met Playwright's IBrowserContext om geavanceerde browsergebaseerde testmogelijkheden te creëren.
Levenscyclus van functies
Nieuwe extensies volgen een functielevenscyclus:
- Preview-naamruimte - Nieuwe extensies zijn eerst beschikbaar in de Preview-naamruimte voor vroege tests
- TestEngine-naamruimte - Na validatie worden extensies verplaatst naar de kernnaamruimte van TestEngine
Voordelen van het extensibiliteitsmodel
Het uitbreidingsmodel biedt aanzienlijke voordelen:
- Standaardisatie - Door Microsoft ondertekende componenten zorgen voor consistente kwaliteit en veiligheid
- Innovatie - Het open source-model maakt gemeenschapsgedreven innovatie mogelijk
- Flexibiliteit - Organisaties kunnen gespecialiseerde extensies creëren voor unieke vereisten
- Integratie - Waardevolle uitbreidingen worden overwogen voor opname in het officiële product