Partilhar via


Guia de autenticação para Power Apps Test Engine (pré-visualização)

Nota

As funcionalidades de pré-visualização não se destinam a utilização em produção e podem ter funcionalidades restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipado e enviar comentários.

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

Introdução à autenticação

O Test Engine suporta dois métodos de autenticação para testes baseados na Web para aplicativos orientados por modelo e tela:

  • StorageState - configuração padrão e fácil para desenvolvimento individual (para testes de aplicativos baseados na Web e orientados por modelos)
  • Dataverse - Abordagem baseada em equipa para compartilhamento de usuários de teste e CI/CD (para canvas baseado na web e testes de aplicativos orientados a modelos)

A autenticação é tratada de forma diferente para o provedor PowerFx e os testes diretos do Dataverse. Esses testes obtêm tokens de acesso diretamente da sessão de login na CLI do Azure usando az comandos para obter tokens de acesso a recursos. Certifique-se de que você está conectado com az login --allow-no-subscriptions antes de executar esses tipos de testes.

Configuração rápida: autenticação de estado de armazenamento

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

Etapa 1: Executar o teste com autenticação padrão

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

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

Nota

O parâmetro pac test run--user-auth não é usado neste exemplo porque o fornecedor padrão é StorageState. Você pode incluí-lo se desejar.

Etapa 2: concluir o login interativo

Insira as credenciais da sua conta de utilizador de teste

  1. Uma janela do navegador é aberta automaticamente
  2. Inicie sessão com a sua conta de utilizador de teste
  3. Se solicitado, aprove as solicitações de autenticação multifator (MFA) e os avisos de consentimento
  4. Selecione "Permanecer conectado" quando solicitado

A sua autenticação está agora guardada.

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

Configuração de equipa: autenticação do Dataverse

A autenticação do Dataverse é perfeita para equipas e pipelines de CI/CD. Ele armazena com segurança, no Dataverse, os estados dos utilizadores autenticados, encriptados com certificados X.509.

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

  1. Transfira a solução Power Platform de https://aka.ms/TestEngineAuth.
  2. Iniciar sessão 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 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: configurar o utilizador de teste

Conclua as seguintes etapas para configurar seu utilizador de teste:

  1. Abra seu terminal e saia de todas as sessões existentes:

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

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

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

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

    Nota

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

  5. Conclua o login interativo quando solicitado.

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

Para testes automatizados em pipelines de CI/CD, você pode usar entidades de serviço em vez de contas de utilizador 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. Iniciar sessão no Microsoft Entra centro de administração
  2. Navegue até Aplicações>Registros de Aplicações
  3. Selecione Novo registo
  4. Insira um nome (por exemplo, "Test Engine Automation")
  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 de API Dataverse.

  1. No registro do aplicativo, vá para permissões de API
  2. Selecione Adicionar uma permissão
  3. Escolher APIs que minha organização usa
  4. Procurar e selecionar Dataverse
  5. Selecione Permissões delegadas
  6. Verificar user_impersonation
  7. Selecione Adicionar permissões
  8. Selecione Conceder consentimento de administrador

Etapa 3: Criar um segredo do cliente

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

  1. Ir para Certificados & segredos
  2. Selecione Novo segredo do cliente
  3. Adicionar uma descrição e escolher uma expiração
  4. Copie o valor secreto imediatamente (você não pode vê-lo novamente)

Etapa 4: Adicionar o utilizador do aplicativo a Dataverse

Conclua os passos a seguir para adicionar o utilizador da aplicação no Dataverse.

  1. Abra o Power Platform Centro de Administração
  2. Selecionar o seu ambiente
  3. Vá para Configurações>Usuários + permissões>Usuários do aplicativo
  4. Selecionar + Novo utilizador do aplicativo
  5. Pesquise e selecione a sua candidatura
  6. Atribua funções apropriadas de unidade de negócios e segurança (inclua a função "Usuário do mecanismo de teste")
  7. Guarde as alterações

Etapa 5: Configurar o 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 com segurança em Grupos de Variáveis com as permissões apropriadas.

Autenticação de teste direto do PowerFx e do Dataverse

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

** Como funciona a autenticação do PowerFx/Dataverse

  1. O mecanismo de teste usa a CLI do Azure para obter um token de acesso específico do recurso
  2. O token é usado para autenticar diretamente com Dataverse APIs
  3. Nenhum navegador ou autenticação baseada na Web está envolvido

Configuração da autenticação do PowerFx/Dataverse

  1. Verifique se a CLI do Azure está instalada e atualizada:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Iniciar sessão com a 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 fornecedor 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 secção contém informações sobre como solucionar problemas de autenticação com o Test Engine.

Problemas comuns com o StorageState

  • Problema: O prompt de autenticação aparece em todas as execuções.

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

    • Solução: Certifique-se de que tem acesso adequado à sua pasta de perfil de utilizador.

Problemas comuns com a autenticação do 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.

    • Solução: verifique se a CLI do Azure está conectada az login --allow-no-subscriptions.
  • Problema: Access denied erro com o principal de serviço.

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

Problemas comuns com a autenticação PowerFx/Dataverse

  • Problema: Unable to obtain access token erro

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

    • Solução: Certifique-se de que o utilizador com sessão iniciada no Dataverse tenha as permissões apropriadas no ambiente
  • Problema: Expiração do token durante longas execuções de teste

    • Solução: use uma entidade de serviço com expiração de token mais longa ou gerencie a reautenticação em etapas de teste

Arquitetura de segurança de autenticação
Aplicações canvas para teste
Teste aplicativos orientados por modelo
Extensões de teste Dataverse