此環境變數參考涵蓋 Power Platform Playwright 範例的所有設定設定。 對於局部發展,將這些變數設於 packages/e2e-tests/.env。 在 CI/CD 中,將它們設為管線秘密或變數。 關於管線專屬的指令,請參見 CI/CD 整合。
驗證變數
這些變數控制測試框架如何與 Power Platform 服務進行認證。
| 變數 | Required | Description |
|---|---|---|
MS_AUTH_EMAIL |
Yes | 測試使用者帳號的電子郵件地址 |
MS_AUTH_CREDENTIAL_TYPE |
Yes | 認證方法: 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 |
No |
.pfx憑證密碼(如果受保護的話) |
Azure Key Vault variables
必要條件:MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault
| 變數 | Description |
|---|---|
AZURE_KEYVAULT_URL |
金鑰保存庫 URL,例如https://<vault-name>.vault.azure.net/ |
AZURE_CERTIFICATE_NAME |
存放在 金鑰保存庫 中的憑證名稱 |
AZURE_TENANT_ID |
Microsoft Entra 租戶識別碼 |
AZURE_CLIENT_ID |
(可選)聯邦身份的服務主體客戶端ID |
應用程式網址變數
這些變數指定被測試應用程式的網址。
| 變數 | Required | Description |
|---|---|---|
CANVAS_APP_URL |
用於畫布測試 | 你畫布應用程式的完整遊玩模式網址,包括 ?tenantId=<id> |
MODEL_DRIVEN_APP_URL |
用於模型驅動應用程式測試 | 你的模型驅動應用程式完整網址(/main.aspx?appid=<id>) |
CUSTOM_PAGE_NAME |
用於自訂頁面測試 | 顯示自訂頁面網站地圖項目的名稱,例如 AccountsCustomPage |
建立 canvas 應用程式的網址
如有需要,可從 buildCanvasAppUrlFromEnv() 工具包中從各個部分組成網址:
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>
取得模型驅動應用程式的網址
請依照以下步驟找到適合您模型驅動應用程式的正確網址。
- 在播放模式中開啟模型驅動的應用程式。
- 從瀏覽器網址列複製網址。
- 之後移除查詢參數
appid=<guid>,這些參數是針對特定工作階段的。
MODEL_DRIVEN_APP_URL=https://<org>.crm.dynamics.com/main.aspx?appid=<app-guid>
儲存狀態變數
該工具包從 中計算這些變數 MS_AUTH_EMAIL。 不要直接設定它們。
| 路徑 | Description |
|---|---|
.playwright-ms-auth/state-<email>.json |
Power Apps auth state (canvas/Gen UX tests) |
.playwright-ms-auth/state-mda-<email>.json |
Dynamics 365 認證狀態(MDA 測試) |
覆蓋儲存狀態目錄:
MS_AUTH_STORAGE_DIR=../../.auth
CI/CD 標誌
使用此旗標來調整持續整合環境的測試行為。
| 變數 | 預設 | Description |
|---|---|---|
CI |
false |
在 CI 中設定為 以 true 啟用 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/...
For 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到原始碼控制。 倉庫裡的 S.gitignore排除了這些。 - 絕對不要提交
.playwright-ms-auth/狀態檔案。 它們包含會話標記。 - 在 CI/CD 中,所有秘密都透過管線的秘密儲存庫設定,而非在已簽入的 YAML中。