Not
Å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.
Obs
Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.
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 Data Protection-API:et för att lagra autentiseringstoken på ett säkert sätt på den lokala datorn.
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
Obs
Parametern pac testkörning--user-auth används inte i det här exemplet eftersom standardprovidern är det 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 medgivande om du uppmanas till det
- 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-idObs
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
Utför följande steg för att skapa en programregistrering i Microsoft Entra ID.
- Logga in på Microsoft Entra administrationscentret
- Gå till Appregistreringar för program>
- Välj Ny registrering
- Ange ett namn (till exempel "Test Engine Automation")
- Behåll standardalternativen och välj Registrera
- När du har skapat noterar du program-ID:t (klient) och katalog-ID:t (klientorganisationen)
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 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.
- Power Platform Öppna administrationscentret
- 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)
Lagra Azure DevOps dessa på ett säkert sätt i variabelgrupper med lämpliga behörigheter.
PowerFx och direkt Dataverse testautentisering
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
Se till 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öka 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: fel med tjänstens
Access deniedhuvudnamn.- 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 tokenfel-
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: Förfallodatum för token under långa testkörningar
- Lösning: Använd ett huvudnamn för tjänsten med längre förfallotid för token eller hantera omautentisering i teststeg
Relaterade artiklar
Säkerhetsarkitektur för autentisering
Testa arbetsyteprogram
Testa modellbaserade program
Testa Dataverse tillägg