Del via


Godkjenningsveiledning for Power Apps testmotor (forhåndsversjon)

Notat

Forhåndsversjonsfunksjonene er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er tilgjengelige før en offisiell utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemeldinger.

Denne veiledningen gir trinnvise instruksjoner for å sette opp autentisering i Test Engine. Hvis du vil ha en rask oversikt over godkjenningsalternativer, kan du se Godkjenning i testmotoren.

Komme i gang med godkjenning

Testmotoren støtter to godkjenningsmetoder for nettbaserte tester for lerrets- og modelldrevne programmer:

  • StorageState – Standard, enkelt oppsett for individuell utvikling (for nettbaserte lerrets- og modelldrevne apptester)
  • Dataverse - Teambasert tilnærming for deling av testbrukere og CI/CD (for nettbaserte lerrets- og modelldrevne apptester)

Godkjenning håndteres annerledes for PowerFx-leverandør og direkte Dataverse tester. Disse testene henter tilgangstokener direkte fra den påloggede Azure CLI-økten ved hjelp av az kommandoer for å få ressurstilgangstokener. Sørg for at du er logget på az login --allow-no-subscriptions før du kjører denne typen tester.

Hurtigoppsett: StorageState-godkjenning

StorageState-godkjenning er den enkleste måten å komme i gang på. Den bruker Windows Data Protection API til å lagre godkjenningstokener på en sikker måte på den lokale maskinen.

Trinn 1: Kjør testen med standard godkjenning

Kjør følgende PowerShell-kommando og erstatt parametrene som starter med your.

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

Notat

Parameteren for pac-testkjøring--user-auth brukes ikke i dette eksemplet fordi standardleverandøren er det StorageState. Du kan inkludere det hvis du ønsker det.

Trinn 2: Fullfør den interaktive påloggingen

Angi legitimasjonen for testbrukerkontoen din

  1. Et nettleservindu åpnes automatisk
  2. Logg inn med testbrukerkontoen din
  3. Hvis du blir bedt om det, godkjenner du MFA og samtykkeforespørsler
  4. Velg "Forbli pålogget" når du blir bedt om det

Autentiseringen din er nå lagret.

  • Test Engine lagrer autentiseringen din på en sikker måte
  • Fremtidige testkjøringer bruker den lagrede tilstanden uten å kreve pålogging
  • Tokener oppdateres automatisk ved behov

Teamoppsett: Dataverse autentisering

Dataverse autentisering er perfekt for team og CI/CD-datasamlebånd. Den lagrer autentiserte brukertilstander på en sikker måte Dataverse, kryptert med X.509-sertifikater.

Trinn 1: Last ned og importer testmotorløsningen

  1. Last ned Power Platform løsningen fra https://aka.ms/TestEngineAuth.
  2. Logg på Power Apps.
  3. Velg målmiljøet.
  4. Gå til Løsninger , og velg Importer løsning.
  5. Følg veiviseren for å laste opp og installere Test Engine-løsningen.

Trinn 2: Opprett et sertifikat for kryptering

For et selvsignert sertifikat (bare utvikling) kjører du følgende PowerShell-skript:

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

For produksjon bruker du et sertifikat fra virksomhetens sertifiseringsinstans.

Trinn 3: Konfigurer testbrukeren

Fullfør følgende trinn for å konfigurere testbrukeren:

  1. Åpne terminalen og logg av alle eksisterende økter:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Logg på med Azure CLI (kreves for Dataverse godkjenning):

    az login --allow-no-subscriptions
    
  3. Angi sertifikatnavnet som en PowerShell-miljøvariabel med navnet DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Kjør testen med Dataverse godkjenning:

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

    Notat

    I motsetning til StorageState må du i dette tilfellet bruke parameteren --user-auth med verdien på Dataverse.

  5. Fullfør den interaktive påloggingen når du blir bedt om det.

Definere tjenestekontohavere (for CI/CD)

For automatisert testing i CI/CD-datasamlebånd kan du bruke tjenestekontohavere i stedet for interaktive brukerkontoer.

Trinn 1: Opprett en programregistrering i Microsoft Entra ID

