環境變數參考

此環境變數參考涵蓋 Power Platform Playwright 範例的所有設定設定。 對於局部發展,將這些變數設於 packages/e2e-tests/.env。 在 CI/CD 中,將它們設為管線秘密或變數。 關於管線專屬的指令,請參見 CI/CD 整合

驗證變數

這些變數控制測試框架如何與 Power Platform 服務進行認證。

變數 Required Description
MS_AUTH_EMAIL Yes 測試使用者帳號的電子郵件地址
MS_AUTH_CREDENTIAL_TYPE Yes 認證方法: 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 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>

取得模型驅動應用程式的網址

請依照以下步驟找到適合您模型驅動應用程式的正確網址。

  1. 在播放模式中開啟模型驅動的應用程式。
  2. 從瀏覽器網址列複製網址。
  3. 之後移除查詢參數 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: 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/...

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

下一步

參見