使用测试引擎测试模型驱动应用程序(预览版)

备注

预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以抢先体验并提供反馈。

使用测试引擎 测试 模型驱动应用程序需要执行以下步骤:

  1. 创建测试计划
  2. 设置您的用户
  3. 运行测试
  4. 查看结果

创建测试计划

使用测试引擎 YAML 格式(预览版) Power Apps 中所述的测试计划架构创建 yaml 文件。

小费

查看 GitHub 存储库中的可用示例 计划。

启用预览

目前,所有模型驱动应用扩展测试功能都需要使用 预览功能。 要启用这些,请添加到 PreviewallowPowerFxNamespaces testSettings extensionModules 中的列表中。

此示例向您展示如何添加此内容:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

设置您的用户

测试引擎目前具有以下身份验证方法:

Method Description
存储状态 使用数据保护 API 将 Microsoft Windows 经过身份验证的用户状态本地存储在用户配置文件中
Dataverse 使用核心数据保护使用 Dataverse X.509 证书加密的您自己的客户管理密钥将经过身份验证的用户状态存储在内部 ASP.NET

不能将测试凭据存储在测试计划文件中。 必须选择 StoragestateDataverse 作为存储凭据的安全位置。 测试计划文件包含对用于用户角色的环境变量的引用。 例如,以下 YAML 代码片段指示 user1Email 使用了环境变量:

environmentVariables:
  users:
    - personaName: User1
      emailKey: user1Email

查看 用户 以获取更多信息。

使用以下 PowerShell 脚本将用户名存储在环境变量

$env:user1Email = "someone@example.com"

运行测试

使用 PAC CLI pac test run 命令运行测试计划。

必需参数

您需要提供以下信息:

  • --test-plan-file:测试计划文件的路径
  • --tenant:您的租户 ID
  • --environment-id:您的环境 ID
  • --domain:要测试的模型驱动应用页面的域 URL

模型驱动应用的 URL 格式

对于模型驱动应用,该 --domain 参数因您正在测试的页面类型而异。 URL 格式应根据您的测试方案指定正确的 pagetype 格式:

# For custom pages
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=custom&name=dev_home_c8017"

# For entity lists (views)
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=entitylist&etn=account&viewid=5a84c584-df1c-ed11-9db0-000d3a991110"

# For entity records (forms)
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&id=72e0e163-df1c-ed11-9db0-000d3a991110"

Dataverse 集成

若要启用 Dataverse 与模型驱动应用测试的集成,请在 enableDataverseFunctions testSettings 中添加参数:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview
    parameters:
      enableDataverseFunctions: true

启用 Dataverse 集成时,需要使用对环境具有 Dataverse 权限的用户或服务主体打开 Azure CLI。 可以使用命令: az login 详细信息: 使用 Azure CLI 登录。

用于集成的 Dataverse API URL 是从 pac test run 参数的--domain 主机域名中获取的,也可以通过定义 名为的 PowerShell 环境变量 DATAVERSE_URL获取的。

查看结果

测试完成后,您可以在输出目录中的文件中 .trx 查看测试结果。 此文件夹包含测试 recordVideo 捕获的任何屏幕截图或视频,当在测试计划 yaml 中设置为时 true