Deli putem


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

Belešku

Funkcije pregleda nisu namenjene za korišćenje u proizvodnji i mogu da imaju ograničene funkcionalnosti. Ove funkcije su dostupne pre zvaničnog objavljivanja kako bi klijenti mogli ranije da im pristupe i pruže povratne informacije.

Ovaj vodič pruža korak-po-korak uputstva za podešavanje autentifikacije u Test Engine. Za brzi pregled opcija za autentifikaciju, pogledajte Autentikacija u Test Engine-u.

Prvi koraci sa autentifikacijom

Test Engine podržava dve metode autentifikacije za veb-bazirane testove za aplikacije na platnu i modelu:

  • StorageState - Podrazumevano, jednostavno podešavanje za individualni razvoj (za veb-based canvas i testove aplikacija zasnovanih na modelu)
  • Dataverse - Timski pristup za deljenje testnih korisnika i CI / CD (za veb-based canvas i testove aplikacija zasnovanih na modelu)

Autentifikacija se drugačije obrađuje za PoverFk provajdera i direktne Dataverse testove. Ovi testovi dobijaju pristupne tokene direktno iz vaše prijavljene Azure CLI sesije koristeći az komande za dobijanje tokena za pristup resursima. Uverite se da ste prijavljeni pre az login --allow-no-subscriptions pokretanja ove vrste testova.

Brzo podešavanje: Autentifikacija StorageState

StorageState autentifikacija je najjednostavniji način za početak. Koristi Vindovs API za zaštitu podataka za bezbedno čuvanje tokena za autentifikaciju na lokalnoj mašini.

Korak KSNUMKS: Pokrenite test sa podrazumevanom autentifikacijom

Pokrenite sledeću PoverShell komandu zamenjujući parametre koji počinju sa your.

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

Belešku

Parametar pac test run se--user-auth ne koristi u ovom primeru jer je StorageState podrazumevani provajder. Možete ga uključiti ako želite.

Korak KSNUMKS: Popunite interaktivnu prijavu

Unesite akreditive vašeg testnog korisničkog naloga

  1. Prozor pretraživača se automatski otvara
  2. Prijavite se sa svojim testnim korisničkim nalogom
  3. Ako se to od vas zatraži, odobrite MFA i uputstva za saglasnost
  4. Izaberite "Ostanite prijavljeni" kada se to od vas zatraži

Vaša autentifikacija je sada sačuvana.

  • Test Engine bezbedno čuva vašu autentifikaciju
  • Budući testovi koriste sačuvano stanje bez potrebe za prijavljivanjem
  • Tokeni se automatski osvežavaju kada je to potrebno

Podešavanje tima: Dataverse autentifikacija

Dataverse autentifikacija je savršena za timove i CI / CD cevovode. Sigurno čuva autentifikovane korisničke države u Dataverse, šifrovane sa Ks.KSNUMKS sertifikatima.

Korak KSNUMKS: Preuzmite i uvezite rešenje Test Engine

  1. Preuzmite rešenje Power Platform sa. https://aka.ms/TestEngineAuth
  2. Prijavite se u Power Apps.
  3. Izaberite ciljno okruženje.
  4. Idi na rešenja i izaberite Uvoz rešenje.
  5. Pratite čarobnjaka da biste otpremili i instalirali rešenje Test Engine.

Korak KSNUMKS: Kreirajte sertifikat za šifrovanje

Za samopotpisani sertifikat (samo razvoj), pokrenite sledeću PoverShell skriptu:

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

Za proizvodnju, koristite sertifikat od vašeg preduzeća sertifikata.

Korak KSNUMKS: Podesite testnog korisnika

Završite sledeće korake da biste postavili testnog korisnika:

  1. Otvorite svoj terminal i odjavite se sa svih postojećih sesija:

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

    az login --allow-no-subscriptions
    
  3. Podesite ime sertifikata kao Promenljivu okruženja PoverShell pod nazivom DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Pokrenite test sa Dataverse autentifikacijom:

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

    Belešku

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

  5. Popunite interaktivno prijavljivanje kada se to od vas zatraži.

Podešavanje principala usluga (za CI / CD)

Za automatsko testiranje u CI / CD cevovodima, možete koristiti principe usluga umesto interaktivnih korisničkih naloga.

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

Završite sledeće korake da biste kreirali registraciju aplikacije u ID-u Microsoft Entra .

  1. Prijavite se u Microsoft Entra admin centar
  2. Idite na registracije aplikacija za aplikacije>
  3. Izaberite Nova registracija
  4. Unesite ime (na primer "Test Engine Automation")
  5. Držite podrazumevane opcije i izaberite Registruj se
  6. Nakon kreiranja, obratite pažnju na ID aplikacije (klijenta) i ID direktorijuma (stanara)

