Partilhar via


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

Nota

As funcionalidades de pré-visualização não se destinam à produção e poderão ter caraterísticas 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 fornecedor PowerFx e testes diretos Dataverse . Esses testes obtêm tokens de acesso diretamente de sua sessão conectada 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 StorageState

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 MFA e 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 da equipa: Dataverse autenticação

Dataverse a autenticação é perfeita para equipes e pipelines de CI/CD. Ele armazena com segurança estados Dataverse de utilizador autenticados, criptografados com certificados X.509.

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

  1. Transfira a Power Platform solução a partir 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. Fazer logon com a CLI do Azure (necessária para Dataverse autenticação):

    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, você deve usar o --user-auth parâmetro com um 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 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é Registros>de aplicativos de aplicativos
  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 as etapas a seguir para adicionar o utilizador Dataverse do aplicativo.

  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)

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

PowerFx e autenticação de teste direto Dataverse

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

Como funciona o PowerFx/Dataverse autenticação

  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

Configurando o PowerFx/Dataverse autenticação

  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 Dataverse a autenticação

  • 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 a entidade 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 PowerFx/Dataverse autenticação

  • 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: verifique se o Dataverse utilizador conectado tem 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 manipule a reautenticação em etapas de teste

Arquitetura de segurança de autenticação
Aplicativos de tela de teste
Teste aplicativos orientados por modelo
Extensões de teste Dataverse