Probar extensiones de Dataverse con el motor de pruebas (en desuso)

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.

Este artículo explica cómo crear pruebas de integración con Dataverse. Esta funcionalidad aplica la capacidad de Power Fx para conectarse con tablas de Dataverse.

Conectar a Dataverse

Para habilitar la integración de Dataverse, agregue el parámetro enableDataverseFunctions en sus testSettingsextensionModules:

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

Al habilitar la integración de Dataverse, es necesario abrir CLI de Azure con un usuario o una entidad de servicio que tenga derechos para el entorno de Dataverse. Puede usar el comando: az login Más información: Sign in with CLI de Azure.

La URL de la API de Dataverse utilizada para la integración se obtiene del nombre de dominio del host del parámetro pac test run--domain o definiendo una variable de entorno de PowerShell denominada DataverseDATAVERSE_URL.

Habilitar la vista previa

Actualmente, todas las capacidades de prueba de extensión de Dataverse requieren el uso de funciones de vista previa. Para habilitarlos, agregue Preview a la lista allowPowerFxNamespaces en extensionModules.

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview
    parameters:
      enableDataverseFunctions: true

Restablecer el estado actual

Defina el controlador de eventos en su YAML de prueba creado para realizar acciones comunes antes de cada caso de prueba. onTestCaseStart Por ejemplo:

testSuite:
  testSuiteName: Dataverse tests
  testSuiteDescription: Validate Power Fx can be used to run Dataverse integration tests
  persona: User1
  appLogicalName: N/A
  onTestCaseStart: |
    = ForAll(Accounts, Remove(Accounts, ThisRecord))

En este ejemplo, se utiliza ForAll para iterar sobre una tabla y realizar una acción en cada registro. Luego, se utiliza la función Remove para eliminar cada registro de una tabla para garantizar que la tabla esté vacía antes de ejecutar cada prueba.

Funciones de interés

Estas funciones son útiles cuando se trabaja con: Dataverse

  • Recopilar: agrega registros a una tabla.
  • CountRows: Devuelve el número de registros en una tabla.
  • Primero: Devuelve el primer registro de una tabla.
  • ForAll: itera a través de una tabla y ejecuta una acción en cada registro.
  • Parche: Actualizar un registro existente.
  • Eliminar: elimina un registro específico de una tabla.

Consideraciones

Tenga en cuenta estas consideraciones al escribir los pasos de prueba:

  • Los valores predeterminados no son compatibles. Como resultado, no se admiten ejemplos como Power Fx . Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Puedes usar Collect como alternativa a Patch con la función Defaults

Ejecución de pruebas Dataverse

Puede utilizar el proveedor Power Fx (powerfx) para ejecutar pruebas que interactúen con Dataverse sin la necesidad de un lienzo o una interfaz de aplicación basada en modelos. Esto es útil para probar la lógica empresarial, complementos, flujos y otros servicios de backend.

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"

Integración de IA

Con el motor de pruebas de código abierto Power Apps Test Engine, compilado en Debug modo y junto con la configuración de prueba adecuada, se habilitará la función Preview.AIExecutePrompt en sus pruebas.

Agregue lo siguiente a su configuración de prueba para habilitar la integración de IA:

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

Ejemplo de uso de la función IA:

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)