Guia d'autenticació per a Power Apps Test Engine (obsoleta)

Nota

Test Engine està obsolet i serà eliminat en una versió futura. Utilitza Power Platform Playwright per a capacitats d'automatització de proves en Power Platform i serveis Dynamics 365.

Aquesta guia proporciona instruccions pas a pas per configurar l'autenticació al Test Engine. Per obtenir una visió general ràpida de les opcions d'autenticació, vegeu Autenticació al motor de proves.

Introducció a l'autenticació

El motor de proves admet dos mètodes d'autenticació per a proves basades en web per a aplicacions basades en llenç i basades en models:

  • StorageState : configuració fàcil per defecte per al desenvolupament individual (per a proves de llenç basades en web i aplicacions basades en models)
  • Dataverse - Enfocament basat en equips per compartir usuaris de prova i CI/CD (per a proves de llenç basades en web i aplicacions basades en models)

L'autenticació es gestiona de manera diferent per al proveïdor de PowerFx i les proves directes Dataverse . Aquestes proves obtenen tokens d'accés directament de la sessió Azure CLI iniciada sessió utilitzant ordres az per obtenir tokens d'accés a recursos. Assegureu-vos que heu iniciat la sessió abans az login --allow-no-subscriptions d'executar aquest tipus de proves.

Configuració ràpida: autenticació StorageState

L'autenticació StorageState és la manera més senzilla de començar. Utilitza l'API de Protecció de Dades de Windows per emmagatzemar de manera segura els tokens d'autenticació a la teva màquina local.

Pas 1: executeu la prova amb l'autenticació predeterminada

Executeu la següent ordre del PowerShell substituint els paràmetres que comencen per your.

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

Nota

El paràmetre d'execució--user-auth de la prova pac no s'utilitza en aquest exemple perquè el proveïdor predeterminat sí que ho és StorageState. Pots incloure'l si ho desitges.

Pas 2: completa l'inici de sessió interactiu

Introduïu les credencials del compte d'usuari de prova

  1. S'obre automàticament una finestra del navegador
  2. Inicia sessió amb el teu compte d'usuari de prova
  3. Si se us demana, aproveu l'MFA i les sol·licituds de consentiment
  4. Seleccioneu "Mantenir la sessió sessida" quan se us demani

La vostra autenticació ja està desada.

  • Test Engine emmagatzema de manera segura la vostra autenticació
  • Les futures execucions de proves utilitzen l'estat desat sense necessitat d'iniciar la sessió
  • Els tokens s'actualitzen automàticament quan és necessari

Configuració de l'equip: Dataverse autenticació

Dataverse L'autenticació és perfecta per a equips i pipelines de CI/CD. Emmagatzema de manera segura els estats Dataverse d'usuari autenticats, xifrats amb certificats X.509.

Pas 1: Baixeu i importeu la solució Test Engine

  1. Baixeu la Power Platform solució des de https://aka.ms/TestEngineAuth.
  2. Inicieu Power Apps la sessió.
  3. Seleccioneu l'entorn de destinació.
  4. Aneu a Solucions i seleccioneu Importa la solució.
  5. Seguiu l'auxiliar per carregar i instal·lar la solució del motor de prova.

Pas 2: Crear un certificat per a l'encriptació

Per a un certificat autosignat (només desenvolupament), executeu aquest script del PowerShell següent:

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

Per a la producció, utilitzeu un certificat de l'autoritat de certificació de l'empresa.

Pas 3: configureu l'usuari de prova

