Partilhar via


Extensões de teste Dataverse com o Test Engine (visualização)

Nota

As funcionalidades de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipado e enviar comentários.

Este artigo explica como criar testes de integração com Dataverse. Essa funcionalidade aplica a Power Fx capacidade de se conectar com Dataverse tabelas.

A ligar ao Dataverse

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

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

Quando você habilita Dataverse a integração, é necessário abrir a CLI do Azure com um utilizador ou entidade de serviço que tenha direitos sobre o Dataverse ambiente. Você pode usar o comando: az login Mais informações: faça logon com a CLI do Azure.

A Dataverse URL da API usada para integração é obtida do nome de domínio do host do parâmetro pac test run--domain ou definindo uma variável de ambiente do PowerShell nomeada DATAVERSE_URL.

Ativar pré-visualização

Atualmente, todos os Dataverse recursos de teste de extensão exigem o uso de funções de visualização. Para habilitá-los, adicione Preview à lista em allowPowerFxNamespacesextensionModules.

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

Redefinindo o estado atual

Defina o onTestCaseStart manipulador de eventos em seu yaml de teste criado para executar ações comuns antes de cada caso de teste. 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 Remove função é 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

Estas funções são úteis quando se trabalha com Dataverse:

  • Coletar: adiciona registros a uma tabela.
  • CountRows: Devolve o número de registos numa tabela.
  • Primeiro: retorna o primeiro registro em uma tabela.
  • ForAll: itera sobre uma tabela e executa uma ação em cada registro.
  • Patch: atualize 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 de teste:

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

Testes em execução Dataverse

Você pode usar o Power Fx fornecedor (powerfx) para executar testes que interagem sem Dataverse a necessidade de uma tela ou interface de aplicativo orientada por modelo. Isso é útil para testar a lógica de negócios, plugins, fluxos e outros serviços de back-end.

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 mecanismo Power Apps de teste de código aberto compilado no Debug modo juntamente com as definições de teste apropriadas habilitará a função Preview.AIExecutePrompt em seus testes.

Adicione o seguinte às suas definiçõ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 de IA:

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