Fullfør følgende trinn for å opprette en programregistrering i Microsoft Entra ID.

  1. Logg på administrasjonssenteret Microsoft Entra
  2. Naviger til applikasjonsappregistreringer>
  3. Velg Ny registrering
  4. Skriv inn et navn (for eksempel "Test Engine Automation")
  5. Behold standardalternativene og velg Registrer
  6. Etter opprettelsen noterer du program-ID (klient) og katalog-ID (leier) ID

Trinn 2: Konfigurere API-tillatelser for Dataverse

Fullfør følgende trinn for å konfigurere API-tillatelser for Dataverse.

  1. I programregistreringen går du til API-tillatelser
  2. Velg Legg til en tillatelse
  3. Velg API-er som organisasjonen min bruker
  4. Søk etter og velg Dataverse
  5. Velg Delegerte tillatelser
  6. Sjekk user_impersonation
  7. Velg Legg til tillatelser
  8. Velg Gi administratorsamtykke

Trinn 3: Opprette en klienthemmelighet

Fullfør trinnene nedenfor for å opprette en klienthemmelighet.

  1. Gå til Sertifikater og hemmeligheter
  2. Velg Ny klienthemmelighet
  3. Legg til en beskrivelse og velg en utløpsdato
  4. Kopier den hemmelige verdien umiddelbart (du kan ikke se den igjen)

Trinn 4: Legg til applikasjonsbrukeren i Dataverse

Fullfør følgende trinn for å legge til programbrukeren i Dataverse.

  1. Åpne administrasjonssenteret Power Platform
  2. Velg miljøet ditt
  3. Gå til Innstillinger>Brukere + tillatelser>Applikasjonsbrukere
  4. Plukke ut + Ny appbruker
  5. Søk etter og velg din applikasjon
  6. Tilordne riktige forretningsenhets- og sikkerhetsroller (inkluder rollen "Testmotorbruker")
  7. Lagre endringene

Trinn 5: Konfigurer CI/CD-pipelinen

Legg til disse variablene i datasamlebåndet:

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)

For Azure DevOps lagre disse sikkert i variabelgrupper med passende tillatelser.

PowerFx og direkte Dataverse testgodkjenning

For PowerFx-leverandørtester og direkte Dataverse tester fungerer godkjenning annerledes enn for nettbaserte tester.

Slik fungerer PowerFx/Dataverse autentisering

  1. Test Engine bruker Azure CLI til å hente et ressursspesifikt tilgangstoken
  2. Tokenet brukes til å godkjenne direkte med Dataverse API-er
  3. Ingen nettleser eller nettbasert autentisering er involvert

Sette opp PowerFx/Dataverse autentisering

  1. Sørg for at Azure CLI er installert og oppdatert:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Logg på med Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Kjør testen med PowerFx-leverandøren:

    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"
    

Feilsøking av autentisering

Denne delen inneholder informasjon om feilsøking av godkjenning med testmotor.

Vanlige problemer med StorageState

  • Problem: Godkjenningsmelding vises ved hver kjøring.

    • Løsning: Sjekk om du valgte Forbli pålogget under pålogging.
  • Problem: Cannot access secure storage feil.

    • Løsning: Sørg for at du har riktig tilgang til brukerprofilmappen.

Vanlige problemer med Dataverse godkjenning

  • Problem: Certificate not found feil.

    • Løsning: Kontroller at sertifikatnavnet samsvarer nøyaktig med det som er i sertifikatlageret.
  • Problem: Unable to connect to Dataverse feil.

    • Løsning: Kontroller at Azure CLI er logget på med az login --allow-no-subscriptions.
  • Problem: Access denied feil med tjenestekontohaver.

    • Løsning: Kontroller at appen har riktige tillatelser i Dataverse og riktige sikkerhetsroller.

Vanlige problemer med PowerFx/Dataverse godkjenning

  • Problem: Unable to obtain access token feil

    • Løsning: Kontroller at du er logget på med Azure CLI ved hjelp av az account get-access-token
  • Problem: Access denied til Dataverse

    • Løsning: Kontroller at den påloggede brukeren har riktige tillatelser i Dataverse miljøet
  • Problem: Tokenutløp under lange testkjøringer

    • Løsning: Bruk en tjenestekontohaver med lengre tokenutløp, eller håndter ny godkjenning i testtrinn

Sikkerhetsarkitektur for godkjenning
Test lerretsapplikasjoner
Test modelldrevne applikasjoner
Test Dataverse utvidelser