Partajați prin


Ghid de autentificare pentru Power Apps Motorul de testare (previzualizare)

Notă

Caracteristicile în regim de previzualizare nu sunt destinate utilizării în producție și pot avea funcționalitate restricționată. Aceste caracteristici sunt disponibile înainte de lansarea oficială, astfel încât clienții să poată obține acces din timp și să poată oferi feedback.

Acest ghid oferă instrucțiuni pas cu pas pentru configurarea autentificării în Test Engine. Pentru o prezentare generală rapidă a opțiunilor de autentificare, consultați Autentificarea în Test Engine.

Noțiuni introductive despre autentificare

Test Engine acceptă două metode de autentificare pentru testele bazate pe web pentru aplicații canvas și bazate pe model:

  • StorageState - Configurare implicită, ușoară pentru dezvoltare individuală (pentru teste de aplicații bazate pe web și model)
  • Dataverse - Abordare bazată pe echipă pentru partajarea utilizatorilor de testare și a CI/CD (pentru teste de aplicații bazate pe web și model-driven)

Autentificarea este gestionată diferit pentru testele cu furnizorul PowerFx și pentru testele directe. Dataverse Aceste teste obțin token-uri de acces direct din sesiunea Azure CLI conectată, utilizând comenzi pentru a obține token-uri de acces la resurse. az Asigurați-vă că sunteți autentificat cu az login --allow-no-subscriptions înainte de a rula aceste tipuri de teste.

Configurare rapidă: Autentificare StorageState

Autentificarea StorageState este cea mai simplă modalitate de a începe. Folosește API-ul Windows Data Protection pentru a stoca în siguranță token-urile de autentificare pe mașina locală.

Pasul 1: Rulați testul cu autentificarea implicită

Executați următoarea comandă PowerShell înlocuind parametrii care încep cu your.

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

Notă

Parametrul pac test run--user-auth nu este utilizat în acest exemplu deoarece furnizorul implicit este StorageState. Îl poți include dacă dorești.

Pasul 2: Finalizați conectarea interactivă

Introduceți datele de autentificare ale contului dvs. de utilizator de test

  1. Se deschide automat o fereastră de browser
  2. Conectați-vă cu contul dvs. de utilizator de test
  3. Dacă vi se solicită, aprobați MFA și solicitările de consimțământ
  4. Selectați „Rămâneți conectat” când vi se solicită

Autentificarea dvs. este acum salvată.

  • Test Engine stochează în siguranță autentificarea dvs.
  • Testele viitoare vor folosi starea salvată fără a fi necesară conectarea.
  • Jetoanele se actualizează automat atunci când este nevoie

Configurarea echipei: Dataverse autentificare

Dataverse Autentificarea este perfectă pentru echipe și pipeline-uri CI/CD. Stochează în siguranță stările utilizatorilor autentificați în Dataverse, criptate cu certificate X.509.

Pasul 1: Descărcați și importați soluția Test Engine

  1. Descărcați soluția de la Power Platform . https://aka.ms/TestEngineAuth
  2. Conectați-vă la Power Apps.
  3. Selectați mediul țintă.
  4. Accesați Soluții și selectați Importați soluția.
  5. Urmați instrucțiunile expertului pentru a încărca și instala soluția Test Engine.

Pasul 2: Creați un certificat pentru criptare

Pentru un certificat autosemnat (doar pentru dezvoltare), executați următorul script PowerShell:

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

Pentru producție, utilizați un certificat de la autoritatea de certificare a companiei.

Pasul 3: Configurați utilizatorul de test

Parcurgeți pașii următori pentru a configura utilizatorul de test:

  1. Deschideți terminalul și deconectați-vă de la orice sesiuni existente:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. conectați-vă cu Azure CLI (necesar pentru autentificare): Dataverse

    az login --allow-no-subscriptions
    
  3. Setați numele certificatului ca o variabilă de mediu PowerShell denumită DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Rulați testul cu autentificare: 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
    

    Notă

    Spre deosebire de StorageState, în acest caz trebuie să utilizați parametrul --user-auth cu valoarea Dataverse.

  5. Finalizați conectarea interactivă când vi se solicită.

Configurarea principalelor de servicii (pentru CI/CD)

Pentru testarea automată în conductele CI/CD, puteți utiliza principale de serviciu în loc de conturi de utilizator interactive.

Pasul 1: Creați o înregistrare a aplicației în Microsoft Entra ID

