【研发类-测试开发Skills】azure-resource-manager-playwright-dotnet 技能

用于通过Azure Resource Manager配置和管理Microsoft Playwright Testing工作区的.NET SDK。

⚠️ 管理与测试执行的区别:

  • 此SDK (Azure.ResourceManager.Playwright):创建工作区、管理配额、检查名称可用性
  • 测试执行SDK (Azure.Developer.MicrosoftPlaywrightTesting.NUnit):在云端浏览器上大规模运行Playwright测试

技能概述

azure-resource-manager-playwright-dotnet 技能是用于配置和管理Microsoft Playwright Testing工作区的管理平面SDK。该技能允许开发人员通过Azure Resource Manager API创建、管理和监控Playwright测试工作区,实现基础设施即代码的测试环境管理。

下载地址:https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-resource-manager-playwright-dotnet

主要功能

  • 工作区管理:创建、更新和删除Playwright测试工作区
  • 配额管理:查看和管理订阅级及工作区级配额
  • 名称验证:检查工作区名称的可用性
  • 资源层级管理:管理资源组和订阅中的Playwright资源
  • 身份验证集成:支持Azure Identity进行安全认证
  • 标签管理:为资源添加标签以便分类和管理

安装配置

dotnet add package Azure.ResourceManager.Playwright dotnet add package Azure.Identity

当前版本:稳定版 v1.0.0,预览版 v1.0.0-beta.1

环境变量

AZURE_SUBSCRIPTION_ID=<your-subscription-id>
# For service principal auth (optional)
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_ID=<client-id>
AZURE_CLIENT_SECRET=<client-secret>

资源层级结构

ArmClient └── SubscriptionResource ├── PlaywrightQuotaResource (订阅级配额) └── ResourceGroupResource └── PlaywrightWorkspaceResource └── PlaywrightWorkspaceQuotaResource (工作区级配额)

核心工作流程

1. 身份验证

using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Playwright;

var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var subscription = armClient.GetSubscriptionResource(
new ResourceIdentifier($"/subscriptions/{subscriptionId}")
);

2. 创建Playwright工作区

using Azure.ResourceManager.Playwright;
using Azure.ResourceManager.Playwright.Models;

var resourceGroup = await subscription
.GetResourceGroupAsync("my-resource-group");

var workspaceData = new PlaywrightWorkspaceData(AzureLocation.WestUS3)
{
RegionalAffinity = PlaywrightRegionalAffinity.Enabled,
LocalAuth = PlaywrightLocalAuth.Enabled,
Tags =
{
["Team"] = "Dev Exp",
["Environment"] = "Production"
}
};

var workspaceCollection = resourceGroup.Value.GetPlaywrightWorkspaces();
var operation = await workspaceCollection.CreateOrUpdateAsync(
WaitUntil.Completed,
"my-playwright-workspace",
workspaceData);

PlaywrightWorkspaceResource workspace = operation.Value;

Console.WriteLine($"Data Plane URI: {workspace.Data.DataplaneUri}");
Console.WriteLine($"Workspace ID: {workspace.Data.WorkspaceId}");

输入要求

  • Azure订阅ID
  • 资源组名称
  • 工作区名称和配置
  • Azure身份验证凭据

输出说明

  • 创建的Playwright工作区资源
  • 数据平面URI(用于运行测试)
  • 工作区ID和配额信息
  • 资源配置状态

最佳实践

  1. 使用DefaultAzureCredential:始终使用DefaultAzureCredential进行身份验证
  2. 资源标签:使用标签对工作区进行分类和管理
  3. 配额监控:定期检查配额使用情况
  4. 区域选择:选择靠近测试目标的Azure区域
  5. 基础设施即代码:使用代码管理测试基础设施

限制说明

  • 此SDK仅用于管理操作,不用于测试执行
  • 需要适当的Azure权限和订阅访问
  • 配额限制可能影响工作区创建
  • 某些功能可能需要特定版本的.NET