Препратка към променливи на средата

Тази препратка към променливи на средата обхваща всички конфигурационни настройки за примери на Power Platform Playwright. За местно развитие задайте тези променливи в packages/e2e-tests/.env. В CI/CD ги задайте като тайни на канали или променливи. За конкретни инструкции за канала вижте Интегриране с CI/CD.

Променливи за удостоверяване

Тези променливи контролират начина, по който тестовата рамка се удостоверява с услугите на Power Platform.

Променлива Задължителни Описание
MS_AUTH_EMAIL Да Имейл адрес на тестовия потребителски акаунт
MS_AUTH_CREDENTIAL_TYPE Да Метод за удостоверяване: password или certificate
MS_USER_PASSWORD Ако credential_type=password Парола за тестовия потребител
MS_AUTH_CREDENTIAL_PROVIDER Ако credential_type=certificate Източник на сертификат: local-file или azure-keyvault
MS_AUTH_LOCAL_FILE_PATH Ако provider=local-file Относителен път до файла със сертификата .pfx
MS_AUTH_CERTIFICATE_PASSWORD Не Парола за сертификата .pfx (ако е защитен)

Azure Key Vault променливи

Задължително, когато MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault:

Променлива Описание
AZURE_KEYVAULT_URL Key Vault URL адрес, например https://<vault-name>.vault.azure.net/
AZURE_CERTIFICATE_NAME Име на сертификата, съхранен в Key Vault
AZURE_TENANT_ID ИД на клиент на Microsoft Entra
AZURE_CLIENT_ID (По избор) ИД на главен клиент на услуга за федерирана самоличност

Променливи на URL адреса на приложението

Тези променливи задават URL адресите на приложенията, които се тестват.

Променлива Задължителни Описание
CANVAS_APP_URL За тестове на платно Пълен URL адрес на режима на възпроизвеждане на вашето приложение за платно, включително ?tenantId=<id>
MODEL_DRIVEN_APP_URL За тестове на базирано на модел приложение Пълен URL адрес на вашето базирано на модел приложение (/main.aspx?appid=<id>)
CUSTOM_PAGE_NAME За потребителски тестове на страница Показвано име на елемент от карта на сайт по избор, като например AccountsCustomPage

Създаване на URL адреса на приложението за платно

Използвайте buildCanvasAppUrlFromEnv() от набора инструменти, за да съставите URL адреса от отделни части, ако е необходимо:

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

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

Или го задайте изрично в .env:

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

Получаване на URL адреса на базираното на модел приложение

Следвайте тези стъпки, за да намерите правилния URL адрес за вашето базирано на модел приложение.

  1. Отворете базираното на модел приложение в режим на възпроизвеждане.
  2. Копирайте URL адреса от адресната лента на браузъра.
  3. След това премахнете параметрите appid=<guid> на заявката, които са специфични за конкретната сесия.
MODEL_DRIVEN_APP_URL=https://<org>.crm.dynamics.com/main.aspx?appid=<app-guid>

Променливи на състоянието на мястото за съхранение

Наборът инструменти изчислява тези променливи от MS_AUTH_EMAIL. Не ги задавайте директно.

Път Описание
.playwright-ms-auth/state-<email>.json Power Apps състояние на удостоверяване (тестове за платно/gen UX)
.playwright-ms-auth/state-mda-<email>.json Dynamics 365 състояние на удостоверяване (MDA тестове)

Заместване на директорията за състоянието на мястото за съхранение:

MS_AUTH_STORAGE_DIR=../../.auth

CI/CD флаг

Използвайте този флаг, за да настроите поведението на теста за среди за непрекъсната интеграция.

Променлива По подразбиране Описание
CI false Зададено на true в CI, за да разрешите retries: 1, forbidOnlyи по-строги времена на изчакване

Playwright чете CI автоматично. Не е нужно да го задавате в .env – средите на каналите го определят по конвенция.

Примерен .env файл

Използвайте тези примери като отправна точка за вашия локален .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

За удостоверяване на сертификат:

# 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/...

За 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/...

Бележки за защитата

Следвайте тези практики, за да запазите данните за идентификационни данни и сесия защитени.

  • Никога не фиксирайте .env файлове в управление на източник. В .gitignore репо ги изключва.
  • Никога не фиксирайте .playwright-ms-auth/ файлове за състояние. Те съдържат маркери за сесия.
  • В CI/CD задайте всички тайни чрез тайния магазин на газопровода, а не в регистрирания YAML.

Следващи стъпки

Вижте също