Compartilhar via


Testar extensões do Dataverse com o Test Engine (prévia)

Observação

A versão prévia dos recursos não foi criada para uso em ambientes de produção e pode ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.

Este artigo explica como criar testes de integração com Dataverse. Esta funcionalidade aplica a capacidade Power Fx para conexão com tabelas do Dataverse.

Conectando-se ao Dataverse

Para habilitar a integração com o Dataverse, adicione o parâmetro enableDataverseFunctions em seus testSettingsextensionModules :

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

Ao habilitar a integração do Dataverse, você precisa abrir a CLI do Azure com um usuário ou principal de serviço que tenha direitos ao ambiente do Dataverse. Você pode usar o comando: az login Mais informações: Efetuar login com a CLI do Azure.

O Dataverse URL da API usado para integração é obtido do nome de domínio do host do parâmetro de execução do teste pac--domain ou definindo uma variável de ambiente do PowerShell chamada DATAVERSE_URL.

Habilitar versão prévia

Atualmente, todas as capacidades de teste de extensão do Dataverse exigem o uso de funções de Preview. Para habilitá-los, adicione Preview à lista allowPowerFxNamespaces em extensionModules.

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

Redefinindo o estado atual

Defina o manipulador de eventos no seu yaml de teste criado para executar ações comuns antes de cada caso de teste. onTestCaseStart 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, o ForAll é usado para iterar sobre uma tabela e executar uma ação em cada registro. A função Remove é então usada para excluir cada registro de uma tabela para garantir uma tabela vazia antes que cada teste seja executado.

Funções de interesse

Essas funções são úteis ao trabalhar com Dataverse:

  • Coletar: Adiciona registros a uma tabela.
  • CountRows: Retorna o número de registros em uma tabela.
  • First: Retorna o primeiro registro em uma tabela.
  • ForAll: Itera sobre uma tabela e executa uma ação em cada registro.
  • Patch: Atualiza um registro existente.
  • Remover: Exclui um registro específico de uma tabela.

Considerações

Leve estas considerações em consideração ao escrever as etapas do teste:

  • Configurações padrão não são suportadas. Como resultado, Power Fx exemplos como Patch(Accounts, Defaults(Accounts), {name:"test"}) não são suportados.
  • Você pode usar Collect como uma alternativa ao Patch com a função Defaults

Executando testes Dataverse

Você pode usar o provedor Power Fx (powerfx) para executar testes que interagem com o Dataverse sem a necessidade de uma interface de aplicativo de tela ou dirigido por modelo. Isso é útil para testar lógica de negócios, plugins, fluxos e outros serviços 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"

Integração de IA

Usar o Power Apps Test Engine de código aberto compilado em modo de execução adequada, junto com as configurações de teste apropriadas, habilitará a função Preview.AIExecutePrompt em seus testes.

Adicione o seguinte às suas configurações de teste para habilitar a integração de IA:

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

Exemplo de uso da função AI:

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