Azure Playwright 云端测试技能
在 Azure 云端浏览器上扩展 TypeScript Playwright 测试并发布结果。
文档推荐 Microsoft Entra 凭据、显式 credential 参数,并在 GitHub Actions 中声明 OIDC 与只读内容权限,体现了一定的最小权限和认证意识;但未说明云端浏览器、测试目标、报告数据的具体流向、敏感数据处理、用户确认、隔离或回滚机制,因此扣分。
安装、认证、服务配置、运行、报告器、手动连接和迁移路径基本一致,且给出超时与版本要求;但未提供针对认证失败、网络失败、配额、区域不可用或配置错误的诊断与恢复说明,且静态评估不能验证 API 可运行性,按上限保守扣分。
明确面向 TypeScript Playwright 云端浏览器、CI/CD 和 Azure 门户报告,并覆盖 GitHub Actions 与 Azure Pipelines;但未明确非适用场景、输入输出边界、数据合规限制或触发排除条件,中文支持未说明,核心服务依赖 Azure 网络可达性, mainland-China reachability evidence absent,因此扣分。
具有 front matter、MIT 许可、版本号、安装说明、环境变量、配置类型、迁移表和最佳实践,结构清晰;但缺少 changelog、维护责任与更新路径、FAQ、系统化限制说明和更完整的参数来源,故未满分。
示例覆盖核心服务配置、并行执行、Azure reporter、手动连接、CI 集成和旧包迁移,理论上可直接作为实现起点;但没有该技能专属的可复现实例、提交测试或真实结果证据,输出仍需用户结合项目、权限和服务配置审查,静态上限限制了得分。
技能包含具体包名、环境变量、命令、代码和迁移映射,具备一定可审计性;但没有该路径对应的专门测试、CI 覆盖或第三方执行结果,仓库级测试材料也未证明此技能关键路径已复现,因此仅给有限分数。
- 云端浏览器和 Azure 门户报告可能接触测试页面、凭据相关上下文或测试产物;使用前应确认数据驻留、脱敏、访问控制和组织合规要求。
- PLAYWRIGHT_SERVICE_URL、Entra 权限、区域和网络连通性未在技能中完整解释;尤其应验证 mainland-China 网络环境下的可达性与延迟。
- 文档未提供失败诊断、配额处理、重试边界和回滚流程,首次接入应在非生产项目中验证。
- 示例使用 npm init 的 latest 和宽范围 Playwright 依赖,版本锁定、兼容性和供应链审查仍需由用户完成。
它能做什么 & 适用场景
该技能指导 TypeScript 项目使用 Azure Playwright Workspaces 的云托管浏览器运行 Playwright 测试。它覆盖服务配置、Microsoft Entra 身份验证、自定义凭据、并行执行、CI/CD 集成和 Azure 门户报告。推荐使用已取代旧包的 @azure/playwright,并明确区分基础用法与 Azure reporter 所需的 Playwright 版本。适合需要扩大浏览器测试规模或将测试结果集中到 Azure 门户的团队。
指导安装 @azure/playwright、@playwright/test 和 @azure/identity;创建 Playwright 服务配置并设置 PLAYWRIGHT_SERVICE_URL;使用 DefaultAzureCredential 或 ManagedIdentityCredential 进行身份验证;通过 createAzurePlaywrightConfig 连接 Linux 或 Windows 云端浏览器;使用 npx playwright test 并行运行测试;配置 HTML 和 Azure reporter;也可通过 getConnectOptions 手动连接浏览器;提供 GitHub Actions 与 Azure Pipelines 示例,以及从旧包迁移到新包的 API 对照。
- 负责 TypeScript 浏览器测试的工程师,需要在 Azure 云端浏览器上并行运行大量 Playwright 测试。
- 维护 CI/CD 流水线的团队,需要通过 GitHub Actions 或 Azure Pipelines 执行云端测试。
- 使用 Azure 身份体系的团队,需要以 Microsoft Entra 凭据替代访问令牌连接测试服务。
- 需要在 Azure 门户查看测试结果的团队,并且使用 Playwright 1.57 或更高版本。
优缺点一览
- 覆盖从安装、认证、服务配置到 CI/CD 和报告的完整 TypeScript 工作流。
- 支持 DefaultAzureCredential、ManagedIdentityCredential、Linux/Windows 和手动浏览器连接。
- 提供旧包到 @azure/playwright 的明确迁移映射。
- 包含 GitHub Actions 和 Azure Pipelines 示例。
- 依赖 Azure Playwright Workspaces、服务 URL 和相应 Azure 身份权限;源材料未说明费用或配额细节。
- Azure reporter 需要 Playwright 1.57+,基础用法也至少需要 Playwright 1.47。
- SKILL.md 未提供该技能自身的测试套件或跨平台验证结果。
- 旧包 @azure/microsoft-playwright-testing 已注明将于 2026 年 3 月 8 日退役。
如何安装
在目标 Agent Skills 客户端中运行 npx skills add microsoft/skills,并在安装向导中选择此技能。README 说明技能会安装到所选 Agent 的目录,例如 GitHub Copilot 的 .github/skills/。项目运行依赖可使用 npm init @azure/playwright@latest 自动生成配置,或执行 npm install @azure/playwright --save-dev、npm install @playwright/test@^1.47 --save-dev 和 npm install @azure/identity --save-dev。
如何使用
在项目中创建或使用 playwright.service.config.ts,导入 createAzurePlaywrightConfig、ServiceOS 和 Azure 身份凭据,设置 PLAYWRIGHT_SERVICE_URL,并传入 credential。基础运行命令为 npx playwright test --config=playwright.service.config.ts --workers=20。启用 Azure reporter 时,同时配置 @azure/playwright/reporter;Azure reporter 需要 Playwright 1.57+。源材料未规定特定 Agent 客户端中的触发提示语。
对比同类
源材料明确将旧包 @azure/microsoft-playwright-testing 与新包 @azure/playwright 对比:旧包使用 getServiceConfig、timeout、runId 和旧 reporter;新包使用 createAzurePlaywrightConfig、connectTimeout、runName 和 @azure/playwright/reporter,并要求显式传入 credential。