Jagamisviis:


Test Engine’i Power Apps autentimisjuhend (eelvaade)

Märkus.

Eelvaatefunktsioonid ei ole mõeldud kasutamiseks tootmises ja nende funktsioonid võivad olla piiratud. Need funktsioonid on saadaval enne ametlikku väljastamist, et kliendid saaksid sellele varakult juurdepääsu ja võiksid tagasisidet anda.

See juhend annab samm-sammult juhised autentimise seadistamiseks Test Engine’is. Autentimissuvandite kiire ülevaate saamiseks vaadake jaotist Autentimine testmootoris.

Autentimise alustamine

Test Engine toetab lõuendi- ja mudelipõhiste rakenduste veebipõhiste testide jaoks kahte autentimismeetodit.

  • StorageState – vaikimisi lihtne häälestus individuaalseks arenduseks (veebipõhise lõuendi ja mudelipõhise rakenduse testide jaoks)
  • Dataverse - Meeskonnapõhine lähenemine testkasutajate ja CI/CD jagamiseks (veebipõhiste lõuendi- ja mudelipõhiste rakenduste testide jaoks)

Autentimist käsitletakse PowerFxi pakkuja ja otsetestide Dataverse puhul erinevalt. Need testid hangivad juurdepääsulubasid otse teie sisselogitud Azure CLI seansist, kasutades az ressursside juurdepääsulubade hankimiseks käske. Enne seda tüüpi testide käivitamist veenduge, et oleksite sisse az login --allow-no-subscriptions logitud.

Kiirhäälestus: StorageState’i autentimine

StorageState’i autentimine on lihtsaim viis alustamiseks. See kasutab Windowsi andmekaitse API-d, et turvaliselt talletada autentimislubasid teie kohalikus arvutis.

1. toiming: käivitage test vaikeautentimisega

Käivitage järgmine PowerShelli käsk, asendades parameetrid, mis algavad tähega your.

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

Märkus.

Selles näites ei kasutata pac-testi käitamise--user-auth parameetrit, kuna see on StorageState vaikepakkuja. Soovi korral saate selle lisada.

2. etapp: viige interaktiivne sisselogimine lõpule

Sisestage oma testkasutajakonto mandaat

  1. Brauseriaken avaneb automaatselt
  2. Logige sisse oma testkasutajakontoga
  3. Kui küsitakse, kinnitage MFA ja nõusoleku viibad
  4. Valige "Jää sisselogituks", kui seda küsitakse

Teie autentimine on nüüd salvestatud.

  • Test Engine salvestab teie autentimise turvaliselt
  • Tulevased testkäivitused kasutavad salvestatud olekut ilma sisselogimist nõudmata
  • Tokeneid värskendatakse vajadusel automaatselt

Meeskonna häälestus: Dataverse autentimine

Dataverse autentimine sobib suurepäraselt meeskondadele ja CI/CD torujuhtmetele. See salvestab turvaliselt autenditud kasutaja olekud Dataverse, mis on krüpteeritud X.509 sertifikaatidega.

1. etapp: laadige alla ja importige Test Engine’i lahendus

  1. Laadige Power Platform lahendus alla aadressilt https://aka.ms/TestEngineAuth.
  2. Logige sisse rakendusse Power Apps.
  3. Valige oma sihtkeskkond.
  4. Minge jaotisse Lahendused ja valige Impordi lahendus.
  5. Järgige Test Engine’i lahenduse üleslaadimiseks ja installimiseks viisardit.

2. toiming: krüptimiseks sertifikaadi loomine

Iseallkirjastatud serdi (ainult arendus) puhul käivitage see järgmise PowerShelli skriptiga.

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

Tootmise jaoks kasutage oma ettevõtte sertimiskeskuse sertifikaati.

3. toiming: testkasutaja häälestamine

Testkasutaja seadistamiseks tehke järgmist.

  1. Avage terminal ja logige olemasolevatest seanssidest välja.

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Logige sisse Azure CLI-ga (vajalik Dataverse autentimiseks):

    az login --allow-no-subscriptions
    
  3. Määrake oma serdi nimi PowerShelli keskkonnamuutujaks nimega DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Käivitage test autentimisega 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
    

    Märkus.

    Erinevalt StorageState’ist peate sel juhul kasutama parameetrit --user-auth väärtusega . Dataverse

  5. Viige interaktiivne sisselogimine lõpule, kui seda küsitakse.

Teenuse subjektide seadistamine (CI/CD jaoks)

CI/CD konveierite automatiseeritud testimiseks saate interaktiivsete kasutajakontode asemel kasutada teenuse subjeene.

1. etapp: rakenduse registreerimise loomine ID-s Microsoft Entra

