Compartir por


Extensións de proba con Test Engine (vista previa) Dataverse

Nota

As funcionalidades de vista previa non se deseñaron para uso de produción e poden ter funcionalidade restrinxida. Estas funcionalidades están dispoñibles antes da versión oficial para que os clientes poidan obter acceso a elas rápido e fornecer comentarios.

Este artigo explica como crear probas de integración con Dataverse. Esta funcionalidade aplica a Power Fx capacidade de conectarse con Dataverse táboas.

Conectando con Dataverse

Para activar a Dataverse integración, engade o enableDataverseFunctions parámetro nos teus testSettingsextensionModules :

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

Ao activar a integración, debes abrir a CLI de Azure cun usuario ou principal de servizo que teña dereitos sobre o entorno. Dataverse Dataverse Podes usar o comando: az login Máis información: Iniciar sesión con Azure CLI.

O URL da API Dataverse empregado para a integración obtense do nome de dominio do host do parámetro execución da proba de pac--domain ou definindo unha variable de ambiente de PowerShell chamada DATAVERSE_URL.

Activar a previsualización

Actualmente, todas as capacidades de proba de extensións de Dataverse requiren o uso de funcións de vista previa. Para activalos, engádeos Preview á allowPowerFxNamespaces lista en extensionModules.

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

Restablecendo o estado actual

Define o xestor de eventos onTestCaseStart no teu ficheiro de proba YAML creado para realizar accións comúns antes de cada caso de proba. Por exemplo:

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))

Neste exemplo, úsase ForAll para iterar sobre unha táboa e realizar unha acción en cada rexistro. A función Remove úsase entón para eliminar cada rexistro dunha táboa e garantir que a táboa estea baleira antes de executar cada proba.

Funcións de interese

Estas funcións son útiles cando se traballa con Dataverse:

  • Recoller: Engade rexistros a unha táboa.
  • CountRows: Devolve o número de rexistros dunha táboa.
  • Primeiro: Devolve o primeiro rexistro dunha táboa.
  • ForAll: Itera sobre unha táboa e realiza unha acción en cada rexistro.
  • Parche: Actualiza un rexistro existente.
  • Eliminar: Elimina un rexistro específico dunha táboa.

Consideracións

Ten en conta estas consideracións ao escribir os pasos de proba:

  • Non se admiten os valores predeterminados . Como resultado, exemplos como Power Fx non son compatibles. Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Podes usar Collect para unha alternativa a Patch coa función Defaults

Execución de probas Dataverse

Podes usar o provedor Power Fx (powerfx) para executar probas que interactúen con Dataverse sen necesidade dunha interface de lenzo ou de aplicación baseada en modelos. Isto é útil para probar a lóxica empresarial, os complementos, os fluxos e outros servizos 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

Empregar o motor de probas de código aberto Power Apps compilado en modo xunto coa configuración de proba axeitada activará a función Debug Preview.AIExecutePrompt nas túas probas.

Engade o seguinte á configuración de proba para activar a integración da IA:

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

Exemplo de uso da función IA:

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