此环境变量参考涵盖 Power Platform Playwright 示例的所有配置设置。 对于本地开发,请将这些变量设置为 .packages/e2e-tests/.env 在 CI/CD 中,将其设置为管道机密或变量。 有关特定于管道的说明,请参阅 CI/CD 集成。
身份验证变量
这些变量控制测试框架如何对 Power Platform 服务进行身份验证。
| Variable | 必需 | 说明 |
|---|---|---|
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 密钥保管库变量
在 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。
- 在播放模式下打开模型驱动应用。
- 从浏览器地址栏中复制 URL。
- 删除会话
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: 1、 forbidOnly更严格的超时 |
剧作家自动读取 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。