Vodič za avtentikacijo za Power Apps Test Engine (zastarel)

opomba,

Test Engine je zastarel in bo odstranjen v prihodnji izdaji. Uporabite Power Platform Playwright vzorce za zmogljivosti avtomatizacije testiranja v Power Platform in Dynamics 365 storitvah.

Ta priročnik vsebuje navodila po korakih za nastavitev preverjanja pristnosti v programu Test Engine. Za hiter pregled možnosti preverjanja pristnosti glejte Preverjanje pristnosti v testnem mehanizmu.

Uvod v preverjanje pristnosti

Test Engine podpira dva načina preverjanja pristnosti za spletne teste za aplikacije, ki temeljijo na platnu in modelih:

  • StorageState - Privzeta, enostavna nastavitev za individualni razvoj (za spletno platno in testiranje aplikacij, ki jih poganja model)
  • Dataverse - Timski pristop za skupno rabo uporabnikov testov in CI/CD (za spletno platno in modelno vodene teste aplikacij)

Preverjanje pristnosti se za ponudnike PowerFx in neposredne teste obravnava drugače. Dataverse Ti testi pridobijo dostopne žetone neposredno iz vaše prijavljene Azure CLI seje z uporabo ukazov az za pridobitev žetonov dostopa do virov. Preden začnete s temi testi, se prepričajte, da ste prijavljeni z az login --allow-no-subscriptions .

Hitra namestitev: preverjanje pristnosti StorageState

Preverjanje pristnosti StorageState je najpreprostejši način za začetek. Uporablja Windows Data Protection API za varno shranjevanje avtentikacijskih žetonov na vašem lokalnem računalniku.

1. korak: Zaženite test s privzeto overitvijo

Zaženite naslednji ukaz PowerShell in zamenjajte parametre, ki se začnejo z your.

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

opomba,

Parameter pac test run--user-auth v tem primeru ni uporabljen, ker je privzeti ponudnik StorageState. Lahko ga vključite, če želite.

2. korak: Dokončajte interaktivno prijavo

Vnesite poverilnice za testni uporabniški račun

  1. Okno brskalnika se odpre samodejno
  2. Prijavite se s svojim testnim uporabniškim računom
  3. Če je potrebno, odobrite MFA in pozive za soglasje
  4. Ko boste pozvani, izberite »Ostani prijavljen«

Vaša avtentikacija je zdaj shranjena.

  • Test Engine varno shrani vašo avtentikacijo
  • Prihodnji preizkusi bodo uporabili shranjeno stanje brez potrebe po prijavi.
  • Žetoni se samodejno osvežijo, ko je to potrebno

Nastavitev ekipe: Dataverse avtentikacija

Dataverse Preverjanje pristnosti je idealno za ekipe in cevovode CI/CD. Varno shranjuje overjena uporabniška stanja v Dataverse, šifrirana s certifikati X.509.

1. korak: Prenesite in uvozite rešitev Test Engine

  1. Prenesite rešitev z spletne strani Power Platform . https://aka.ms/TestEngineAuth
  2. Prijavite se v Power Apps.
  3. Izberite svoje ciljno okolje.
  4. Pojdite na Rešitve in izberite Uvozi rešitev.
  5. Sledite čarovniku za nalaganje in namestitev rešitve Test Engine.

2. korak: Ustvarite potrdilo za šifriranje

Za samopodpisano potrdilo (samo za razvoj) zaženite naslednji skript PowerShell:

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

Za produkcijo uporabite potrdilo overitelja potrdil vašega podjetja.

3. korak: Nastavite testnega uporabnika

Za nastavitev testnega uporabnika sledite naslednjim korakom:

  1. Odprite terminal in se odjavite iz vseh obstoječih sej:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Prijava z Azure CLI (potrebno za avtentikacijo Dataverse):

    az login --allow-no-subscriptions
    
  3. Nastavite ime svojega potrdila kot spremenljivko okolja PowerShell z imenom DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Zaženite test z overjanjem: 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
    

    opomba,

    Za razliko od parameter StorageState morate v tem primeru uporabiti parameter --user-auth z vrednostjo Dataverse.

  5. Ko boste pozvani, dokončajte interaktivno prijavo.

Nastavitev principalov storitev (za CI/CD)

Za avtomatizirano testiranje v cevovodih CI/CD lahko namesto interaktivnih uporabniških računov uporabite principale storitev.

1. korak: Ustvarite registracijo aplikacije v Microsoft Entra ID

