通过


环境变量参考

此环境变量参考涵盖 Power Platform Playwright 示例的所有配置设置。 对于本地开发,请将这些变量设置为 .packages/e2e-tests/.env 在 CI/CD 中,将其设置为管道机密或变量。 有关特定于管道的说明,请参阅 CI/CD 集成

身份验证变量

这些变量控制测试框架如何对 Power Platform 服务进行身份验证。

Variable 必需 说明
MS_AUTH_EMAIL 是的 测试用户帐户的电子邮件地址
MS_AUTH_CREDENTIAL_TYPE 是的 身份验证方法: passwordcertificate
MS_USER_PASSWORD 如果 credential_type=password 测试用户的密码
MS_AUTH_CREDENTIAL_PROVIDER 如果 credential_type=certificate 证书源: local-fileazure-keyvault
MS_AUTH_LOCAL_FILE_PATH 如果 provider=local-file 证书文件的相对路径.pfx
MS_AUTH_CERTIFICATE_PASSWORD .pfx证书的密码(如果受保护)

Azure 密钥保管库变量

MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault

Variable 说明
AZURE_KEYVAULT_URL 密钥保管库 URL,例如,https://<vault-name>.vault.azure.net/
AZURE_CERTIFICATE_NAME 存储在密钥保管库中的证书的名称
AZURE_TENANT_ID Microsoft Entra租户 ID
AZURE_CLIENT_ID (可选)联合标识的服务主体客户端 ID

应用 URL 变量

这些变量指定正在测试的应用的 URL。

Variable 必需 说明
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身份验证状态(canvas/Gen UX 测试)
.playwright-ms-auth/state-mda-<email>.json Dynamics 365身份验证状态(MDA 测试)

重写存储状态目录:

MS_AUTH_STORAGE_DIR=../../.auth

CI/CD 标志

使用此标志调整持续集成环境的测试行为。

Variable 默认 说明
CI false 设置为 true CI 以启用 retries: 1forbidOnly更严格的超时

剧作家自动读取 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 密钥保管库:

# 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。

后续步骤

另见