Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Nota
Test Engine está obsoleto e será eliminado nunha versión futura. Usa exemplos Power Platform Playwright para capacidades de automatización de probas en Power Platform e servizos Dynamics 365.
Visión xeral
Power Apps Test Engine conta cun robusto marco de extensibilidade que permite ampliar as capacidades principais de proba a través de varios puntos de extensión. Este artigo explica:
- Como Microsoft asina e valida as extensións de primeira parte
- Como funciona o modelo de extensibilidade usando o Marco de Extensibilidade Xestionado (MEF)
- Opcións para que as organizacións creen as súas propias extensións
Compoñentes asinados por Microsoft
Importante
Durante a fase de previsualización pública, o comando pac test run só carga extensións asinadas Microsoft. Este deseño garante a seguridade, a estabilidade e o rendemento da plataforma Test Engine.
Microsoft constrúe, asina e valida compoñentes de primeira parte para garantir que cumpren cos estándares de calidade e seguridade. Estes compoñentes inclúen:
- Provedores principais de autenticación
- Provedores de aplicacións de lenzo e aplicacións baseadas en modelos
- Funcións e accións estándar Power Fx
Marco de extensibilidade (MEF)
O motor de probas usa o Marco de extensibilidade xestionado (MEF) para habilitar unha arquitectura conectable. Esta estrutura permite tres tipos principais de extensións:
Extensións de autenticación
As extensións de autenticación permiten diferentes xeitos de autenticarse con Power Platform:
- Autenticación do estado de almacenamento : o método de autenticación predeterminado baseado no navegador
- Autenticación baseada en certificados - Para a execución de probas non interactivas
- Provedores de autenticación personalizados : para escenarios de autenticación especializados
Para obter máis información, consulte Autenticación no motor de probas.
Extensións de provedores
As extensións do provedor permiten probar diferentes tipos de aplicacións:
- Canvas App Provider - Para probar Power Apps aplicacións canvas
- Provedor de aplicacións baseadas en modelos - Para probar Dataverse aplicacións baseadas en modelos
- Power Fx Provedor - Para executar Power Fx instrucións de forma independente
- Portal Provider - Para automatizar operacións en Power Apps
Para obter máis información, consulte Aplicacións de Canvas, Aplicacións baseadas en modelos e Dataverse Extensións.
Power Fx extensións
Power Fx as extensións engaden novas capacidades de proba a través de funcións personalizadas:
- Funcións definidas polo usuario - Funcións de código baixo definidas no plan de probas
- Implementacións de ReflectionFunction en C# : funcións personalizadas implementadas en módulos de C#
Para obter máis información, consulte Power Fx Funcións e Implementacións de ReflectionFunction en C#.
Opcións de desenvolvemento de extensións
As organizacións teñen varias opcións para estender o motor de probas:
Uso da versión open source
O Power Apps Test Engine está dispoñible como proxecto open source baixo a licenza do MIT. Microsoft de primeira parte, equipos de terceiros e organizacións poden:
- Crear novos provedores para escenarios de probas especializadas
- Desenvolver mecanismos de autenticación personalizados
- Crear novas implementacións de ReflectionFunction en C#
- Crear módulos que amplíen a funcionalidade principal
- Enviar contribucións para a súa consideración no produto principal
Power Fx funcións definidas polo usuario
Para escenarios máis sinxelos, podes crear funcións definidas polo usuario directamente nos teus plans de proba:
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())
Funcións C# personalizadas con ReflectionFunction Power Fx
Para escenarios máis complexos, as organizacións poden desenvolver funcións C# personalizadas implementando a clase ReflectionFunction e rexistrándoas a través dun módulo:
// 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...
}
Colaboración co equipo do motor de probas
As organizacións que desenvolven extensións valiosas usando o Test Engine open source poden considerar crear unha solicitude de tirada para as súas extensións que as poñan dispoñibles no produto oficial. O proceso normalmente implica:
- Development - Crea a túa extensión usando o open source Test Engine
- Validación - Proba a túa extensión exhaustivamente no teu propio entorno
- Colaboración - Traballar co equipo principal do motor de probas para avaliar a extensión
- Integración - Se se aproba, Microsoft asina e integra a extensión no produto
Este modelo de colaboración permite a innovación mantendo a seguridade e a fiabilidade do produto oficial Test Engine.
Puntos de integración técnica
As seguintes seccións describen como se integra a extensibilidade de Test Engine con tecnoloxías básicas como Playwright e o ciclo de vida das funcionalidades. Comprender estes puntos de integración axudarache a desenvolver e implementar extensións personalizadas de forma eficaz.
Integración de dramaturgos
Power Apps Motor de Proba está construído sobre Playwright, que proporciona a base para a automatización do navegador. As extensións personalizadas poden interactuar co *IBrowserContext* de Playwright para crear funcións de probas sofisticadas baseadas no navegador. ...
Ciclo de vida das características
As novas extensións seguen un ciclo de vida das funcionalidades:
- Espazo de nomes de vista previa : as novas extensións están dispoñibles primeiro no espazo de nomes de vista previa para as primeiras probas
- Espazo de nomes TestEngine : despois da validación, as extensións móvense ao espazo de nomes principal de TestEngine
Vantaxes do modelo de extensibilidade
O modelo de extensibilidade ofrece vantaxes significativas:
- Estandarización - Os compoñentes asinados Microsoft aseguran unha calidade e seguridade consistentes
- Innovación - O modelo open source permite a innovación impulsada pola comunidade
- Flexibilidade - As organizacións poden crear extensións especializadas para requisitos únicos
- Integración - Considéranse extensións valiosas para a súa inclusión no produto oficial