Korak KSNUMKS: Konfigurišite API dozvole za Dataverse

Završite sledeće korake da biste konfigurisali API dozvole za Dataverse.

  1. U registraciji aplikacije idite na API dozvole
  2. Izaberite Dodaj dozvolu
  3. Izaberite API-je koje moja organizacija koristi
  4. Potražite i izaberite Dataverse
  5. Izaberite Delegirane dozvole
  6. Proverite user_impersonation
  7. Izaberite Dodaj dozvole
  8. Izaberite Odobrite saglasnost administratora

Korak KSNUMKS: Kreirajte tajnu klijenta

Završite sledeće korake da biste kreirali tajnu klijenta.

  1. Idi na Sertifikati i tajne
  2. Izaberite novu tajnu klijenta
  3. Dodajte opis i izaberite istek
  4. Kopirajte tajnu vrednost odmah (niste u mogućnosti da je ponovo vidite)

Korak KSNUMKS: Dodajte korisnika aplikacije u Dataverse

Završite sledeće korake da biste dodali korisnika Dataverse aplikacije.

  1. Otvorite Power Platform Admin centar
  2. Izaberite okruženje
  3. Idi na Podešavanja>Korisnici + dozvole>Korisnici aplikacije
  4. Select + Novi korisnik aplikacije
  5. Potražite i izaberite svoju aplikaciju
  6. Dodelite odgovarajuću poslovnu jedinicu i sigurnosne uloge (uključite ulogu "Test Engine User")
  7. Sačuvajte promene

Korak KSNUMKS: Konfigurišite svoj CI / CD cevovod

Dodajte ove varijable u 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, sigurno ih čuvajte u promenljivim grupama sa odgovarajućim dozvolama.

PoverFk i direktna Dataverse autentifikacija testa

Za testove PoverFk provajdera i direktne Dataverse testove, autentifikacija funkcioniše drugačije nego za testove zasnovane na vebu.

Kako funkcioniše PoverFk /Dataverse autentifikacija

  1. Test Engine koristi Azure CLI za dobijanje pristupnog tokena specifičnog za resurse
  2. Token se koristi za autentifikaciju direktno sa Dataverse API-jima
  3. Nije uključen pretraživač ili veb-bazirana autentifikacija

Podešavanje PoverFk/Dataverse autentifikacije

  1. Uverite se da je Azure CLI instaliran i ažuran:

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

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Pokrenite test sa PoverFk provajderom:

    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"
    

Rešavanje problema sa autentifikacijom

Ovaj odeljak sadrži informacije o rešavanju problema autentifikacije pomoću Test Engine-a.

Uobičajeni problemi sa StorageState-om

  • Problem: Autentifikacija se pojavljuje na svakom trčanju.

    • Rešenje: Proverite da li ste izabrali Ostanite prijavljeni tokom prijavljivanja.
  • Problem: Cannot access secure storage greška.

    • Rešenje: Uverite se da imate odgovarajući pristup fascikli korisničkog profila.

Uobičajeni problemi sa autentifikacijom Dataverse

  • Problem: Certificate not found greška.

    • Rešenje: Proverite da li se ime sertifikata podudara tačno sa onim što je u vašoj prodavnici sertifikata.
  • Problem: Unable to connect to Dataverse greška.

    • Rešenje: Proverite da li je Azure CLI prijavljen sa az login --allow-no-subscriptions.
  • Problem: Access denied greška sa principalom usluge.

    • Rešenje: Proverite da li aplikacija ima ispravne dozvole i Dataverse odgovarajuće bezbednosne uloge.

Uobičajeni problemi sa PoverFk-om /Dataverse autentifikacijom

  • Problem: Unable to obtain access token greška

    • Rešenje: Proverite da li ste prijavljeni pomoću Azure CLI-a koristeći az account get-access-token
  • Problem: Access denied da Dataverse

    • Rešenje: Uverite se da vaš prijavljeni korisnik ima odgovarajuće dozvole u Dataverse okruženju
  • Problem: Istek tokena tokom dugih probnih radova

    • Rešenje: Koristite glavnicu usluge sa dužim istekom tokena ili rukovati ponovnom autentifikacijom u koracima testiranja

Autentifikacija bezbednosna arhitektura
Testirajte aplikacije platna
Testirajte aplikacije zasnovane na modelu
Ekstenzije testa Dataverse