Izpolnite naslednje korake za ustvarjanje registracije aplikacije v Microsoft Entra ID.

  1. Prijavite se v Skrbniško središče Microsoft Entra
  2. Pojdite na Applications>App registrations
  3. Izberite Nova registracija
  4. Vnesite ime (na primer »Avtomatizacija testnega mehanizma«)
  5. Obdržite privzete možnosti in izberite Registriraj se
  6. Po ustvarjanju si zabeležite ID aplikacije (odjemalca) in ID imenika (najemnika)

2. korak: Konfigurirajte dovoljenja API-ja za Dataverse

Za konfiguracijo dovoljenj API-ja sledite naslednjim korakom Dataverse.

  1. Pri registraciji aplikacije pojdite na Dovoljenja API-ja
  2. Izberite Dodaj dovoljenje
  3. Izberite API-je, ki jih uporablja moja organizacija
  4. Išči in izberi Dataverse
  5. Izberite Prenesena dovoljenja
  6. Preveri user_impersonation
  7. Izberite Dodaj dovoljenja
  8. Izberite Dovoli skrbniku soglasje

3. korak: Ustvarite skrivnost odjemalca

Za ustvarjanje skrivnosti odjemalca sledite naslednjim korakom.

  1. Pojdite na Potrdila in skrivnosti
  2. Izberite Nova skrivnost odjemalca
  3. Dodajte opis in izberite rok veljavnosti
  4. Takoj kopirajte skrivno vrednost (ne boste je mogli več videti)

4. korak: Dodajte uporabnika aplikacije v Dataverse

Za dodajanje uporabnika aplikacije v Dataverse sledite naslednjim korakom.

  1. Odprite skrbniški center Power Platform
  2. Izberite okolje
  3. Pojdite v Nastavitve>Uporabniki + dovoljenja>Uporabniki aplikacije
  4. Izberite + Nov uporabnik aplikacije
  5. Poiščite in izberite svojo aplikacijo
  6. Dodelite ustrezne poslovne enote in varnostne vloge (vključno z vlogo »Uporabnik testnega mehanizma«)
  7. Shranjevanje sprememb

5. korak: Konfigurirajte svoj cevovod CI/CD

Dodajte te spremenljivke v svoj cevovod:

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)

Za Azure DevOps jih varno shranite v Variable Groups z ustreznimi dovoljenji.

PowerFx in neposredno Dataverse testno preverjanje pristnosti

Za teste ponudnikov PowerFx in neposredne teste preverjanje pristnosti deluje drugače kot za spletne teste. Dataverse

Kako deluje overjanje PowerFx/Dataverse

  1. Test Engine uporablja Azure CLI za pridobitev dostopnega žetona, specifičnega za vir
  2. Žeton se uporablja za neposredno overjanje z API-ji Dataverse
  3. Ni vključeno nobeno preverjanje pristnosti v brskalniku ali na spletu

Nastavitev overjanja PowerFx/Dataverse

  1. Poskrbite, da je Azure CLI nameščen in posodobljen:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Prijavite se z Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Izvedite test s ponudnikom 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"
    

Odpravljanje težav pri preverjanju pristnosti

Ta razdelek vsebuje informacije o odpravljanju težav pri preverjanju pristnosti s testnim mehanizmom.

Pogoste težave s StorageState

  • Težava: Poziv za preverjanje pristnosti se prikaže pri vsakem zagonu.

    • Rešitev: Preverite, ali ste med prijavo izbrali možnost Ostani prijavljen .
  • Težava: Cannot access secure storage napaka.

    • Rešitev: Zagotovite ustrezen dostop do mape uporabniškega profila.

Pogoste težave z overjanjem Dataverse

  • Težava: Certificate not found napaka.

    • Rešitev: Preverite, ali se ime potrdila natančno ujema z imenom v vaši shrambi potrdil.
  • Težava: Unable to connect to Dataverse napaka.

    • Solution: Preverite, da je Azure CLI prijavljen z az login --allow-no-subscriptions.
  • Težava: Access denied napaka z glavnim strežnikom storitve.

    • Rešitev: Preverite, ali ima aplikacija pravilna dovoljenja v Dataverse in ustrezne varnostne vloge.

Pogoste težave z overjanjem PowerFx/Dataverse

  • Težava: Unable to obtain access token napaka

    • Rešitev: Preverite, da ste prijavljeni z Azure CLI preko az account get-access-token
  • Težava: Access denied za Dataverse

    • Rešitev: Zagotovite, da ima prijavljeni uporabnik ustrezna dovoljenja v okolju Dataverse
  • Težava: Poteče žeton med dolgimi testnimi izvedbami

    • Rešitev: Uporabite principala storitve z daljšim potekom žetona ali pa v testnih korakih obravnavajte ponovno overjanje.

Arhitektura varnostne avtentikacije
Testne aplikacije za platno
Testiranje aplikacij, ki jih poganja model
Preizkusite razširitve Dataverse