Partilhar via


Compreender os fornecedores da Ferramenta de Teste (descontinuado)

Observação

O Test Engine está obsoleto e será removido numa versão futura. Use os exemplos do Power Platform Playwright para capacidades de automação de testes no Power Platform e nos serviços Dynamics 365.

O mecanismo de teste usa uma arquitetura baseada em fornecedor que permite oferecer suporte a testes em diferentes tipos de aplicativos. Cada fornecedor é otimizado para um tipo de aplicativo específico, permitindo uma automação de teste eficiente e fornecendo uma experiência de teste consistente.

O que são fornecedores?

Os provedores são módulos especializados dentro do Test Engine que lidam com as especificidades da interação com diferentes tipos de aplicativos:

  • Eles abstraem a complexidade de testar diferentes tecnologias de aplicação
  • Eles fornecem a implementação específica do tipo de ações de teste
  • Eles lidam com a autenticação e o contexto adequadamente para cada tipo de aplicativo
  • Eles determinam como os testes são executados e interpretados

Tipos de fornecedores

As seções a seguir descrevem os diferentes tipos de provedores disponíveis no Test Engine. Cada fornecedor é projetado para um cenário de aplicativo específico, oferecendo recursos personalizados para testes baseados na Web e em API.

Provedores baseados na Web

Os provedores baseados na Web ampliam os recursos de automação do navegador Playwright adicionando abstrações específicas do aplicativo, facilitando o teste de aplicativos da Web sem lidar com elementos DOM de baixo nível.

Provedor de aplicativos Canvas

O Fornecedor de Aplicações Canvas (canvas) é especializado em testar aplicações Canvas do Power Apps.

  • Nível de Abstração: Trabalha com nomes de controle conforme definidos no estúdio do criador de aplicativos
  • Tecnologia: Estende o Playwright para automação baseada em navegador
  • Principais Capacidades:
    • Acessa controlos da aplicação canvas por nomes lógicos
    • Manipula tipos de controles e eventos específicos do canvas
    • Suporta navegação e interação de controle de galeria

Exemplo 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

Saiba mais sobre como testar aplicações canvas.

Provedor de aplicativos orientado por modelo

O fornecedor de aplicativos controlados por modelo do Dataverse (mda) é especializado para aplicações controladas por modelo:

  • Nível de abstração: trabalha com elementos de aplicativo orientados por modelo, como formulários, exibições e fluxos de processos de negócios
  • Tecnologia: Estende o Playwright para automação baseada em navegador
  • Principais Capacidades:
    • Navega por interfaces de aplicativos complexas orientadas por modelo
    • Lida com a entrada e validação de dados de formulário
    • Suporta operações de registo de entidade

Exemplo 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"

Saiba mais sobre como testar aplicativos orientados por modelos.

Provedores baseados em API

Os provedores baseados em API interagem diretamente com os serviços de back-end sem necessariamente usar uma interface de navegador.

Power Fx fornecedor

O Fornecedor de Power Fx (powerfx) permite a execução direta de fórmulas do Power Fx, úteis para testes de integração do Dataverse.

  • Authentication: Utiliza tokens OAuth obtidos via comando CLI do Azure az login
  • Tecnologia: Chamadas diretamente aos pontos de extremidade da API do Dataverse
  • Principais Capacidades:
    • Executa operações CRUD nas tabelas do Dataverse
    • Executa a lógica de negócios sem interação com a interface do utilizador
    • Permite testes de integração focados

Exemplo 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"

Saiba mais sobre como testar Dataverse extensões.

Execução técnica

As seções a seguir explicam a arquitetura subjacente, os fluxos de autenticação e a integração do Dataverse para provedores do Test Engine. Compreender esses detalhes ajuda você a configurar e estender provedores para suas necessidades específicas de teste.

Arquitetura

A arquitetura do fornecedor do Test Engine segue uma abordagem em camadas:

  1. Core Engine Layer: Contém funcionalidade compartilhada entre todos os provedores
  2. Camada do Provedor: implementa a lógica de teste específica da aplicação
  3. Camada de Autenticação: gerencia identidade e contexto de segurança
  4. Camada de extensão: Permite que a funcionalidade personalizada seja adicionada

Fluxo de autenticação

Os provedores usam diferentes fluxos de autenticação com base em seus requisitos:

  • Web Providers (Canvas, baseado em modelo): utilize autenticação baseada em navegador com o estado de armazenamento
  • API Providers (Power Fx): Use tokens de OAuth do CLI do Azure para acesso direto à API

Integração com o Dataverse

Todos os fornecedores podem beneficiar da Dataverse integração, que permite:

  • Acesso direto à tabela via funções Power Fx
  • Operações de semeadura e limpeza de dados
  • Verificação de alterações de estado de backend

Para habilitar a integração com Dataverse, adicione o seguinte às definições de teste:

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

Saiba como testar Dataverse extensões

Escolher o fornecedor certo

Selecione um fornecedor com base no tipo de aplicativo e nos requisitos de teste:

Tipo de Aplicação Fornecedor Melhor para
Aplicações Canvas canvas Teste de interface do utilizador, interação de controle, navegação na tela
Aplicações condicionadas por modelos mda Formulários, vistas, fluxos de processos de negócios, operações de entidades
Integração pura do Dataverse powerfx Lógica de back-end, operações de tabela, validação de plug-ins

Aplicativos de tela de teste
Teste aplicativos orientados por modelo
Extensões de teste Dataverse
Extensibilidade do motor de teste
Motor de Teste e Playwright