Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Power Platform-Apps umfassen zwei unterschiedliche Domänen, die jeweils eine separate authentifizierte Sitzung erfordern:
| Domäne | URL | Verwendung |
|---|---|---|
| Power Apps | make.powerapps.com |
Canvas-Apps, Gen-UX-Apps und alle Tests, die durch Power Apps navigieren |
| Dynamics 365/CRM | <org>.crm.dynamics.com |
Modellgesteuerte Apps und Dynamics 365 |
Das Framework behandelt beide Domänen, indem ein Browserspeicherstatus einmal erworben und für alle Testläufe wiederverwendet wird. Bei diesem Ansatz wird die Anmeldung bei jedem Test vermieden, wodurch die Dauer der Testsuite erheblich reduziert wird.
Funktionsweise des Speicherzustands in Playwright
Das Feature von storageState Playwright erfasst alle Cookies und lokalen Speicher (einschließlich MSAL-Token) aus einer authentifizierten Browsersitzung und speichert sie in einer JSON-Datei. Beim Starten von Tests wird der Browserkontext mit diesem gespeicherten Zustand initialisiert, wobei der interaktive Anmeldefluss umgangen wird.
Das Framework speichert zwei Statusdateien:
| Datei | Domäne | Verwendet von |
|---|---|---|
state-<email>.json |
Power Apps | Canvas-App-Tests, Gen-UX-Tests |
state-mda-<email>.json |
Dynamics 365 | Modellgesteuerte App-Tests |
Standardspeicherort: packages/e2e-tests/.playwright-ms-auth/
Authentifizierungsanbieter
Das Framework unterstützt drei Anbieter von Anmeldeinformationen:
Kennwortauthentifizierung
Verwenden Sie die Kennwortauthentifizierung für die lokale Entwicklung, wenn die Zertifikatinfrastruktur nicht verfügbar ist.
MS_AUTH_CREDENTIAL_TYPE=password
MS_USER_PASSWORD=<password>
Von Bedeutung
Übernehmen Sie niemals Kennwörter für die Quellcodeverwaltung. Verwenden Sie Umgebungsvariablen oder einen geheimen Manager.
Zertifikatauthentifizierung
Verwenden Sie die Zertifikatauthentifizierung für CI/CD-Pipelines und freigegebene Umgebungen. Diese Methode vermeidet das Speichern von Kennwörtern und unterstützt mehrstufige Szenarien.
MS_AUTH_CREDENTIAL_TYPE=certificate
MS_AUTH_CREDENTIAL_PROVIDER=local-file
MS_AUTH_LOCAL_FILE_PATH=../../cert/<cert-file>.pfx
MS_AUTH_CERTIFICATE_PASSWORD=<optional-pfx-password>
Azure Key Vault
Verwenden Sie Azure Key Vault für Produktionspipelinen, in denen Sie Zertifikate zentral verwalten.
MS_AUTH_CREDENTIAL_TYPE=certificate
MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault
AZURE_KEYVAULT_URL=https://<vault>.vault.azure.net/
AZURE_CERTIFICATE_NAME=<certificate-name>
Tokenüberprüfung und Ablaufprüfung für den Authentifizierungszustand
Vor jeder Testausführung überprüft das Framework die Speicherstatusdatei:
- Power Apps state: Überprüft den Ablauf des MSAL-Zugriffstokens von localStorage
- MDA state: Überprüft Dynamics 365 Sitzungscookies aus der CRM-Domäne.
Wenn eine Statusdatei abgelaufen ist, entfernt das Framework sie und fordert Sie auf, sich erneut zu authentifizieren. In CI/CD wird die Authentifizierung ausgeführt globalSetup , um den aktuellen Zustand vor jeder Pipelineausführung zu erhalten.
Mehrere Testbenutzer
Wenn Sie Tests mit verschiedenen Benutzerkonten ausführen möchten (z. B. rollenbasierten Zugriff testen), erstellen Sie separate Speicherstatusdateien, indem Sie die Authentifizierungsskripts für jeden Benutzer festlegen MS_AUTH_EMAIL und ausführen:
MS_AUTH_EMAIL=user1@contoso.com npm run auth:headful
MS_AUTH_EMAIL=user2@contoso.com npm run auth:headful
Verweisen Sie dann in Ihrem Test auf die spezifische Statusdatei:
test.use({
storageState: getStorageStatePath('user1@contoso.com'),
});
Sicherheitsaspekte
- Speicherstatusdateien enthalten Sitzungstoken. Fügen Sie
.playwright-ms-auth/zu Ihrem.gitignorehinzu. - Wechseln Sie die Testbenutzeranmeldeinformationen und authentifizieren Sie sich regelmäßig neu.
- Verwenden Sie dedizierte Testkonten mit mindestens erforderlichen Berechtigungen.
- Verwenden Sie für Produktion-CI/CD die Zertifikatauthentifizierung mit Zertifikaten, die in Azure Key Vault gespeichert sind.
Nächste Schritte
- Authentifizierungsleitfaden Schritt-für-Schritt-Anleitungen für jeden Anbieter von Zugangsdaten