Compartilhar via


Noções básicas sobre provedores do Mecanismo de Teste (preterido)

Observação

O Mecanismo de Teste foi preterido e será removido em uma versão futura. Use exemplos Power Platform Playwright para testar recursos de automação no Power Platform e serviços de Dynamics 365.

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 uma implementação específica para 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 Provedor de Aplicativos de Tela (canvas) é especializado para testar Power Apps aplicativos de tela:

  • Nível de abstração: funciona com nomes de controles conforme definido no estúdio de criação de aplicativos
  • Tecnologia: Estende o Playwright para automação baseada em navegador
  • Principais capacidades:
    • Acessa os controles de aplicativos canvas por seus 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 aplicativos orientados a modelos do Dataverse:

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

Fornecedor do Power Fx

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

  • Authentication: usa tokens OAuth obtidos por meio do comando CLI do Azure az login
  • Tecnologia: Chama diretamente os endpoints da Dataverse API
  • 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 do Dataverse para provedores de mecanismos de teste. 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 motor central: contém funcionalidades compartilhadas entre todos os provedores
  2. Camada do Provedor: Implementa lógica de teste específica do aplicativo
  3. Camada de autenticação: gerencia a identidade e o 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
  • API Providers (Power Fx): Use tokens OAuth do CLI do Azure para acesso direto à API

Integração do Dataverse

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

  • 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 Provedor Melhor para
Aplicativos Canvas 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 nativa do 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