Partilhar via


Noções básicas sobre provedores de mecanismo de teste (visualização)

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 Canvas Application Provider (canvas) é especializado para testar Power Apps aplicativos de tela:

  • Nível de abstração: funciona com nomes de controle conforme definido no estúdio do criador de aplicativos
  • Tecnologia: Estende o Playwright para automação baseada em navegador
  • Principais Capacidades:
    • Acessa controles de aplicativo de tela por nomes lógicos
    • Manipula tipos de controle e eventos específicos da tela
    • 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 aplicativos de tela.

Provedor de aplicativos orientado por modelo

O fornecedor de aplicativos controlado por modelo (mda) é especializado para Dataverse aplicativos controlados 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 registro 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 Power Fx Provedor (powerfx) permite a execução direta de fórmulas, úteis para Power Fx testes de Dataverse integração:

  • Autenticação: usa OAuth tokens obtidos por meio do comando azur CLI az login
  • Tecnologia: chama diretamente os Dataverse pontos de extremidade da API
  • Principais Capacidades:
    • Executa operações CRUD em Dataverse tabelas
    • 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 Dataverse a integração 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 fornecedor: implementa a lógica de teste específica do aplicativo
  3. Camada de autenticação: lida com 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:

  • Provedores da Web (Canvas, orientado por modelo): use a autenticação baseada em navegador com o estado de armazenamento
  • Provedores de API(Power Fx): Use OAuth tokens da 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 à mesa através de Power Fx funções
  • Operações de semeadura e limpeza de dados
  • Verificação de alterações de estado de back-end

Para habilitar Dataverse a integração, 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 Provider Melhor para
Aplicações de tela canvas Teste de interface do utilizador, interação de controle, navegação na tela
Aplicações condicionadas por modelos mda Formulários, exibições, fluxos de processos de negócios, operações de entidades
Integração pura 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