Odnośnik do zmiennych środowiskowych

Ta dokumentacja zmiennych środowiskowych obejmuje wszystkie ustawienia konfiguracji dla przykładów programu Power Platform Playwright. W przypadku programowania lokalnego ustaw te zmienne w pliku packages/e2e-tests/.env. W ciągłej integracji/ciągłego wdrażania ustaw je jako wpisy tajne potoku lub zmienne. Aby uzyskać instrukcje dotyczące potoku, zobacz Integracja ciągłej integracji/ciągłego wdrażania.

Zmienne uwierzytelniania

Te zmienne kontrolują sposób uwierzytelniania platformy testowej w usługach Power Platform.

Variable Wymagane Description
MS_AUTH_EMAIL Yes Adres e-mail konta użytkownika testowego
MS_AUTH_CREDENTIAL_TYPE Yes Metoda uwierzytelniania: password lub certificate
MS_USER_PASSWORD Jeśli credential_type=password Hasło użytkownika testowego
MS_AUTH_CREDENTIAL_PROVIDER Jeśli credential_type=certificate Źródło certyfikatu: local-file lub azure-keyvault
MS_AUTH_LOCAL_FILE_PATH Jeśli provider=local-file Ścieżka względna do pliku certyfikatu .pfx
MS_AUTH_CERTIFICATE_PASSWORD No Hasło certyfikatu .pfx (jeśli jest chronione)

zmienne Azure Key Vault

Wymagane, gdy MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault:

Variable Description
AZURE_KEYVAULT_URL Key Vault adres URL, na przykład https://<vault-name>.vault.azure.net/
AZURE_CERTIFICATE_NAME Nazwa certyfikatu przechowywanego w Key Vault
AZURE_TENANT_ID identyfikator dzierżawy Microsoft Entra
AZURE_CLIENT_ID (Opcjonalnie) Identyfikator klienta jednostki usługi dla tożsamości federacyjnej

Zmienne adresu URL aplikacji

Te zmienne określają adresy URL aplikacji testowych.

Variable Wymagane Description
CANVAS_APP_URL W przypadku testów kanwy Pełny adres URL trybu odtwarzania aplikacji kanwy, w tym ?tenantId=<id>
MODEL_DRIVEN_APP_URL W przypadku testów aplikacji opartych na modelu Pełny adres URL aplikacji opartej na modelu (/main.aspx?appid=<id>)
CUSTOM_PAGE_NAME W przypadku niestandardowych testów stron Nazwa wyświetlana elementu niestandardowej mapy witryny strony, na przykład AccountsCustomPage

Tworzenie adresu URL aplikacji kanwy

Użyj buildCanvasAppUrlFromEnv() z zestawu narzędzi, aby utworzyć adres URL z poszczególnych części w razie potrzeby:

import { buildCanvasAppUrlFromEnv } from 'power-platform-playwright-toolkit';

const url = buildCanvasAppUrlFromEnv();
// Reads CANVAS_APP_URL from environment

Możesz też jawnie ustawić go w pliku .env:

CANVAS_APP_URL=https://apps.powerapps.com/play/e/default-<tenant-id>/a/<app-id>?tenantId=<tenant-id>

Uzyskiwanie adresu URL aplikacji opartej na modelu

Wykonaj następujące kroki, aby znaleźć prawidłowy adres URL aplikacji opartej na modelu.

  1. Otwórz aplikację opartą na modelu w trybie odtwarzania.
  2. Skopiuj adres URL z paska adresu przeglądarki.
  3. Usuń parametry zapytania po appid=<guid> tym, które są specyficzne dla sesji.
MODEL_DRIVEN_APP_URL=https://<org>.crm.dynamics.com/main.aspx?appid=<app-guid>

Zmienne stanu magazynu

Zestaw narzędzi oblicza te zmienne z elementu MS_AUTH_EMAIL. Nie ustawiaj ich bezpośrednio.

Ścieżka Description
.playwright-ms-auth/state-<email>.json Power Apps stan uwierzytelniania (kanwa/testy środowiska użytkownika usługi Gen)
.playwright-ms-auth/state-mda-<email>.json Dynamics 365 stanu uwierzytelniania (testy MDA)

Zastąpij katalog stanu magazynu:

MS_AUTH_STORAGE_DIR=../../.auth

Flaga ciągłej integracji/ciągłego wdrażania

Ta flaga służy do dostosowywania zachowania testowego dla środowisk ciągłej integracji.

Variable Default Description
CI false Ustaw wartość na true w ciągłej integracji, aby włączyć retries: 1, forbidOnlyi ostrzejsze limity czasu

Dramaturg odczytuje CI automatycznie. Nie trzeba go ustawiać w .env środowisku potoku zgodnie z konwencją.

Przykładowy plik env

Użyj tych przykładów jako punktu wyjścia dla pliku lokalnego .env .

# Authentication
MS_AUTH_EMAIL=testuser@contoso.com
MS_AUTH_CREDENTIAL_TYPE=password
MS_USER_PASSWORD=<your-password>

# App URLs
CANVAS_APP_URL=https://apps.powerapps.com/play/e/default-<tenant-id>/a/<app-id>?tenantId=<tenant-id>
MODEL_DRIVEN_APP_URL=https://<org>.crm.dynamics.com/main.aspx?appid=<app-id>
CUSTOM_PAGE_NAME=AccountsCustomPage

W przypadku uwierzytelniania certyfikatu:

# Authentication (certificate)
MS_AUTH_EMAIL=testuser@contoso.com
MS_AUTH_CREDENTIAL_TYPE=certificate
MS_AUTH_CREDENTIAL_PROVIDER=local-file
MS_AUTH_LOCAL_FILE_PATH=../../cert/testuser.pfx
MS_AUTH_CERTIFICATE_PASSWORD=<pfx-password>

# App URLs
CANVAS_APP_URL=https://apps.powerapps.com/play/...
MODEL_DRIVEN_APP_URL=https://<org>.crm.dynamics.com/...

W przypadku usługi Azure Key Vault:

# Authentication (Key Vault)
MS_AUTH_EMAIL=testuser@contoso.com
MS_AUTH_CREDENTIAL_TYPE=certificate
MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault
AZURE_KEYVAULT_URL=https://mykeyvault.vault.azure.net/
AZURE_CERTIFICATE_NAME=playwright-test-cert
AZURE_TENANT_ID=<tenant-guid>

# App URLs
CANVAS_APP_URL=https://apps.powerapps.com/play/...
MODEL_DRIVEN_APP_URL=https://<org>.crm.dynamics.com/...

Uwagi dotyczące bezpieczeństwa

Postępuj zgodnie z tymi rozwiązaniami, aby zapewnić bezpieczeństwo poświadczeń i danych sesji.

  • Nigdy nie zatwierdzaj .env plików kontroli źródła. Element .gitignore w repozytorium wyklucza je.
  • Nigdy nie zatwierdzaj .playwright-ms-auth/ plików stanu. Zawierają tokeny sesji.
  • W ciągłej integracji/ciągłego wdrażania ustaw wszystkie wpisy tajne za pośrednictwem magazynu wpisów tajnych potoku, a nie w ewidencjonach YAML.

Następne kroki

Zobacz także