Compartir a través de


Comprensión de los proveedores de motores de prueba (vista previa)

Test Engine utiliza una arquitectura basada en proveedores que le permite soportar pruebas en diferentes tipos de aplicaciones. Cada proveedor está optimizado para un tipo de aplicación específico, lo que permite una automatización de pruebas eficiente y al mismo tiempo proporciona una experiencia de prueba consistente.

¿Qué son los proveedores?

Los proveedores son módulos especializados dentro de Test Engine que manejan los aspectos específicos de la interacción con diferentes tipos de aplicaciones:

  • Abstraen la complejidad de probar diferentes tecnologías de aplicación.
  • Proporcionan una implementación específica de tipo de acciones de prueba.
  • Manejan la autenticación y el contexto adecuadamente para cada tipo de aplicación.
  • Determinan cómo se ejecutan e interpretan las pruebas.

Tipos de proveedores

Las siguientes secciones describen los diferentes tipos de proveedores disponibles en Test Engine. Cada proveedor está diseñado para un escenario de aplicación específico y ofrece capacidades personalizadas para pruebas basadas en API y en la web.

Proveedores basados en la web

Los proveedores basados en la Web amplían las capacidades de automatización del navegador de Playwright agregando abstracciones específicas de la aplicación, lo que hace más fácil probar aplicaciones web sin tener que lidiar con elementos DOM de bajo nivel.

Proveedor de aplicaciones Canvas

El proveedor de aplicaciones Canvas (canvas) está especializado en probar aplicaciones Canvas: Power Apps

  • Nivel de abstracción: funciona con nombres de control tal como se definen en el estudio del creador de aplicaciones
  • Tecnología: Amplía Playwright para la automatización basada en navegador
  • Capacidades clave:
    • Accede a los controles de la aplicación de lienzo mediante nombres lógicos
    • Maneja tipos de controles y eventos específicos del lienzo
    • Admite la interacción y la navegación del control de la galería.

Ejemplo de comando:

pac test run `
   --provider canvas `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value

Obtenga más información sobre cómo probar aplicaciones de lienzo.

Proveedor de aplicaciones basadas en modelos

El proveedor de aplicaciones basadas en modelos (mda) está especializado en Dataverse aplicaciones basadas en modelos:

  • Nivel de abstracción: funciona con elementos de aplicación basados en modelos, como formularios, vistas y flujos de procesos de negocio.
  • Tecnología: Amplía Playwright para la automatización basada en navegador
  • Capacidades clave:
    • Navega por interfaces de aplicaciones complejas basadas en modelos
    • Maneja la entrada y validación de datos de formularios.
    • Admite operaciones de registros de entidades

Ejemplo de comando:

pac test run `
   --provider mda `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=account"

Obtenga más información sobre cómo probar aplicaciones basadas en modelos.

Proveedores basados en API

Los proveedores basados en API interactúan directamente con los servicios de backend sin utilizar necesariamente una interfaz de navegador.

Power Fx proveedor

El Power Fx Proveedor (powerfx) permite la ejecución directa de Power Fx fórmulas, útiles para Dataverse pruebas de integración:

  • Autenticación: utiliza tokens de OAuth obtenidos mediante el comando az login de la CLI de Azure.
  • Tecnología: Llama directamente a los puntos finales de la API Dataverse
  • Capacidades clave:
    • Realiza operaciones CRUD en tablas Dataverse
    • Ejecuta la lógica empresarial sin interacción con la UI
    • Permite realizar pruebas de integración enfocadas

Ejemplo de comando:

pac test run `
   --provider powerfx `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com"

Obtenga más información sobre las pruebas de Dataverse extensiones.

Implementación técnica

Las siguientes secciones explican la arquitectura subyacente, los flujos de autenticación y la integración para los proveedores de motores de prueba. Dataverse Comprender estos detalles le ayudará a configurar y ampliar los proveedores para sus necesidades de pruebas específicas.

Arquitectura

La arquitectura del proveedor de Test Engine sigue un enfoque en capas:

  1. Capa del motor central: contiene funcionalidad compartida entre todos los proveedores
  2. Capa de proveedor: implementa la lógica de pruebas específica de la aplicación
  3. Capa de autenticación: gestiona la identidad y el contexto de seguridad.
  4. Capa de extensión: permite agregar funcionalidad personalizada

Flujo de autenticación

Los proveedores utilizan diferentes flujos de autenticación según sus requisitos:

  • Proveedores web (Canvas, basado en modelos): utilice autenticación basada en navegador con estado de almacenamiento
  • Proveedores de API (Power Fx): utilice tokens de la CLI de Azure para acceder directamente a la API OAuth

Integración con Dataverse

Todos los proveedores pueden beneficiarse de la Dataverse integración, que permite:

  • Acceso directo a la tabla mediante funciones Power Fx
  • Operaciones de siembra y limpieza de datos
  • Verificación de cambios de estado del backend

Para habilitar la integración, agregue lo siguiente a su configuración de prueba: Dataverse

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

Aprenda a probar extensiones Dataverse

Elegir el proveedor adecuado

Seleccione un proveedor según el tipo de aplicación y los requisitos de prueba:

Tipo de aplicación Provider Mejor para
Aplicaciones de lienzo canvas Pruebas de UI, interacción de control, navegación de pantalla
Aplicaciones basadas en modelo mda Formularios, vistas, flujos de procesos de negocio, operaciones de entidades
Integración pura Dataverse powerfx Lógica de backend, operaciones de tabla, validación de complementos

Aplicaciones de lienzo de prueba
Pruebe aplicaciones basadas en modelos
Extensiones de prueba Dataverse
Extensibilidad del motor de pruebas
Motor de pruebas y dramaturgo