共用方式為


瞭解測試引擎提供者 (預覽版)

Test Engine 使用基於提供程式的架構,使其能夠支援跨不同應用程式類型的測試。 每個供應商都針對特定的應用程式類型進行了優化,從而實現高效的測試自動化,同時提供一致的測試體驗。

什麼是供應商?

提供程式是測試引擎中的專用模組,用於處理與不同應用程式類型互動的細節:

  • 它們抽象了測試不同應用技術的複雜性
  • 它們提供特定於類型的測試作實現
  • 它們針對每種應用程式類型適當地處理身份驗證和上下文
  • 它們決定了測試的執行和解釋方式

提供程式類型

以下部分介紹測試引擎中可用的不同類型的提供程式。 每個供應商都針對特定的應用場景而設計,為基於 Web 和基於 API 的測試提供定製功能。

基於 Web 的供應商

基於 Web 的供應商透過添加特定於應用程式的抽象來擴展 Playwright 的瀏覽器自動化功能,從而更輕鬆地測試 Web 應用程式,而無需處理低級 DOM 元素。

畫布應用程式提供者

Canvas 應用程式提供者 (canvas) 專門用於測試 Power Apps 畫布應用程式:

  • 抽象級別:使用應用程式製作工作室中定義的控件名稱
  • 技術:擴展 Playwright 以實現基於瀏覽器的自動化
  • 主要功能
    • 按邏輯名稱訪問畫布應用控制件
    • 處理特定於畫布的控制項類型和事件
    • 支援圖庫控制件導航和互動

命令範例

pac test run `
   --provider canvas `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value

詳細瞭解如何測試畫布應用程式

模型驅動應用程式提供者

模型驅動應用程式提供者 (mda) 專門用於 Dataverse 模型驅動應用程式:

  • 抽象級別:適用於模型驅動的應用程式元素,如窗體、視圖和業務流程
  • 技術:擴展 Playwright 以實現基於瀏覽器的自動化
  • 主要功能
    • 導航複雜的模型驅動應用介面
    • 處理表單數據輸入和驗證
    • 支援實體記錄作

命令範例

pac test run `
   --provider mda `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=account"

詳細瞭解如何測試模型驅動應用程式

基於 API 的供應商

基於 API 的供應商直接與後端服務交互,而不必使用瀏覽器介面。

Power Fx 供應商

Power Fx Provider (powerfx) 允許直接執行 Power Fx 公式,對於集成測試很 Dataverse 有用:

  • 身份驗證:使用 OAuth 通過 Azure CLI az login 命令獲取的令牌
  • 技術:直接調用 Dataverse API 端點
  • 主要功能
    • 對表執行 Dataverse CRUD 作
    • 無需 UI 交互即可執行業務邏輯
    • 實現有針對性的集成測試

命令範例

pac test run `
   --provider powerfx `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com"

詳細瞭解如何測試 Dataverse 擴展。

技術實現

以下部分介紹了測試引擎提供程式的底層架構、身份驗證流和 Dataverse 集成。 瞭解這些詳細資訊有助於您根據特定測試需求配置和擴展提供程式。

架構

Test Engine 的提供程序架構遵循分層方法:

  1. 核心引擎層:包含所有供應商之間的共用功能
  2. 提供者層:實現特定於應用程式的測試邏輯
  3. 身份驗證層:處理身份和安全上下文
  4. 擴展層:允許添加自定義功能

身份驗證流程

供應商根據其要求使用不同的身份驗證流:

  • Web 提供程式 (畫布、模型驅動):使用基於瀏覽器的身份驗證和儲存狀態
  • API Providers (Power Fx):使用 OAuth Azure CLI 中的令牌進行直接 API 訪問

Dataverse 整合

所有供應商都可以從集成中受益 Dataverse ,從而實現:

  • 通過函數直接 Power Fx 訪問表格
  • 數據播種和清理作
  • 驗證後端狀態更改

要啟用 Dataverse 整合,請將以下內容添加到測試設置中:

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

瞭解如何測試 Dataverse 擴展

選擇合適的供應商

根據您的應用程式類型和測試要求選擇提供者:

應用程式類型 Provider 最適合
畫布應用程式 canvas UI 測試、控制件交互、屏幕導航
模型導向應用程式 mda 表單、視圖、業務流程、實體作
純粹的 Dataverse 集成 powerfx 後端邏輯、表作、外掛程式驗證

測試畫布應用程式
測試模型驅動應用程式
測試 Dataverse 擴展
測試引擎可擴充性
測試引擎和劇作家