Guia de autenticação do mecanismo de teste de Power Apps (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.

Este guia fornece instruções passo a passo para configurar a autenticação no Test Engine. Para uma rápida visão geral das opções de autenticação, consulte Autenticação no mecanismo de teste.

Introdução à autenticação

O Test Engine oferece suporte a dois métodos de autenticação para testes baseados na web para aplicativos de tela e orientados a modelos:

  • StorageState - Configuração padrão e fácil para desenvolvimento individual (para testes de aplicativos baseados em tela e modelos)
  • Dataverse - Abordagem baseada em equipe para compartilhamento de usuários de teste e CI/CD (para testes de aplicativos baseados em interface gráfica e baseados em modelo)

A autenticação é tratada de forma diferente para o provedor PowerFx e para testes diretos do Dataverse. Esses testes obtêm tokens de acesso diretamente da sua sessão conectada do CLI do Azure, usando comandos az para acessar recursos. Certifique-se de estar logado com az login --allow-no-subscriptions antes de executar esses tipos de testes.

Configuração rápida: autenticação do StorageState

A autenticação do StorageState é a maneira mais simples de começar. Ele usa a API de Proteção de Dados Windows para armazenar com segurança tokens de autenticação em seu computador local.

Etapa 1: execute seu teste com autenticação padrão

Execute o seguinte comando do PowerShell substituindo os parâmetros que começam com your.

pac test run `
   --provider canvas `
   --test-plan-file your-test-plan.yaml `
   --tenant your-tenant-id `
   --environment-id your-environment-id

Observação

O parâmetro execução do teste pac--user-auth não é usado neste exemplo porque o provedor padrão é StorageState. Você pode incluí-lo se desejar.

Etapa 2: Conclua o login interativo

Insira as credenciais da sua conta de usuário de teste

  1. Uma janela do navegador abre automaticamente
  2. Faça login com sua conta de usuário de teste
  3. Se solicitado, aprove os prompts de MFA e de consentimento
  4. Selecione "Permanecer conectado" quando solicitado

Sua autenticação agora está salva.

  • O Test Engine armazena sua autenticação com segurança
  • Execuções de testes futuras usam o estado salvo sem exigir login
  • Os tokens são atualizados automaticamente quando necessário

Configuração da equipe: autenticação do Dataverse

A autenticação do Dataverse é ideal para equipes e pipelines de CI/CD. Ele armazena com segurança estados de usuários autenticados em Dataverse, criptografados com certificados X.509.

Etapa 1: Baixe e importe a solução do Test Engine

  1. Baixe a solução Power Platform em https://aka.ms/TestEngineAuth.
  2. Faça login no Power Apps.
  3. Selecione seu ambiente de destino.
  4. Vá para Soluções e selecione Importar solução.
  5. Siga o assistente para carregar e instalar a solução do Test Engine.

Etapa 2: Criar um certificado para criptografia

Para um certificado autoassinado (somente desenvolvimento), execute o seguinte script do PowerShell:

$Params = @{
  DnsName = @("testengine", "testengine")
  CertStoreLocation = "Cert:\CurrentUser\My"
  NotAfter = (Get-Date).AddMonths(6)
  KeyAlgorithm = "RSA"
  KeyLength = 2048
}
New-SelfSignedCertificate @Params

Para produção, use um certificado da autoridade de certificação da sua empresa.

Etapa 3: configure seu usuário de teste

Conclua as seguintes etapas para configurar seu usuário de teste:

  1. Abra seu terminal e saia de qualquer sessão existente:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Entre com CLI do Azure (necessário para autenticação do Dataverse):

    az login --allow-no-subscriptions
    
  3. Defina o nome do seu certificado como uma variável de ambiente do PowerShell chamada DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Execute seu teste com autenticação: Dataverse

    pac test run `
       --provider canvas `
       --user-auth Dataverse `
       --auth Certstore `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id
    

    Observação

    Ao contrário de StorageState, neste caso você deve usar o --user-auth parâmetro com valor de Dataverse.

  5. Conclua o login interativo quando solicitado.

Configurando entidades de serviço (para CI/CD)

Para testes automatizados em pipelines de CI/CD, você pode usar as entidades de serviço, em vez de contas de usuário interativas.

Etapa 1: criar um registro de aplicativo no Microsoft Entra ID

Conclua as etapas a seguir para criar um registro de aplicativo no Microsoft Entra ID.

  1. Acesse o centro de administração do Microsoft Entra
  2. Navegue até Applications>Registros de aplicativo
  3. Selecione Novo registro
  4. Digite um nome (por exemplo, "Automação do mecanismo de teste")
  5. Mantenha as opções padrão e selecione Registrar
  6. Após a criação, anote o ID do aplicativo (cliente) e o ID do diretório (locatário)

Etapa 2: Configurar permissões de API para Dataverse

Conclua as etapas a seguir para configurar as permissões da API para Dataverse.

  1. No registro do seu aplicativo, acesse Permissões de API
  2. Selecione Adicionar permissão
  3. Escolha APIs que minha organização usa
  4. Pesquise e selecione Dataverse
  5. Selecione Permissões delegadas
  6. Verifique user_impersonation
  7. Selecione Adicionar permissões
  8. Selecione Conceder consentimento do administrador

Etapa 3: Crie um segredo do cliente

Conclua as etapas a seguir para criar um segredo do cliente.

  1. Vá para Certificados e segredos
  2. Selecione Novo segredo do cliente
  3. Adicione uma descrição e escolha uma expiração
  4. Copie o valor secreto imediatamente (você não poderá vê-lo novamente)

Etapa 4: adicione o usuário do aplicativo a Dataverse

Conclua as etapas a seguir para adicionar o usuário do aplicativo a Dataverse.

  1. Abra o Centro de Administração Power Platform
  2. Selecione seu ambiente
  3. Acesse Configurações>Usuários + permissões>Usuários do aplicativo
  4. Selecione + Novo usuário do aplicativo
  5. Pesquise e selecione sua aplicação
  6. Atribuir funções de unidade de negócios e segurança apropriadas (incluindo a função "Usuário do mecanismo de teste")
  7. Salvar as alterações

Etapa 5: Configurar seu pipeline de CI/CD

Adicione estas variáveis ao seu pipeline:

AZURE_CLIENT_ID: (your application ID)
AZURE_CLIENT_SECRET: (your client secret)
AZURE_TENANT_ID: (your tenant ID)
DataProtectionCertificateValue: (base64 encoded certificate)
ENVIRONMENT_URL: (your Dataverse environment URL)

Para Azure DevOps, armazene-os com segurança em grupos Variáveis com as permissões apropriadas.

PowerFx e autenticação de teste direto do Dataverse

Para testes do provedor PowerFx e testes diretos do Dataverse, a autenticação funciona de forma diferente dos testes baseados na web.

Como funciona a autenticação PowerFx/Dataverse

  1. O Mecanismo de Teste usa CLI do Azure para obter um token de acesso específico ao recurso
  2. O token é usado para autenticação direta com APIs Dataverse
  3. Não há necessidade de autenticação de navegador ou baseada na web

Configurando a autenticação do PowerFx/Dataverse

  1. Verifique se CLI do Azure está instalado e atualizado:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Entre com CLI do Azure:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Execute seu teste com o provedor PowerFx:

    pac test run `
       --provider powerfx `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id `
       --domain "https://your-environment.crm.dynamics.com"
    

Solução de problemas de autenticação

Esta seção contém informações sobre solução de problemas de autenticação com o Test Engine.

Problemas comuns com StorageState

  • Problema: O prompt de autenticação aparece em cada execução.

    • Solução: Verifique se você selecionou Permanecer conectado durante o login.
  • Problema: Cannot access secure storage erro.

    • Solução: Certifique-se de ter acesso apropriado à sua pasta de perfil de usuário.

Problemas comuns com autenticação Dataverse

  • Problema: Certificate not found erro.

    • Solução: Verifique se o nome do certificado corresponde exatamente ao que está no seu armazenamento de certificados.
  • Problema: Unable to connect to Dataverse erro.

    • Solution: verifique se o CLI do Azure está conectado com az login --allow-no-subscriptions.
  • Problema: Access denied erro com a entidade de serviço.

    • Solução: Verifique se o aplicativo tem as permissões corretas em Dataverse e funções de segurança apropriadas.

Problemas comuns com autenticação no PowerFx e Dataverse

  • Problema: Unable to obtain access token erro

    • Solution: verifique se você está conectado com CLI do Azure usando az account get-access-token
  • Problema: Access denied para o Dataverse

    • Solução: Certifique-se de que o usuário conectado tenha as permissões apropriadas no Dataverse ambiente
  • Problema: Expiração de token durante longas execuções de testes

    • Solução: Use um principal de serviço com expiração de token mais longa ou realize a reautenticação em etapas de teste

Arquitetura de segurança de autenticação
Testar aplicativos de tela
Testar aplicações orientadas a modelos
Extensões de teste Dataverse