你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

管理 Microsoft Playwright Testing 预览版的身份验证和授权

本文介绍如何管理 Microsoft Playwright Testing 预览版的身份验证和授权。 在云托管浏览器上运行 Playwright 测试以及将测试结果和项目发布到服务需要进行身份验证。

默认情况下,使用 Microsoft Entra ID 进行身份验证。 该方法更安全,是推荐使用的身份验证方法。 不能禁用使用 Microsoft Entra ID 的身份验证。 但是,也可使用访问令牌进行身份验证和授权。

重要

Microsoft Playwright Testing 目前以预览版提供。 有关 beta 版、预览版或尚未正式发布的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

背景

Microsoft Playwright Testing 预览版基于 Playwright 开放源代码框架构建。 它在云托管浏览器上运行 Playwright 测试,并将报告和项目发布回服务。

若要使用服务,客户端必须通过服务进行身份验证才能访问浏览器。 同样,发布结果和项目需要经过身份验证的 API 交互。 该服务提供两种身份验证方法:Microsoft Entra ID 和访问令牌。

Microsoft Entra ID 使用 Azure 凭据,这需要登录到 Azure 帐户进行安全访问。 你也可以从 Playwright 工作区生成访问令牌并在设置中使用它。 但是,我们强烈建议使用 Microsoft Entra ID 进行身份验证,因为它具有增强的安全性。 访问令牌虽然很方便使用,但其功能类似于长期密码,因此更容易泄露。

使用访问令牌启用身份验证

Microsoft Playwright Testing 服务也支持使用访问令牌进行身份验证。 该身份验证方法的安全性较低。 我们建议使用 Microsoft Entra ID 向该服务进行身份验证。

注意

工作区访问令牌类似于 Microsoft Playwright Testing 工作区的密码。 请务必小心保护访问令牌。 避免将访问令牌分发给其他用户、对其进行硬编码或将其以纯文本形式保存在其他人可以访问的任何位置。

如果认为令牌已泄露,请撤销并重新创建令牌。

若要使用访问令牌启用身份验证,请执行以下操作:

  1. 使用 Azure 帐户登录到 Playwright 门户并选择工作区。

  2. 选择主页上的设置图标,进入工作区设置。

  3. 选择“身份验证”页并启用“使用访问令牌启用身份验证”

    屏幕截图显示 Playwright 门户中的访问令牌设置页。

注意

使用访问令牌进行身份验证的安全性较低。 了解如何管理访问令牌

使用访问令牌设置身份验证

  1. 运行测试时,请在设置的 playwright.service.config.ts 文件中启用访问令牌身份验证。

    /* Learn more about service configuration at https://aka.ms/mpt/config */
    export default defineConfig(config, getServiceConfig( config {
        serviceAuthType:'ACCESS_TOKEN'
    }));
    
  1. 运行测试时,请在设置的 .runsettings 文件中启用访问令牌身份验证。

    <TestRunParameters>
        <!-- Use this option when you want to authenticate using access tokens. This mode of auth should be enabled for the workspace. -->
         <Parameter name="ServiceAuthType" value="AccessToken" />
    </TestRunParameters>
    
  1. 创建访问令牌

    按步骤创建访问令牌。 复制生成的访问令牌的值。

  1. 设置你的环境

    若要设置环境,需要使用在前面步骤中获取的值配置 PLAYWRIGHT_SERVICE_ACCESS_TOKEN 环境变量。 请确保在运行测试的安装程序中提供了此环境变量。

    建议使用dotenv模块管理环境。 使用dotenv,可以在.env文件中定义环境变量。

    1. dotenv模块添加到项目:

      npm i --save-dev dotenv
      
    2. 在 Playwright 项目中的 playwright.config.ts 文件旁边创建 .env 文件:

      PLAYWRIGHT_SERVICE_ACCESS_TOKEN={MY-ACCESS-TOKEN}
      

      请务必将 {MY-ACCESS-TOKEN} 文本占位符替换为之前复制的值。

  1. 设置你的环境

    若要设置环境,需要使用在前面步骤中获取的值配置 PLAYWRIGHT_SERVICE_ACCESS_TOKEN 环境变量。 请确保在运行测试的安装程序中提供了此环境变量。

在服务上运行测试并发布结果

针对云托管浏览器运行 Playwright 测试,并使用上面创建的配置将结果发布到服务。

npx playwright test --config=playwright.service.config.ts --workers=20
dotnet test --settings:.runsettings --logger "microsoft-playwright-testing" -- NUnit.NumberOfTestWorkers=20