Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
El motor de prueba está obsoleto y se quitará en una versión futura. Use ejemplos de Power Platform Playwright para las funcionalidades de automatización de pruebas en Power Platform y los servicios de Dynamics 365.
Descripción general
Power Apps motor de pruebas cuenta con un marco de extensibilidad sólido que permite expandir las funcionalidades de prueba principales a través de varios puntos de extensión. Este artículo explica:
- Cómo Microsoft firma y valida extensiones de primera parte
- Cómo funciona el modelo de extensibilidad utilizando Managed Extensibility Framework (MEF)
- Opciones para que las organizaciones creen sus propias extensiones
componentes firmados por Microsoft
Importante
Durante la fase de versión preliminar pública, el comando pac test run solo carga extensiones firmadas Microsoft. Este diseño garantiza la seguridad, la estabilidad y el rendimiento de la plataforma Test Engine.
Microsoft compila, firma y valida componentes de primera entidad para asegurarse de que cumplen los estándares de calidad y seguridad. Estos componentes incluyen:
- Proveedores de autenticación básica
- Proveedores de aplicaciones de Canvas y aplicaciones basadas en modelos
- Funciones y acciones estándar Power Fx
Marco de extensibilidad (MEF)
Test Engine utiliza el Marco de extensibilidad administrada (MEF) para habilitar una arquitectura conectable. Este marco permite tres tipos principales de extensiones:
Extensiones de autenticación
Las extensiones de autenticación permiten diferentes formas de autenticarse con Power Platform:
- Autenticación del estado de almacenamiento : el método de autenticación predeterminado basado en navegador
- Autenticación basada en certificados: para la ejecución de pruebas no interactivas
- Proveedores de autenticación personalizados : para escenarios de autenticación especializados
Para obtener más información, consulte Autenticación en el motor de pruebas.
Extensiones del proveedor
Las extensiones del proveedor permiten probar diferentes tipos de aplicaciones:
- Canvas App Provider - para probar aplicaciones canvas de Power Apps
- Proveedor de aplicaciones basadas en modelos: para probar aplicaciones basadas en modelos Dataverse
- Proveedor de Power Fx - Para ejecutar instrucciones de Power Fx de forma independiente
- Portal Provider: para automatizar operaciones en Power Apps
Para obtener más información, consulte Aplicaciones Canvas, Aplicaciones basadas en modelos y Dataverse Extensiones.
extensiones de Power Fx
Power Fx Las extensiones agregan nuevas capacidades de prueba a través de funciones personalizadas:
- Funciones definidas por el usuario : Funciones de código bajo definidas en el plan de pruebas
- Implementaciones de funciones de reflexión en C#: funciones personalizadas implementadas en módulos de C#
Para obtener más información, consulte Funciones de Power Fx e Implementaciones de ReflectionFunction de C#.
Opciones de desarrollo de extensiones
Las organizaciones tienen múltiples opciones para ampliar el motor de pruebas:
Uso de la versión de código abierto
El motor de pruebas Power Apps está disponible como un proyecto de código abierto bajo la licencia MIT. Equipos de Microsoft, equipos de terceros y organizaciones pueden:
- Crear nuevos proveedores para escenarios de pruebas especializados
- Desarrollar mecanismos de autenticación personalizados
- Crear nuevas implementaciones de ReflectionFunction en C#
- Crear módulos que amplíen la funcionalidad principal
- Presentar contribuciones para su consideración en el producto principal
Power Fx funciones definidas por el usuario
Para escenarios más simples, puede crear funciones definidas por el usuario directamente en sus planes de prueba:
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())
Funciones personalizadas de Power Fx en C# mediante ReflectionFunction
Para escenarios más complejos, las organizaciones pueden desarrollar funciones C# personalizadas implementando la clase y registrándolas a través de un módulo: ReflectionFunction
// 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 con el equipo de Test Engine
Las organizaciones que desarrollan extensiones valiosas mediante el motor de pruebas de código abierto pueden considerar la posibilidad de crear una solicitud de incorporación de cambios para que estén disponibles en el producto oficial. El proceso normalmente implica:
- Development: cree la extensión con el motor de pruebas de código abierto
- Validación - Pruebe su extensión exhaustivamente en su propio entorno
- Colaboración - Trabaje con el equipo del motor de pruebas central para evaluar la extensión
- Integration - Si se aprueba, Microsoft firma e integra la extensión en el producto
Este modelo de colaboración permite la innovación manteniendo la seguridad y confiabilidad del producto oficial Test Engine.
Puntos de integración técnica
Las siguientes secciones describen cómo la extensibilidad de Test Engine se integra con tecnologías centrales como Playwright y el ciclo de vida de las funciones. Comprender estos puntos de integración le ayudará a desarrollar e implementar extensiones personalizadas de manera eficaz.
Integración de dramaturgos
Power Apps Motor de pruebas se basa en Playwright, que proporciona la base para la automatización del explorador. Las extensiones personalizadas pueden interactuar con IBrowserContext de Playwright para crear sofisticadas capacidades de prueba basadas en el navegador.
Ciclo de vida de las funcionalidades
Las nuevas extensiones siguen un ciclo de vida de funciones: ...
- Espacio de nombres de vista previa : las nuevas extensiones están disponibles primero en el espacio de nombres de vista previa para pruebas tempranas
- Espacio de nombres de TestEngine : después de la validación, las extensiones se mueven al espacio de nombres principal de TestEngine
Beneficios del modelo de extensibilidad
El modelo de extensibilidad proporciona importantes beneficios:
- Standardization: los componentes firmados por Microsoft garantizan una calidad y seguridad coherentes
- Innovation: el modelo de código abierto permite la innovación controlada por la comunidad
- Flexibilidad - Las organizaciones pueden crear extensiones especializadas para requisitos únicos
- Integración - Se consideran extensiones valiosas para su inclusión en el producto oficial.