Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Vengono rese disponibili prima di una versione ufficiale in modo che i clienti possano accedervi con anticipo e fornire i loro commenti.
Questa guida fornisce istruzioni dettagliate per impostare l'autenticazione in Test Engine. Per una rapida panoramica delle opzioni di autenticazione, vedere Autenticazione nel motore di test.
Introduzione all'autenticazione
Test Engine supporta due metodi di autenticazione per i test basati sul Web per applicazioni canvas e basate su modelli:
- StorageState - Configurazione predefinita e semplice per lo sviluppo individuale (per test di app basate su modelli e canvas basati sul Web)
- Dataverse - Approccio basato sul team per la condivisione di utenti di test e CI/CD (per test di app basati su modelli e canvas basati sul Web)
L'autenticazione viene gestita in modo diverso per i test del provider PowerFx e per quelli diretti. Dataverse Questi test ottengono i token di accesso direttamente dalla sessione di Azure CLI a cui hai effettuato l'accesso utilizzando i comandi per ottenere i token di accesso alle risorse. az Assicurati di aver effettuato l'accesso con az login --allow-no-subscriptions prima di eseguire questo tipo di test.
Configurazione rapida: autenticazione StorageState
L'autenticazione StorageState è il modo più semplice per iniziare. Utilizza l'API di protezione dei dati di Windows per archiviare in modo sicuro i token di autenticazione sul computer locale.
Passaggio 1: esegui il test con l'autenticazione predefinita
Eseguire il seguente comando PowerShell sostituendo i parametri che iniziano con your.
pac test run `
--provider canvas `
--test-plan-file your-test-plan.yaml `
--tenant your-tenant-id `
--environment-id your-environment-id
Nota
Il parametro pac test run--user-auth non viene utilizzato in questo esempio perché il provider predefinito è StorageState. Se lo desideri, puoi includerlo.
Passaggio 2: Completa l'accesso interattivo
Inserisci le credenziali del tuo account utente di prova
- Si apre automaticamente una finestra del browser
- Accedi con il tuo account utente di prova
- Se richiesto, approvare MFA e richieste di consenso
- Seleziona "Resta connesso" quando richiesto
L'autenticazione è stata salvata.
- Il motore di test memorizza in modo sicuro la tua autenticazione
- I test futuri utilizzano lo stato salvato senza richiedere l'accesso
- I token si aggiornano automaticamente quando necessario
Configurazione del team: Dataverse autenticazione
Dataverse L'autenticazione è perfetta per team e pipeline CI/CD. Memorizza in modo sicuro gli stati degli utenti autenticati in Dataverse, crittografati con certificati X.509.
Passaggio 1: scaricare e importare la soluzione Test Engine
- Scarica la Power Platform soluzione da https://aka.ms/TestEngineAuth.
- Accedere a Power Apps.
- Seleziona l'ambiente di destinazione.
- Vai a Soluzioni e seleziona Importa soluzione.
- Seguire la procedura guidata per caricare e installare la soluzione Test Engine.
Passaggio 2: creare un certificato per la crittografia
Per un certificato autofirmato (solo per sviluppo), eseguire il seguente script di PowerShell:
$Params = @{
DnsName = @("testengine", "testengine")
CertStoreLocation = "Cert:\CurrentUser\My"
NotAfter = (Get-Date).AddMonths(6)
KeyAlgorithm = "RSA"
KeyLength = 2048
}
New-SelfSignedCertificate @Params
Per la produzione, utilizzare un certificato rilasciato dall'autorità di certificazione aziendale.
Passaggio 3: configura l'utente di prova
Per configurare l'utente di prova, completa i seguenti passaggi:
Apri il terminale e chiudi tutte le sessioni esistenti:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutAccedi con Azure CLI (obbligatorio per l'autenticazione): Dataverse
az login --allow-no-subscriptionsImposta il nome del certificato come una variabile di ambiente PowerShell denominata
DataProtectionCertificateName:$env:DataProtectionCertificateName = "CN=testengine"Esegui il test con l'autenticazione: Dataverse
pac test run ` --provider canvas ` --user-auth Dataverse ` --auth Certstore ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-idNota
A differenza di StorageState, in questo caso è necessario utilizzare il parametro
--user-authcon un valore diDataverse.Completa l'accesso interattivo quando richiesto.
Impostazione dei principi di servizio (per CI/CD)
Per i test automatizzati nelle pipeline CI/CD, è possibile utilizzare i principi di servizio anziché gli account utente interattivi.
Passaggio 1: creare una registrazione dell'applicazione in Microsoft Entra ID
Completare i seguenti passaggi per creare una registrazione dell'applicazione in Microsoft Entra ID.
- Accedi al centro di amministrazione Microsoft Entra
- Vai a Applicazioni>Registrazioni app
- Seleziona Nuova registrazione
- Inserisci un nome (ad esempio "Automazione del motore di test")
- Mantieni le opzioni predefinite e seleziona Registra
- Dopo la creazione, annotare l' ID dell'applicazione (client) e l' ID della directory (tenant)
Passaggio 2: configurare le autorizzazioni API per Dataverse
Completare i seguenti passaggi per configurare le autorizzazioni API Dataverse.
- Nella registrazione dell'applicazione, vai a Autorizzazioni API
- Selezionare Aggiungi un'autorizzazione
- Scegli le API che utilizza la mia organizzazione
- Cerca e seleziona Dataverse
- Seleziona Autorizzazioni delegate
- Controlla l'impersonificazione dell'utente
- Seleziona Aggiungi autorizzazioni
- Seleziona Concedi consenso amministratore
Passaggio 3: creare un segreto client
Per creare un client secret, completare i seguenti passaggi.
- Vai a Certificati e segreti
- Seleziona Nuovo segreto client
- Aggiungi una descrizione e scegli una scadenza
- Copia immediatamente il valore segreto (non potrai più vederlo)
Passaggio 4: aggiungere l'utente dell'applicazione a Dataverse
Completare i seguenti passaggi per aggiungere l'utente dell'applicazione a Dataverse.
- Apri il Centro di amministrazione Power Platform
- Seleziona l'ambiente
- Vai a Impostazioni>Utenti + autorizzazioni>Utenti applicazione
- Seleziona + Nuovo utente app
- Cerca e seleziona la tua applicazione
- Assegnare ruoli appropriati per unità aziendali e sicurezza (incluso il ruolo di "Utente del motore di test")
- Salvare le modifiche
Passaggio 5: configura la pipeline CI/CD
Aggiungi queste variabili alla tua 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)
Per Azure DevOps, archiviarli in modo sicuro in Gruppi di variabili con le autorizzazioni appropriate.
Autenticazione PowerFx e test diretto Dataverse
Per i test del provider PowerFx e i test diretti, l'autenticazione funziona in modo diverso rispetto ai test basati sul Web. Dataverse
Come funziona l'autenticazione PowerFx/Dataverse
- Test Engine utilizza Azure CLI per ottenere un token di accesso specifico per la risorsa
- Il token viene utilizzato per l'autenticazione diretta con le API Dataverse
- Non è coinvolta alcuna autenticazione basata sul browser o sul web
Impostazione dell'autenticazione PowerFx/Dataverse
Assicurarsi che l'interfaccia della riga di comando di Azure sia installata e aggiornata:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeAccedi con Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsEsegui il test con il provider PowerFx:
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"
Risoluzione dei problemi di autenticazione
Questa sezione contiene informazioni sulla risoluzione dei problemi di autenticazione con Test Engine.
Problemi comuni con StorageState
Problema: a ogni esecuzione viene visualizzata la richiesta di autenticazione.
- Soluzione: verifica se hai selezionato Resta connesso durante l'accesso.
Problema:
Cannot access secure storageerrore.- Soluzione: assicurati di avere accesso appropriato alla cartella del tuo profilo utente.
Problemi comuni con l'autenticazione Dataverse
Problema:
Certificate not founderrore.- Soluzione: verifica che il nome del certificato corrisponda esattamente a quanto presente nell'archivio certificati.
Problema:
Unable to connect to Dataverseerrore.-
Soluzione: verificare che Azure CLI abbia effettuato l'accesso con
az login --allow-no-subscriptions.
-
Soluzione: verificare che Azure CLI abbia effettuato l'accesso con
Problema:
Access deniederrore con il servizio principale.- Soluzione: verificare che l'app disponga delle autorizzazioni corrette e dei ruoli di sicurezza appropriati. Dataverse
Problemi comuni con l'autenticazione PowerFx/Dataverse
Problema:
Unable to obtain access tokenerrore-
Soluzione: verifica di aver effettuato l'accesso con Azure CLI utilizzando
az account get-access-token
-
Soluzione: verifica di aver effettuato l'accesso con Azure CLI utilizzando
Problema:
Access denieda Dataverse- Soluzione: assicurati che l'utente registrato abbia le autorizzazioni appropriate nell'ambiente Dataverse
Problema: Scadenza del token durante le lunghe esecuzioni dei test
- Soluzione: utilizzare un'entità di servizio con una scadenza del token più lunga o gestire la riautenticazione nei passaggi di test
Articoli correlati
Architettura di sicurezza dell'autenticazione
Applicazioni di prova su tela
Testare le applicazioni basate su modelli
Estensioni di test Dataverse