Compartilhar via


Compreendendo os provedores do Test Engine (visualização)

O Test Engine usa uma arquitetura baseada em provedor que lhe permite oferecer suporte a testes em diferentes tipos de aplicativos. Cada provedor é otimizado para um tipo de aplicação específico, permitindo uma automação de testes eficiente e, ao mesmo tempo, proporcionando uma experiência de teste consistente.

O que são provedores?

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 implementação específica de tipo de ações de teste
  • Eles lidam com autenticação e contexto adequadamente para cada tipo de aplicativo
  • Eles determinam como os testes são executados e interpretados

Tipos de provedores

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

Provedores baseados na Web

Os provedores baseados na Web estendem os recursos de automação do navegador do 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 em testar Power Apps aplicativos Canvas:

  • 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 aplicativos 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 Canvas.

Provedor de aplicativos orientados a modelos

O Provedor de Aplicativos Orientados a Modelos (mda) é especializado em Dataverse aplicativos orientados a modelos:

  • Nível de abstração: funciona com elementos de aplicativos orientados a modelos, como formulários, visualizaçõ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 baseadas em modelos
    • Lida com a entrada e validação de dados do 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 a modelos.

Provedores baseados em API

Provedores baseados em API interagem diretamente com serviços de backend sem necessariamente usar uma interface de navegador.

Power Fx provedor

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

  • Autenticação: Utiliza OAuth tokens obtidos via comando Azure CLI az login
  • Tecnologia: Chama diretamente os pontos de extremidade da API Dataverse
  • Principais capacidades:
    • Executa operações CRUD em tabelas Dataverse
    • Executa lógica de negócios sem interação com a interface do usuário
    • 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.

Implementação técnica

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

Arquitetura

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

  1. Camada do mecanismo principal: contém funcionalidade compartilhada entre todos os provedores
  2. Camada do Provedor: Implementa 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 adicionar funcionalidades personalizadas

Fluxo de autenticação

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

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

Integração do Dataverse

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

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

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

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

Aprenda a testar extensões Dataverse

Escolhendo o provedor certo

Selecione um provedor com base no tipo de aplicação e nos requisitos de teste:

Tipo de Aplicativo Provider Melhor para
Aplicativos de tela canvas Teste de IU, interação de controle, navegação na tela
Aplicativos baseados em modelo mda Formulários, visualizações, fluxos de processos de negócios, operações de entidades
Integração pura Dataverse powerfx Lógica de backend, operações de tabela, validação de plugin

Testar aplicações de tela
Testar aplicações orientadas a modelos
Extensões de teste Dataverse
Extensibilidade do mecanismo de teste
Motor de teste e dramaturgo