Compartir por


Guía de autenticación para Power Apps Test Engine (vista previa)

Nota

As funcionalidades de vista previa non se deseñaron para uso de produción e poden ter funcionalidade restrinxida. Estas funcionalidades están dispoñibles antes da versión oficial para que os clientes poidan obter acceso a elas rápido e fornecer comentarios.

Esta guía ofrece instrucións paso a paso para configurar a autenticación en Test Engine. Para obter unha visión xeral rápida das opcións de autenticación, consulte Autenticación en Test Engine.

Comezando coa autenticación

O motor de probas admite dous métodos de autenticación para probas baseadas na web para aplicacións baseadas en lenzo e modelos:

  • StorageState : configuración predeterminada e sinxela para o desenvolvemento individual (para probas de aplicacións baseadas en lenzos web e aplicacións baseadas en modelos)
  • Dataverse - Enfoque baseado en equipos para compartir usuarios de proba e CI/CD (para probas de lenzo baseadas na web e aplicacións baseadas en modelos)

A autenticación xestiónase de xeito diferente para o provedor de PowerFx e as probas directas. Dataverse Estas probas obteñen tokens de acceso directamente da sesión da CLI de Azure na que iniciaches sesión mediante comandos para obter tokens de acceso a recursos. az Asegúrate de iniciar sesión con az login --allow-no-subscriptions antes de executar este tipo de probas.

Configuración rápida: autenticación de StorageState

A autenticación de StorageState é a forma máis sinxela de comezar. Emprega a API de protección de datos de Windows para almacenar de forma segura os tokens de autenticación no equipo local.

Paso 1: Executa a proba coa autenticación predeterminada

Executa o seguinte comando de PowerShell substituíndo os parámetros que comezan por 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 execución da proba de pac--user-auth non se usa neste exemplo porque o provedor predeterminado é StorageState. Podes incluílo se queres.

Paso 2: Completar o inicio de sesión interactivo

Introduza as credenciais da súa conta de usuario de proba

  1. Ábrese automaticamente unha xanela do navegador
  2. Inicia sesión coa túa conta de usuario de proba
  3. Se se lle solicita, aprobar a autenticación multifactor e as solicitudes de consentimento
  4. Selecciona "Manter a sesión iniciada" cando se che solicite

A túa autenticación xa está gardada.

  • Test Engine almacena de forma segura a túa autenticación
  • As execucións de probas futuras usarán o estado gardado sen necesidade de iniciar sesión
  • Os tokens actualízanse automaticamente cando é necesario

Configuración do equipo: Dataverse autenticación

Dataverse A autenticación é perfecta para equipos e canles de CI/CD. Almacena de forma segura os estados dos usuarios autenticados en Dataverse, cifrados con certificados X.509.

Paso 1: Descargar e importar a solución Test Engine

  1. Descarga a Power Platform solución de https://aka.ms/TestEngineAuth.
  2. Inicie sesión en Power Apps.
  3. Selecciona o teu entorno de destino.
  4. Vaia a Solucións e seleccione Importar solución.
  5. Siga o asistente para cargar e instalar a solución Test Engine.

Paso 2: Crear un certificado para o cifrado

Para un certificado autoasinado (só para desenvolvemento), executa o seguinte script de PowerShell:

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

Para a produción, use un certificado da autoridade de certificación da súa empresa.

Paso 3: Configura o teu usuario de proba

Completa os seguintes pasos para configurar o teu usuario de proba:

  1. Abre o teu terminal e pecha sesión en calquera sesión existente:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Iniciar sesión coa CLI de Azure (obrigatorio para a autenticación): Dataverse

    az login --allow-no-subscriptions
    
  3. Define o nome do teu certificado como unha variable de ambiente de PowerShell named DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Executa a túa proba con autenticación: 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
    

    Nota

    A diferenza de StorageState, neste caso debes usar o parámetro --user-auth cun valor de Dataverse.

  5. Completa o inicio de sesión interactivo cando se che solicite.

Configuración de entidades de servizo (para CI/CD)

Para probas automatizadas en canles de CI/CD, pode usar entidades de servizo en lugar de contas de usuario interactivas.

Paso 1: Crear un rexistro de aplicación en Microsoft Entra ID

