备注
预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以抢先体验并提供反馈。
测试引擎提供简单的身份验证选项来支持开发和生产方案。 本文清楚地概述了身份验证选项以及如何选择最适合您需求的选项。
身份验证变得简单
测试引擎提供易于使用的身份验证方法,具体取决于您要创建的测试类型。
基于 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 身份验证
- 下载测试引擎解决方案: https://aka.ms/TestEngineAuth
- 将解决方案导入您的 Dataverse 环境
- 设置证书(自签名证书或来自证书颁发机构)
- 配置服务主体以进行自动化测试(可选,但建议使用)
# 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
后续步骤
选择适合您的路径: