Vodič za autentifikaciju za Power Apps Test Engine (zastarjelo)

Napomena

Test Engine je zastario i bit će uklonjen u budućem izdanju. Koristite Power Platform Playwright samples za mogućnosti automatizacije testiranja u Power Platformi i Dynamics 365 uslugama.

Ovaj vodič pruža detaljne upute za postavljanje provjere autentičnosti u Test Engineu. Brzi pregled mogućnosti provjere autentičnosti potražite u odjeljku Provjera autentičnosti u testnom modulu.

Početak provjere autentičnosti

Test Engine podržava dvije metode provjere autentičnosti za web-bazirane testove za aplikacije radnog područja i aplikacije utemeljene na modelu:

  • StorageState - zadano, jednostavno postavljanje za individualni razvoj (za web-bazirano radno područje i testove aplikacija utemeljenih na modelu)
  • Dataverse - Timski pristup za dijeljenje testnih korisnika i CI/CD-a (za web-bazirano platno i testove aplikacija utemeljenih na modelu)

Autentifikacija se drugačije obrađuje za PowerFx pružatelja usluga i izravne Dataverse testove. Ovi testovi dobivaju pristupne tokene izravno iz vaše prijavljene Azure CLI sesije koristeći az naredbe za dobivanje tokena za pristup resursima. Provjerite jeste li prijavljeni prije az login --allow-no-subscriptions pokretanja ovih vrsta testova.

Brzo postavljanje: provjera autentičnosti StorageState

Provjera autentičnosti StorageState najjednostavniji je način za početak. Koristi Windows Data Protection API za sigurno pohranjivanje autentifikacijskih tokena na vašem lokalnom računalu.

1. korak: pokrenite test sa zadanom provjerom autentičnosti

Pokrenite sljedeću naredbu PowerShell zamjenjujući parametre koji počinju s your.

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

Napomena

Parametar pac test run--user-auth ne koristi se u ovom primjeru jer je StorageState zadani davatelj usluga. Možete ga uključiti ako želite.

2. korak: dovršite interaktivnu prijavu

Unesite vjerodajnice testnog korisničkog računa

  1. Prozor preglednika otvara se automatski
  2. Prijavite se sa svojim testnim korisničkim računom
  3. Ako se to od vas zatraži, odobrite MFA i upite za pristanak
  4. Odaberite "Ostanite prijavljeni" kada se to od vas zatraži

Vaša je provjera autentičnosti sada spremljena.

  • Test Engine sigurno pohranjuje vašu autentifikaciju
  • Buduća probna izvođenja koriste spremljeno stanje bez potrebe za prijavom
  • Tokeni se automatski osvježavaju kada je to potrebno

Postavljanje tima: Dataverse provjera autentičnosti

Dataverse provjera autentičnosti savršena je za timove i CI/CD cjevovode. Sigurno pohranjuje autentificirana stanja Dataverse korisnika, šifrirana X.509 certifikatima.

Korak 1: Preuzmite i uvezite rješenje Test Engine

  1. Preuzmite Power Platform rješenje sa. https://aka.ms/TestEngineAuth
  2. Prijavite se na. Power Apps
  3. Odaberite ciljno okruženje.
  4. Idite na Rješenja i odaberite Uvoz rješenja .
  5. Slijedite čarobnjak da biste prenijeli i instalirali rješenje Test Engine.

Korak 2: Stvaranje certifikata za šifriranje

Za samopotpisani certifikat (samo razvoj) pokrenite ovu sljedeću PowerShell skriptu:

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

Za proizvodnju koristite certifikat ustanove za izdavanje certifikata tvrtke.

3. korak: postavite testnog korisnika

Poduzmite sljedeće korake da biste postavili testnog korisnika:

  1. Otvorite terminal i odjavite se iz postojećih sesija:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Prijavite se putem Azure CLI (potrebno za autentifikaciju u Dataverse):

    az login --allow-no-subscriptions
    
  3. Postavite naziv certifikata kao varijablu okruženja PowerShell pod nazivom DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Pokrenite test s provjerom Dataverse autentičnosti:

    pac test run `
       --provider canvas `
       --user-auth Dataverse `
       --auth Certstore `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id
    

    Napomena

    Za razliku od StorageState, u ovom slučaju morate koristiti --user-auth parametar s vrijednošću Dataverse.

  5. Dovršite interaktivnu prijavu kada se to od vas zatraži.

Postavljanje upravitelja usluge (za CI/CD)

Za automatizirano testiranje u CI/CD kanalima možete koristiti upravitelje usluge umjesto interaktivnih korisničkih računa.

Korak 1: Kreirajte registraciju aplikacije u Microsoft Entra ID-u