Complete os seguintes pasos para crear un rexistro de aplicación en Microsoft Entra ID.

  1. Iniciar sesión no centro de administración Microsoft Entra
  2. Navegar a Aplicacións>Rexistros de aplicacións
  3. Seleccionar Novo rexistro
  4. Introduza un nome (por exemplo, "Automatización do motor de probas")
  5. Mantén as opcións predeterminadas e selecciona Rexistrar
  6. Despois da creación, teña en conta o ID da aplicación (cliente) e o ID do directorio (inquilino)

Paso 2: Configurar os permisos da API para Dataverse

Complete os seguintes pasos para configurar os permisos da API para Dataverse.

  1. No rexistro da túa aplicación, vai a *Permisos da API*
  2. Seleccionar Engadir un permiso
  3. Escolle as API que usa a miña organización
  4. Buscar e seleccionar Dataverse
  5. Seleccionar Permisos delegados
  6. Comprobar a suplantación de identidade do usuario
  7. Seleccionar Engadir permisos
  8. Seleccionar Conceder consentimento de administrador

Paso 3: Crear un segredo de cliente

Complete os seguintes pasos para crear un segredo de cliente.

  1. Vaia a Certificados e segredos
  2. Seleccionar Novo segredo do cliente
  3. Engade unha descrición e escolle unha caducidade
  4. Copia o valor secreto Valor inmediatamente (non o poderás volver ver)

Paso 4: Engadir o usuario da aplicación a Dataverse

Complete os seguintes pasos para engadir o usuario da aplicación a Dataverse.

  1. Abrir o Centro de administración Power Platform
  2. Seleccione o seu ambiente
  3. Vaia a Configuración>Usuarios + permisos>Usuarios da aplicación
  4. Seleccionar + Novo usuario da aplicación
  5. Busca e selecciona a túa aplicación
  6. Asignar roles de unidade de negocio e de seguridade axeitados (incluír o rol de "Usuario do motor de probas")
  7. Gardar as modificacións

Paso 5: Configura a túa canle de CI/CD

Engade estas variables á túa canle:

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, almacénaos de forma segura en Grupos de variables cos permisos axeitados.

Autenticación de PowerFx e proba directa Dataverse

Para as probas do provedor PowerFx e as probas directas, a autenticación funciona de xeito diferente que para as probas baseadas na web. Dataverse

Como funciona PowerFx/autenticaciónDataverse

  1. Test Engine usa Azure CLI para obter un token de acceso específico do recurso
  2. O token úsase para autenticarse directamente coas API Dataverse
  3. Non se require autenticación por navegador nin por web

Configuración de PowerFx/autenticaciónDataverse

  1. Asegúrate de que a CLI de Azure estea instalada e actualizada:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Iniciar sesión coa CLI de Azure:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Executa a túa proba co 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"
    

Resolución de problemas de autenticación

Esta sección contén información sobre a resolución de problemas de autenticación con Test Engine.

Problemas comúns con StorageState

  • Problema: A solicitude de autenticación aparece en cada execución.

    • Solución: Comprobe se seleccionou Manter a sesión iniciada durante o inicio de sesión.
  • Problema: Cannot access secure storage erro.

    • Solución: Asegúrate de ter acceso axeitado ao cartafol do teu perfil de usuario.

Problemas comúns coa autenticación Dataverse

  • Problema: Certificate not found erro.

    • Solución: Verifique que o nome do certificado coincida exactamente co que hai no seu almacén de certificados.
  • Problema: Unable to connect to Dataverse erro.

    • Solución: Comprobe que a CLI de Azure iniciou sesión con az login --allow-no-subscriptions.
  • Problema: Access denied erro co principal do servizo.

    • Solución: Verifica que a aplicación teña os permisos correctos en Dataverse e os roles de seguranza axeitados.

Problemas comúns con PowerFx/autenticaciónDataverse

  • Problema: Unable to obtain access token erro

    • Solución: Verifique que iniciou sesión coa CLI de Azure mediante az account get-access-token
  • Problema: Access denied para Dataverse

    • Solución: Asegúrate de que o usuario que iniciou sesión teña os permisos axeitados no Dataverse ambiente
  • Problema: Caducidade do token durante longas execucións de probas

    • Solución: Empregar un principal de servizo cunha caducidade de token máis longa ou xestionar a reautenticación nos pasos de proba

Arquitectura de seguridade da autenticación
Probar aplicacións de lenzo
Aplicacións baseadas en modelos de proba
Extensións de proba Dataverse