Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Notat
Testmotoren er avskrevet og vil bli fjernet i en fremtidig versjon. Bruk eksempler på Power Platform Playwright for testautomasjonsfunksjoner i Power Platform og Dynamics 365 tjenester.
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 API-en Windows databeskyttelse til sikker lagring av godkjenningstokener 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
- Et nettleservindu åpnes automatisk
- Logg inn med testbrukerkontoen din
- Hvis du blir bedt om det, godkjenner du MFA og samtykkeforespørsler
- 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-pipelines. Den lagrer autentiserte brukertilstander på en sikker måte Dataverse, kryptert med X.509-sertifikater.
Trinn 1: Last ned og importer testmotorløsningen
- Last ned Power Platform løsningen fra https://aka.ms/TestEngineAuth.
- Logg på Power Apps.
- Velg målmiljøet.
- Gå til Løsninger , og velg Importer løsning.
- 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:
Åpne terminalen og logg av alle eksisterende økter:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutLogg på med Azure CLI (kreves for datavers godkjenning):
az login --allow-no-subscriptionsAngi sertifikatnavnet som en PowerShell-miljøvariabel med navnet
DataProtectionCertificateName:$env:DataProtectionCertificateName = "CN=testengine"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-idNotat
I motsetning til StorageState må du i dette tilfellet bruke parameteren
--user-authmed verdien påDataverse.Fullfør den interaktive påloggingen når du blir bedt om det.
Opprette tjenesteprinsipper (for CI/CD)
For automatisert testing i CI/CD-datasamlebånd kan du bruke tjenestekontohavere i stedet for interaktive brukerkontoer.
Trinn 1: Opprette en programregistrering i Microsoft Entra ID
Fullfør følgende fremgangsmåte for å opprette en programregistrering i Microsoft Entra ID.
- Logg på Microsoft Entra administrasjonssenter
- Gå til Applications>App registrations
- Velg Ny registrering
- Skriv inn et navn (for eksempel "Test Engine Automation")
- Behold standardalternativene og velg Registrer
- 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.
- I programregistreringen går du til API-tillatelser
- Velg Legg til en tillatelse
- Velg API-er som organisasjonen min bruker
- Søk etter og velg Dataverse
- Velg Delegerte tillatelser
- Sjekk user_impersonation
- Velg Legg til tillatelser
- Velg Gi administratorsamtykke
Trinn 3: Opprette en klienthemmelighet
Fullfør trinnene nedenfor for å opprette en klienthemmelighet.
- Gå til Sertifikater og hemmeligheter
- Velg Ny klienthemmelighet
- Legg til en beskrivelse og velg en utløpsdato
- 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.
- Åpne administrasjonssenteret Power Platform
- Velg miljøet ditt
- Gå til Innstillinger>Brukere + tillatelser>Applikasjonsbrukere
- Plukke ut + Ny appbruker
- Søk etter og velg din applikasjon
- Tilordne riktige forretningsenhets- og sikkerhetsroller (inkluder rollen "Testmotorbruker")
- 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 lagrer du disse på en sikker måte i Variable groups med riktige 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
- Testmotor bruker Azure CLI for å få et ressurssspesifikk tilgangstoken
- Tokenet brukes til å godkjenne direkte med Dataverse API-er
- Ingen nettleser eller nettbasert autentisering er involvert
Sette opp PowerFx/Dataverse autentisering
Kontroller at Azure CLI er installert og oppdatert:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeLogg på med Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsKjø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 storagefeil.- Løsning: Sørg for at du har riktig tilgang til brukerprofilmappen.
Vanlige problemer med Dataverse godkjenning
Problem:
Certificate not foundfeil.- Løsning: Kontroller at sertifikatnavnet samsvarer nøyaktig med det som er i sertifikatlageret.
Problem:
Unable to connect to Dataversefeil.-
Solution: Kontroller at Azure CLI er logget på med
az login --allow-no-subscriptions.
-
Solution: Kontroller at Azure CLI er logget på med
Problem:
Access deniedfeil med tjenesteprinsipal.- Løsning: Kontroller at appen har riktige tillatelser i Dataverse og riktige sikkerhetsroller.
Vanlige problemer med PowerFx/Dataverse godkjenning
Problem:
Unable to obtain access tokenfeil-
Solution: Kontroller at du er logget på med Azure CLI ved hjelp av
az account get-access-token
-
Solution: Kontroller at du er logget på med Azure CLI ved hjelp av
Problem:
Access deniedtil 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
Relaterte artikler
Sikkerhetsarkitektur for godkjenning
Test canvas-applikasjoner
Test modelldrevne applikasjoner
Test Dataverse utvidelser