Seguiu els passos següents per configurar l'usuari de prova:

  1. Obre el terminal i tanca la sessió de les sessions existents:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Inicia sessió amb Azure CLI (necessari per a l'autenticació Dataverse):

    az login --allow-no-subscriptions
    
  3. Definiu el nom del certificat com a variable d'entorn del PowerShell anomenada DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Executeu la prova amb Dataverse autenticació:

    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 diferència de StorageState, en aquest cas heu d'utilitzar el --user-auth paràmetre amb un valor de Dataverse.

  5. Completeu l'inici de sessió interactiu quan se us demani.

Configuració de les entitats de servei (per a CI/CD)

Per a les proves automatitzades en pipelines de CI/CD, podeu utilitzar entitats de servei en lloc de comptes d'usuari interactius.

Pas 1: Crea un registre d'aplicació a Microsoft Entra ID

Completeu els passos següents per crear un registre d'aplicació a Microsoft Entra ID.

  1. Inicia sessió a la Microsoft Entra admin center
  2. Navega a Aplicacions>App registrations
  3. Seleccioneu Nou registre
  4. Introduïu un nom (per exemple, "Automatització del motor de prova")
  5. Mantingueu les opcions predeterminades i seleccioneu Registre
  6. Després de la creació, anoteu l'identificador de l'aplicació (client) i l'identificador del directori (inquilí)

Pas 2: Configurar els permisos de l'API per a Dataverse

Completeu els passos següents per configurar els permisos de l'API Dataverse.

  1. Al registre de l'aplicació, aneu a Permisos de l'API
  2. Seleccioneu Afegeix un permís
  3. Trieu les API que utilitza la meva organització
  4. Cerqueu i seleccioneu Dataverse
  5. Seleccioneu Permisos delegats
  6. Comproveu user_impersonation
  7. Seleccioneu Afegeix permisos
  8. Seleccioneu Concedeix el consentiment de l'administrador

Pas 3: Crear un secret de client

Completeu els passos següents per crear un secret de client.

  1. Accedeix a Certificats i secrets
  2. Seleccioneu Nou secret de client
  3. Afegeix una descripció i tria una caducitat
  4. Copieu el valor secret immediatament (no el podreu tornar a veure)

Pas 4: afegiu l'usuari de l'aplicació a Dataverse

Completeu els passos següents per afegir l'usuari de Dataverse l'aplicació.

  1. Obre el Centre d'administració Power Platform
  2. Seleccioneu el vostre entorn
  3. Aneu a Configuració>Usuaris + permisos>Usuaris de l'aplicació
  4. Select + Usuari nou de l'aplicació
  5. Cerqueu i seleccioneu la vostra aplicació
  6. Assigneu funcions de seguretat i unitat de negoci adequades (incloeu la funció "Usuari del motor de proves")
  7. Deseu els canvis

Pas 5: Configureu el pipeline de CI/CD

Afegiu aquestes variables al 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)

Per Azure DevOps, emmagatzema-les de manera segura en Variables Groups amb els permisos adequats.

PowerFx i autenticació de prova directa Dataverse

Per a les proves de proveïdors de PowerFx i les proves directes Dataverse , l'autenticació funciona de manera diferent que per a les proves basades en web.

Com funciona PowerFx/Dataverse autenticació

  1. Test Engine utilitza Azure CLI per obtenir un token d'accés específic per a un recurs
  2. El testimoni s'utilitza per autenticar-se directament amb Dataverse les API
  3. No hi ha cap navegador o autenticació basada en web

Configuració del PowerFx/Dataverse autenticació

  1. Assegura't que Azure CLI estigui instal·lada i actualitzada:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Inicia sessió amb Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Executeu la prova amb el proveïdor 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"
    

Solució de problemes d'autenticació

Aquesta secció conté informació sobre la resolució de problemes d'autenticació amb el Test Engine.

Problemes habituals amb StorageState

  • Problema: apareix una sol·licitud d'autenticació a cada execució.

    • Solució: comproveu si heu seleccionat Mantingueu-vos connectat durant l'inici de sessió.
  • Problema: Cannot access secure storage error.

    • Solució: Assegureu-vos que teniu l'accés adequat a la carpeta de perfils d'usuari.

Problemes habituals amb Dataverse l'autenticació

  • Problema: Certificate not found error.

    • Solució: verifiqueu que el nom del certificat coincideixi exactament amb el que hi ha al magatzem de certificats.
  • Problema: Unable to connect to Dataverse error.

    • Solution: Comprova que Azure CLI està connectat amb az login --allow-no-subscriptions.
  • Problema: Access denied error amb l'entitat de servei.

    • Solució: verifiqueu que l'aplicació tingui els permisos Dataverse correctes i les funcions de seguretat adequades.

Problemes habituals amb PowerFx/Dataverse autenticació

  • Problema: Unable to obtain access token error

    • Solution: Verifica que estàs iniciat sessió amb Azure CLI utilitzant az account get-access-token
  • Problema: Access denied a Dataverse

    • Solució: assegureu-vos que l'usuari que ha iniciat la sessió tingui els permisos adequats a l'entorn Dataverse
  • Problema: caducitat del testimoni durant les proves llargues

    • Solució: utilitzeu una entitat de servei amb una caducitat de testimoni més llarga o gestioneu la reautenticació als passos de prova

Arquitectura de seguretat d'autenticació
Aplicacions de llenç de prova
Aplicacions basades en models de prova
Extensions de prova Dataverse