Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Testmotorn är inaktuell och tas bort i en framtida version. Använd Power Platform Playwright-exempel för testautomatiseringsfunktioner i Power Platform och Dynamics 365 tjänster.
Den här guiden innehåller steg-för-steg-instruktioner för att ställa in autentisering i Test Engine. En snabb översikt över autentiseringsalternativ finns i Autentisering i testmotorn.
Komma igång med autentisering
Testmotorn har stöd för två autentiseringsmetoder för webbaserade tester för arbetsyteprogram och modellbaserade program:
- StorageState – Standard, enkel konfiguration för individuell utveckling (för webbaserad arbetsyta och modellbaserade apptester)
- Dataverse - Teambaserad metod för att dela testanvändare och CI/CD (för webbaserad arbetsyta och modellbaserade apptester)
Autentisering hanteras på olika sätt för PowerFx-providern och direkta Dataverse tester. De här testerna hämtar åtkomsttoken direkt från din inloggade Azure CLI-session med hjälp av az kommandon för att hämta resursåtkomsttoken. Se till att du är inloggad az login --allow-no-subscriptions innan du kör dessa typer av tester.
Snabbinställning: StorageState-autentisering
StorageState-autentisering är det enklaste sättet att komma igång. Den använder Windows-API:et för dataskydd för att lagra autentiseringstoken på din lokala dator på ett säkert sätt.
Steg 1: Kör testet med standardautentisering
Kör följande PowerShell-kommando och ersätt parametrarna från och med your.
pac test run `
--provider canvas `
--test-plan-file your-test-plan.yaml `
--tenant your-tenant-id `
--environment-id your-environment-id
Anmärkning
Parametern pac testkörning--user-auth används inte i det här exemplet eftersom standardprovidern är StorageState. Du kan inkludera det om du vill.
Steg 2: Slutför den interaktiva inloggningen
Ange autentiseringsuppgifterna för ditt testanvändarkonto
- Ett webbläsarfönster öppnas automatiskt
- Logga in med ditt testanvändarkonto
- Godkänn MFA- och medgivandepromptar om du blir ombedd.
- Välj "Fortsätt vara inloggad" när du uppmanas att göra det
Din autentisering är nu sparad.
- Testmotorn lagrar din autentisering på ett säkert sätt
- Framtida testkörningar använder det sparade tillståndet utan att kräva inloggning
- Token uppdateras automatiskt när det behövs
Teamkonfiguration: Dataverse-autentisering
Dataverse-autentisering är perfekt för team och CI/CD-pipelines. Den lagrar autentiserade användartillstånd på Dataverse ett säkert sätt, krypterade med X.509-certifikat.
Steg 1: Ladda ned och importera testmotorlösningen
- Power Platform Ladda ner lösningen från https://aka.ms/TestEngineAuth.
- Logga in på Power Apps.
- Välj din målmiljö.
- Gå till Lösningar och välj Importera lösning.
- Följ guiden för att ladda upp och installera testmotorlösningen.
Steg 2: Skapa ett certifikat för kryptering
För ett självsignerat certifikat (endast utveckling) kör du följande PowerShell-skript:
$Params = @{
DnsName = @("testengine", "testengine")
CertStoreLocation = "Cert:\CurrentUser\My"
NotAfter = (Get-Date).AddMonths(6)
KeyAlgorithm = "RSA"
KeyLength = 2048
}
New-SelfSignedCertificate @Params
För produktion använder du ett certifikat från företagets certifikatutfärdare.
Steg 3: Konfigurera testanvändaren
Utför följande steg för att konfigurera testanvändaren:
Öppna terminalen och logga ut från alla befintliga sessioner:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutLogga in med Azure CLI (krävs för Dataverse-autentisering):
az login --allow-no-subscriptionsAnge certifikatnamnet som en PowerShell-miljövariabel med
DataProtectionCertificateNamenamnet:$env:DataProtectionCertificateName = "CN=testengine"Kör testet med Dataverse autentisering:
pac test run ` --provider canvas ` --user-auth Dataverse ` --auth Certstore ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-idAnmärkning
Till skillnad från StorageState måste du i det här fallet använda
--user-authparametern med värdet .DataverseSlutför den interaktiva inloggningen när du uppmanas att göra det.
Konfigurera tjänstens huvudnamn (för CI/CD)
För automatiserad testning i CI/CD-pipelines kan du använda tjänstens huvudnamn i stället för interaktiva användarkonton.
Steg 1: Skapa en programregistrering i Microsoft Entra ID
Slutför följande steg för att skapa en programregistrering i Microsoft Entra ID.
- Logga in på Microsoft Entra administrationscentret
- Gå till Applications>App registrations
- Välj Ny registrering
- Ange ett namn (till exempel "Test Engine Automation")
- Behåll standardalternativen och välj Registrera
- Efter skapandet ska du notera App-ID (klient) och Katalog-ID (innehavare).
Steg 2: Konfigurera API-behörigheter för Dataverse
Utför följande steg för att konfigurera API-behörigheter för Dataverse.
- I programregistreringen går du till API-behörigheter
- Välj Lägg till en behörighet
- Välja API:er som min organisation använder
- Sök efter och välj Dataverse
- Välj Delegerade behörigheter
- Kontrollera user_impersonation
- Välj Lägg till behörigheter
- Välj Bevilja administratörsmedgivande
Steg 3: Skapa en klienthemlighet
Utför följande steg för att skapa en klienthemlighet.
- Gå till Certifikat och hemligheter
- Välj Ny klienthemlighet
- Lägga till en beskrivning och välja ett förfallodatum
- Kopiera det hemliga värdet omedelbart (du kan inte se det igen)
Steg 4: Lägg till programanvändaren i Dataverse
Utför följande steg för att lägga till programanvändaren i Dataverse.
- Öppna Power Platform Admin Center
- Välj din miljö
- Gå till Inställningar>Användare + behörigheter>Programanvändare
- Välj + Ny appanvändare
- Sök efter och välj ditt program
- Tilldela lämpliga affärsenhets- och säkerhetsroller (inkludera rollen "Testmotoranvändare")
- Spara ändringarna
Steg 5: Konfigurera din CI/CD-pipeline
Lägg till dessa variabler i din pipeline:
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)
För Azure DevOps lagrar du dessa på ett säkert sätt i Variable Groups med lämpliga behörigheter.
PowerFx och direkt Dataverse test-autentisering
För PowerFx-providertester och direkttester Dataverse fungerar autentisering annorlunda än för webbaserade tester.
Så här fungerar PowerFx/Dataverse autentisering
- Testmotorn använder Azure CLI för att hämta en resursspecifik åtkomsttoken
- Token används för att autentisera direkt med Dataverse API:er
- Ingen webbläsare eller webbaserad autentisering är inblandad
Konfigurera PowerFx/Dataverse autentisering
Kontrollera att Azure CLI är installerat och uppdaterat:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeLogga in med Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsKör testet med PowerFx-providern:
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"
Felsökning av autentisering
Det här avsnittet innehåller information om hur du felsöker autentisering med testmotorn.
Vanliga problem med StorageState
Problem: Autentiseringsprompten visas vid varje körning.
- Lösning: Kontrollera om du valde Förbli inloggad under inloggningen.
Problem:
Cannot access secure storagefel.- Lösning: Se till att du har rätt åtkomst till din användarprofilmapp.
Vanliga problem med Dataverse autentisering
Problem:
Certificate not foundfel.- Lösning: Kontrollera att certifikatnamnet matchar exakt det som finns i certifikatarkivet.
Problem:
Unable to connect to Dataversefel.-
Lösning: Kontrollera att Azure CLI är inloggat med
az login --allow-no-subscriptions.
-
Lösning: Kontrollera att Azure CLI är inloggat med
Problem:
Access deniedfel med tjänstens huvudkonto.- Lösning: Kontrollera att appen har rätt behörigheter i Dataverse och lämpliga säkerhetsroller.
Vanliga problem med PowerFx/Dataverse autentisering
Problem:
Unable to obtain access tokenfelmeddelande-
Lösning: Kontrollera att du är inloggad med Azure CLI med hjälp av
az account get-access-token
-
Lösning: Kontrollera att du är inloggad med Azure CLI med hjälp av
Problem:
Access deniedtill Dataverse- Lösning: Se till att den inloggade användaren har rätt behörigheter i Dataverse miljön
Problem: Tokenutgång vid långa testkörningar
- Lösning: Använd en tjänsteprincip med en token med längre giltighetstid eller återautentisera under teststeg
Relaterade artiklar
Säkerhetsarkitektur för autentisering
Testa canvas-applikationer
Testa modellbaserade program
Testa Dataverse tillägg