测试引擎中的 Power Apps 身份验证(预览版)

备注

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

测试引擎提供简单的身份验证选项来支持开发和生产方案。 本文清楚地概述了身份验证选项以及如何选择最适合您需求的选项。

身份验证变得简单

测试引擎提供易于使用的身份验证方法,具体取决于您要创建的测试类型。

基于 Web 的测试(画布、模型驱动应用)

用于使用交互式用户帐户运行测试的基于 Web 的测试。

StorageState (默认)

  • 使用 Windows 数据保护 API 实现安全的本地存储
  • 非常适合个性化开发和测试
  • 自动处理 MFA 和条件访问
  • 交互式首次登录,之后自动登录
  • 用于基于 Web 的画布和模型驱动应用测试

Dataverse

  • 使用 X.509 证书和 ASP.NET 核心数据保护
  • 团队环境和 CI/CD 管道的理想选择
  • 将加密令牌存储在 Dataverse
  • 支持用于自动化测试的服务主体
  • 用于基于 Web 的画布和模型驱动应用测试

OAuth 基于测试(Dataverse)

对于 PowerFx 提供程序和直接 Dataverse 测试,身份验证的工作方式不同。 这些测试使用命令直接 az 从 Azure CLI 会话获取访问令牌,以获取特定于资源的访问令牌。 在运行这些类型的测试之前,请确保您已登录。 az login --allow-no-subscriptions

何时使用每种身份验证方法

下表描述了何时使用每种身份验证方法:

如果您需要... 选择 为什么它效果最好
快速入门 StorageState 零设置,只需运行测试并登录
使用 MFA 进行本地测试 StorageState 处理所有新式身份验证方法
与团队共享测试用户 Dataverse 集中式、安全的凭证存储
在 CI/CD 管道中运行测试 Dataverse 非交互式、自动化友好
使用服务主体 Dataverse 支持安全的无头身份验证

StorageState 身份验证:快速入门

StorageState 方法使用 Windows 数据保护 API 在本地安全地存储浏览器身份验证数据。 它非常适合个人开发人员和测试人员。

# StorageState is the default, so you don't need to set it using the --user-auth parameter
pac test run `
   --provider canvas `
   --test-plan-file testplan.yaml `
   --tenant your-tenant-id `
   --environment-id your-environment-id

Dataverse 身份验证:团队就绪

该 Dataverse 方法使用 X.509 证书和 Dataverse 核心数据保护存储加密令牌 ASP.NET 。 它非常适合团队和自动化工作流程。

设置 Dataverse 身份验证

  1. 下载测试引擎解决方案: https://aka.ms/TestEngineAuth
  2. 将解决方案导入您的 Dataverse 环境
  3. 设置证书(自签名证书或来自证书颁发机构)
  4. 配置服务主体以进行自动化测试(可选,但建议使用)
# Example command with Dataverse authentication
pac test run `
   --provider canvas `
   --user-auth Dataverse `
   --auth Certstore `
   --test-plan-file testplan.yaml `
   --tenant your-tenant-id `
   --environment-id your-environment-id

后续步骤

选择适合您的路径: