Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Nota
Test Engine està obsolet i serà eliminat en una versió futura. Utilitza Power Platform Playwright per a capacitats d'automatització de proves en Power Platform i serveis Dynamics 365.
Informació general
Power Apps Test Engine compta amb un marc d'extensibilitat robust que permet ampliar les capacitats bàsiques de proves a través de diversos punts d'extensió. Aquest article explica:
- Com Microsoft signa i valida les extensions de primera part
- Com funciona el model d'extensibilitat mitjançant el marc d'extensibilitat administrat (MEF)
- Opcions perquè les organitzacions creïn les seves pròpies extensions
Components signats per Microsoft
Important
Durant la fase de previsualització pública, la comanda de prova pac només carrega extensions signades Microsoft. Aquest disseny garanteix la seguretat, l'estabilitat i el rendiment de la plataforma Test Engine.
Microsoft construeix, signa i valida components de primera part per assegurar que compleixin els estàndards de qualitat i seguretat. Aquests components inclouen:
- Proveïdors d'autenticació bàsica
- Proveïdors d'aplicacions basades en models i aplicacions de llenç
- Funcions i accions estàndard Power Fx
Marc d'extensibilitat (MEF)
El motor de proves utilitza el marc d'extensibilitat administrat (MEF) per habilitar una arquitectura connectable. Aquest marc permet tres tipus principals d'extensions:
Extensions d'autenticació
Les extensions d'autenticació permeten diferents maneres d'autenticar-se amb Power Platform:
- Autenticació de l'estat d'emmagatzematge: el mètode d'autenticació predeterminat basat en navegador
- Autenticació basada en certificats: per a l'execució de proves no interactives
- Proveïdors d'autenticació personalitzats : per a escenaris d'autenticació especialitzats
Per obtenir més informació, vegeu Autenticació al motor de proves.
Extensions de proveïdor
Les extensions del proveïdor permeten provar diferents tipus d'aplicacions:
- Canvas App Provider - Per a proves Power Apps aplicacions canvas
- Proveïdor d'aplicacions basades en models: per provar Dataverse aplicacions basades en models
- Power Fx Proveïdor : per executar declaracions Power Fx de manera independent
- Portal Provider - Per automatitzar operacions a Power Apps
Per obtenir més informació, vegeu Aplicacions de llenç, Aplicacions basades en models i Dataverse Extensions.
Power Fx Extensions
Power Fx Les extensions afegeixen noves capacitats de prova mitjançant funcions personalitzades:
- Funcions definides per l'usuari: funcions de codi baix definides al pla de prova
- Implementacions de C# ReflectionFunction: funcions personalitzades implementades en mòduls de C#
Per obtenir més informació, vegeu Power Fx Funcions i implementacions de ReflectionFunction de C#.
Opcions de desenvolupament d'extensions
Les organitzacions tenen diverses opcions per ampliar el motor de proves:
Utilitzant la versió open source
El Power Apps Test Engine està disponible com a projecte open source sota la llicència MIT. Microsoft de primera part, equips de tercers i organitzacions poden:
- Crear nous proveïdors per a escenaris de proves especialitzades
- Desenvolupar mecanismes d'autenticació personalitzats
- Crear noves implementacions de C# ReflectionFunction
- Crear mòduls que ampliïn la funcionalitat bàsica
- Enviar contribucions per a la seva consideració en el producte principal
Power Fx Funcions definides per l'usuari
Per a escenaris més senzills, podeu crear funcions definides per l'usuari directament als vostres plans de prova:
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())
Funcions de C# Power Fx personalitzades amb ReflectionFunction
Per a escenaris més complexos, les organitzacions poden desenvolupar funcions de C# personalitzades implementant la ReflectionFunction classe i registrant-les mitjançant un mòdul:
// 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...
}
Col·laboració amb l'equip de Test Engine
Les organitzacions que desenvolupen extensions valuoses utilitzant el Test Engine open source poden considerar crear una pull request per a les seves extensions per posar-les disponibles en el producte oficial. El procés normalment implica:
- Development - Crea la teva extensió utilitzant el open source Test Engine
- Validació : proveu la vostra extensió a fons al vostre propi entorn
- Col·laboració : treballeu amb l'equip del motor de proves principal per avaluar l'extensió
- Integració - Si s'aprova, Microsoft signa i integra l'extensió al producte
Aquest model de col·laboració permet la innovació mantenint la seguretat i la fiabilitat del producte oficial Test Engine.
Punts d'integració tècnica
Les seccions següents descriuen com l'extensibilitat de Test Engine s'integra amb tecnologies bàsiques com Playwright i el cicle de vida de les característiques. Entendre aquests punts d'integració us ajuda a desenvolupar i implementar extensions personalitzades de manera eficaç.
Integració de dramaturgs
Power Apps Test Engine està construït sobre Playwright, que proporciona la base per a l'automatització del navegador. Les extensions personalitzades poden interactuar amb IBrowserContext de Playwright per crear sofisticades capacitats de prova basades en navegador.
Cicle de vida de la funció
Les extensions noves segueixen un cicle de vida dela característica:
- Espai de noms de visualització prèvia: les extensions noves estan disponibles primer a l'espai de noms de visualització prèvia per a les proves primerenques
- Espai de noms TestEngine: després de la validació, les extensions es mouen a l'espai de noms principal de TestEngine
Beneficis del model d'extensibilitat
El model d'extensibilitat proporciona avantatges significatius:
- Estandardització - Els components Microsoft-signats garanteixen una qualitat i seguretat coherents
- Innovació - El model open source permet la innovació impulsada per la comunitat
- Flexibilitat : les organitzacions poden crear extensions especialitzades per a requisits únics
- Integració : es consideren extensions valuoses per incloure-les al producte oficial