Parcurgeți pașii următori pentru a crea o înregistrare a aplicației în Microsoft Entra ID.

  1. conectați-vă la centrul de administrare Microsoft Entra
  2. Navigați la Aplicații>Înregistrări aplicații
  3. Selectați Înregistrare nouă
  4. Introduceți un nume (de exemplu, „Automatizare motor de testare”)
  5. Păstrați opțiunile implicite și selectați Înregistrare
  6. După creare, notați ID-ul aplicației (clientului) și ID-ul directorului (chiriașului)

Pasul 2: Configurați permisiunile API pentru Dataverse

Parcurgeți pașii următori pentru a configura permisiunile API pentru Dataverse.

  1. În înregistrarea aplicației, accesați Permisiuni API
  2. Selectați Adăugați o permisiune
  3. Alegeți API-urile pe care le folosește organizația mea
  4. Căutați și selectați Dataverse
  5. Selectați Permisiuni delegate
  6. Verificați user_impersonification
  7. Selectați Adăugați permisiuni
  8. Selectați Acordați consimțământul administratorului

Pasul 3: Creați un secret client

Parcurgeți pașii următori pentru a crea un secret client.

  1. Accesați Certificate și secrete
  2. Selectați Secret secret client nou
  3. Adăugați o descriere și alegeți o expirare
  4. Copiați valoarea secretă Value imediat (nu o veți mai putea vedea)

Pasul 4: Adăugați utilizatorul aplicației la Dataverse

Parcurgeți pașii următori pentru a adăuga utilizatorul aplicației la Dataverse.

  1. Deschideți Centrul de administrare Power Platform
  2. Selectați-vă mediul
  3. Accesați Setări>Utilizatori + permisiuni>Utilizatori aplicație
  4. Selectați + Utilizator nou în aplicație
  5. Căutați și selectați aplicația dvs.
  6. Atribuiți roluri corespunzătoare unității de afaceri și securității (includeți rolul „Utilizator motor de testare”)
  7. Salvați modificările

Pasul 5: Configurați canalul CI/CD

Adăugați aceste variabile în canalul dvs. de lucru:

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)

Pentru Azure DevOps, stocați-le în siguranță în Grupuri de variabile cu permisiunile corespunzătoare.

Autentificare PowerFx și test direct Dataverse

Pentru testele furnizorilor PowerFx și testele directe, autentificarea funcționează diferit față de testele bazate pe web. Dataverse

Cum funcționează PowerFx/Dataverse autentificarea

  1. Test Engine folosește Azure CLI pentru a obține un token de acces specific resursei
  2. Tokenul este utilizat pentru autentificarea directă cu API-uri Dataverse
  3. Nu este implicată autentificarea prin browser sau web

Configurarea PowerFx/autentificareaDataverse

  1. Asigurați-vă că Azure CLI este instalat și actualizat:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Conectați-vă cu Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Rulați testul cu furnizorul 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"
    

Depanarea autentificării

Această secțiune conține informații despre depanarea problemelor de autentificare cu Test Engine.

Probleme frecvente cu StorageState

  • Problemă: Solicitarea de autentificare apare la fiecare rulare.

    • Soluție: Verificați dacă ați selectat Rămâneți conectat în timpul autentificării.
  • Problemă: Cannot access secure storage eroare.

    • Soluție: Asigurați-vă că aveți acces corespunzător la folderul profilului de utilizator.

Probleme frecvente legate de autentificare Dataverse

  • Problemă: Certificate not found eroare.

    • Soluție: Verificați dacă numele certificatului corespunde exact cu ceea ce se află în depozitul de certificate.
  • Problemă: Unable to connect to Dataverse eroare.

    • Soluție: Verificați dacă Azure CLI este conectat cu az login --allow-no-subscriptions.
  • Problemă: Access denied eroare cu principalul serviciului.

    • Soluție: Verificați dacă aplicația are permisiunile corecte în Dataverse și rolurile de securitate corespunzătoare.

Probleme frecvente cu PowerFx/Dataverse autentificare

  • Problemă: Unable to obtain access token eroare

    • Soluție: Verificați dacă sunteți conectat cu Azure CLI utilizând az account get-access-token
  • Problema: Access denied la Dataverse

    • Soluție: Asigurați-vă că utilizatorul conectat are permisiunile corespunzătoare în Dataverse mediu
  • Problemă: Expirarea token-ului în timpul testelor lungi

    • Soluție: Folosiți un principal de serviciu cu o perioadă de expirare mai lungă a token-ului sau gestionați reautentificarea în etapele de testare

Arhitectura de securitate a autentificării
Aplicații de testare pe pânză
Aplicații bazate pe modele de testare
Extensii de testare Dataverse