Dovršite sljedeće korake za kreiranje registracije aplikacije u Microsoft Entra ID-u.

  1. Prijavite se na Centar za administratore sustava Microsoft Entra
  2. Idite na Applications>App registrations
  3. Odaberite Nova registracija
  4. Unesite naziv (na primjer "Automatizacija testnog motora")
  5. Zadržite zadane opcije i odaberite Registriraj se
  6. Nakon stvaranja zabilježite ID aplikacije (klijenta) i ID direktorija (klijenta)

Korak 2: Konfigurirajte API dozvole za Dataverse

Dovršite sljedeće korake za konfiguriranje API dozvola Dataverse.

  1. U registraciji aplikacije idite na API dozvole
  2. Odaberite Dodaj dopuštenje
  3. Odabir API-ja koje koristi moja tvrtka ili ustanova
  4. Potražite i odaberite Dataverse
  5. Odaberite Delegirane dozvole
  6. Provjerite user_impersonation
  7. Odaberite Dodaj dozvole
  8. Odaberite Odobri pristanak administratora

3. korak: stvaranje tajne klijenta

Dovršite sljedeće korake da biste stvorili tajnu klijenta.

  1. Idite na Certifikati i tajne
  2. Odaberite Nova tajna klijenta
  3. Dodavanje opisa i odabir isteka
  4. Odmah kopirajte tajnu vrijednost (više je nećete moći vidjeti)

Korak 4: Dodajte korisnika aplikacije u Dataverse

Dovršite sljedeće korake da biste dodali korisnika Dataverse aplikacije.

  1. Otvorite centar za Power Platform administratore
  2. Odaberite svoje okruženje
  3. Idite na Postavke>Korisnici + dopuštenja>Korisnici aplikacije
  4. Odaberi + Novi korisnik aplikacije
  5. Potražite i odaberite svoju aplikaciju
  6. Dodijelite odgovarajuću poslovnu jedinicu i sigurnosne uloge (uključite ulogu "Korisnik testnog modula")
  7. Spremanje promjena

Korak 5: Konfigurirajte svoj CI/CD kanal

Dodajte ove varijable u svoj kanal:

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, sigurno ih pohranite u varijabilne grupe s odgovarajućim dozvolama.

PowerFx i izravna Dataverse provjera autentičnosti testiranja

Za testove davatelja usluga PowerFx i izravne Dataverse testove provjera autentičnosti funkcionira drugačije nego za testove temeljene na webu.

Kako funkcionira PowerFx/Dataverse autentifikacija

  1. Test Engine koristi Azure CLI za dobivanje pristupnog tokena specifičnog za resurs
  2. Token se koristi za izravnu autentifikaciju pomoću Dataverse API-ja
  3. Nije uključena provjera autentičnosti putem preglednika ili weba

Postavljanje PowerFx-a/Dataverse provjere autentičnosti

  1. Osigurajte da je Azure CLI instaliran i ažuriran:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Sign in with Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Pokrenite svoj test s PowerFx davateljem usluga:

    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"
    

Rješavanje problema s provjerom autentičnosti

Ovaj odjeljak sadrži informacije o otklanjanju poteškoća s provjerom autentičnosti pomoću Test Engine.

Uobičajeni problemi sa stanjem pohrane

  • Problem: Upit za provjeru autentičnosti pojavljuje se pri svakom pokretanju.

    • Rješenje: Provjerite jeste li odabrali Ostanite prijavljeni tijekom prijave.
  • Problem: Cannot access secure storage pogreška.

    • Rješenje: Provjerite imate li odgovarajući pristup mapi korisničkog profila.

Uobičajeni problemi s provjerom autentičnosti Dataverse

  • Problem: Certificate not found pogreška.

    • Rješenje: Provjerite odgovara li naziv certifikata točno onome što se nalazi u spremištu certifikata.
  • Problem: Unable to connect to Dataverse pogreška.

    • Solution: Provjerite je li Azure CLI prijavljen s az login --allow-no-subscriptions.
  • Problem: Access denied pogreška s upraviteljem usluge.

    • Rješenje: Provjerite ima li aplikacija ispravna dopuštenja i Dataverse odgovarajuće sigurnosne uloge.

Uobičajeni problemi s PowerFx-om/Dataverse autentifikacijom

  • Problem: Unable to obtain access token pogreška

    • Solution: Provjerite da ste prijavljeni s Azure CLI koristeći az account get-access-token
  • Problem: Access denied do Dataverse

    • Rješenje: Provjerite ima li prijavljeni korisnik odgovarajuće dozvole u Dataverse okruženju
  • Problem: istek tokena tijekom dugih probnih vožnji

    • Rješenje: upotrijebite upravitelja usluge s duljim istekom tokena ili rukujte ponovnom provjerom autentičnosti u testnim koracima

Sigurnosna arhitektura provjere autentičnosti
Testirajte aplikacije radnog područja
Testirajte aplikacije utemeljene na modelu
Testna Dataverse proširenja