Rakenduse registreerimise loomiseks ID-s Microsoft Entra tehke järgmist.

  1. Logige sisse Microsoft Entra halduskeskusesse
  2. Rakenduste rakenduste registreerimiste navigeerimine >
  3. Valige Uus registreerimine
  4. Sisestage nimi (näiteks "Test Engine Automation")
  5. Säilitage vaikesuvandid ja valige Registreeri
  6. Pärast loomist märkige üles rakenduse (kliendi) ID ja kataloogi (rentniku) ID

2. etapp: API õiguste konfigureerimine Dataverse

API õiguste konfigureerimiseks tehke järgmist Dataverse.

  1. Avage oma rakenduse registreerimisel API õigused
  2. Valige Lisa luba
  3. Minu organisatsiooni kasutatavate API-de valimine
  4. Otsige ja valige Dataverse
  5. Valige Delegeeritud õigused
  6. Kontrollige user_impersonation
  7. Valige Lisa õigused
  8. Valige Administraatori nõusoleku andmine

3. samm: looge kliendi saladus

Kliendi saladuse loomiseks tehke järgmist.

  1. Avage Serdid ja saladused
  2. Valige Uus kliendi saladus
  3. Kirjelduse lisamine ja aegumise valimine
  4. Kopeerige salajane väärtus kohe (te ei näe seda enam)

4. samm: lisage rakenduse kasutaja Dataverse

Rakenduse kasutaja Dataverse lisamiseks tehke järgmist.

  1. Avage Power Platform halduskeskus
  2. Valige oma keskkond
  3. Avage Sätted >Kasutajad + õigused>Rakenduse kasutajad
  4. Vali+ Uus rakenduse kasutaja
  5. Otsige ja valige oma rakendus
  6. Määrake sobivad äriüksuse ja turberollid (sealhulgas roll "Testmootori kasutaja")
  7. Muudatuste salvestamine

5. etapp: CI/CD konveieri konfigureerimine

Lisage oma müügitorusse järgmised muutujad.

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)

Sest Azure DevOps salvestage need turvaliselt muutujarühmadesse vastavate õigustega.

PowerFx ja otsetesti Dataverse autentimine

PowerFx-i pakkuja testide ja otsetestide Dataverse puhul toimib autentimine teisiti kui veebipõhiste testide puhul.

Kuidas PowerFx/autentimine töötab?Dataverse

  1. Test Engine kasutab ressursipõhise juurdepääsutõendi hankimiseks Azure CLI-d
  2. Tõendit kasutatakse otse Dataverse API-dega autentimiseks
  3. Brauserit ega veebipõhist autentimist pole vaja

PowerFx-i/Dataverse autentimise seadistamine

  1. Veenduge, et Azure CLI oleks installitud ja ajakohane.

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Logige sisse Azure CLI-ga:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Käivitage test PowerFxi pakkujaga.

    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"
    

Autentimise tõrkeotsing

See jaotis sisaldab teavet testimismootoriga autentimise tõrkeotsingu kohta.

Levinud probleemid StorageState’iga

  • Probleem: Autentimisviip kuvatakse igal käitamisel.

    • Lahendus: Kontrollige, kas valisite sisselogimise ajal valiku Jää sisselogituks .
  • Probleem: Cannot access secure storage viga.

    • Lahendus: Veenduge, et teil on oma kasutajaprofiili kaustale sobiv juurdepääs.

Levinud probleemid autentimisega Dataverse

  • Probleem: Certificate not found viga.

    • Lahendus: Veenduge, et serdi nimi ühtiks täpselt teie serdisalves olevaga.
  • Probleem: Unable to connect to Dataverse viga.

    • Lahendus: kontrollige, kas Azure CLI on sisse az login --allow-no-subscriptions logitud.
  • Probleem: Access denied teenuse peanime viga.

    • Lahendus: veenduge, et rakendusel on õiged õigused Dataverse ja sobivad turberollid.

PowerFx/Dataverse autentimise levinud probleemid

  • Probleem: Unable to obtain access token viga

    • Lahendus: Veenduge, et olete Azure CLI-ga sisse logitud, kasutades az account get-access-token
  • Probleem: Access denied kuni Dataverse

    • Lahendus: Veenduge, et teie sisselogitud kasutajal oleksid keskkonnas Dataverse vastavad õigused
  • Probleem: Märgi aegumine pikkade testide ajal

    • Lahendus: Kasutage pikema tokeni aegumistähtajaga teenusepõhimõtet või käsitlege uuesti autentimist testimisetappides

Autentimise turvalisuse arhitektuur
Lõuendi rakenduste testimine
Testi mudelipõhiseid rakendusi
Testi Dataverse laiendused