Compartilhar via


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

Observação

Os recursos de versão preliminar não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.

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 tela e modelos)

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

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

A autenticação do StorageState é a maneira mais simples de começar. Ele usa a API de Proteção de Dados do Windows para armazenar com segurança tokens de autenticação em sua máquina 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 consentimento e MFA
  4. Selecione "Permanecer conectado" quando solicitado

Sua autenticação agora está sálvia.

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

Dataverse A autenticação é perfeita 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 Power Platform solução em https://aka.ms/TestEngineAuth.
  2. Entre 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. Faça login com o CLI do Azure (necessário para autenticação): 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 princípios 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 usuário interativas.

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

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

  1. Faça login no centro de administração Microsoft Entra
  2. Navegue até Aplicativos>Registros de aplicativos
  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 de Variáveis com as permissões apropriadas.

PowerFx e autenticação de teste direto Dataverse

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

Como funciona a autenticação PowerFx/Dataverse

  1. O Test Engine usa o Azure CLI para obter um token de acesso específico do 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 PowerFx/Dataverse autenticação

  1. Certifique-se de que o Azure CLI esteja instalado e atualizado:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Faça login com o 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.

    • Solução: Verifique se o Azure CLI 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 PowerFx/Dataverse autenticação

  • Problema: Unable to obtain access token erro

    • Solução: Verifique se você está conectado com o Azure CLI usando az account get-access-token
  • Problema: Access denied para 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 uma entidade de serviço com expiração de token mais longa ou trate a reautenticação em etapas de teste

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