SuperAPI AI 工具集

dotnet-playwright

测试与质量

查看项目

更新于 10-16 01:12

技能介绍

用途:在 .NET 项目中用 Playwright 做浏览器自动化与端到端(E2E)测试,覆盖浏览器生命周期管理、页面交互、断言、CI 浏览器二进制缓存、失败调试的 trace viewer,以及快速生成测试骨架的 codegen。版本假设为 Playwright 1.40+ for .NET、.NET 8.0+,支持 Chromium、Firefox、WebKit。

主要能力:通过 PageTest 基类或手动 IAsyncLifetime 管理 Playwright、Browser、BrowserContext、Page;使用 GetByRole、GetByLabel、GetByPlaceholder、data-testid 等定位器与 FillAsync、ClickAsync、SelectOptionAsync、CheckAsync、SetInputFilesAsync、Keyboard 等交互;Expect API 自动重试断言可见性、文本、属性、URL、标题与数量;Page.RouteAsync 模拟 API 响应,WaitForResponseAsync 等待网络请求;Tracing 记录截图、DOM 快照、网络与控制台日志,并用 show-trace 查看;codegen 录制交互生成代码。

使用方式:添加 Microsoft.Playwright 及 xUnit/NUnit 集成包后,需先安装浏览器二进制,例如 pwsh bin/Debug/net8.0/playwright.ps1 install,或 dotnet tool install --global Microsoft.Playwright.CLI 后执行 playwright install。CI 中按 OS 与项目文件哈希缓存 ~/.cache/ms-playwright,缓存命中时只跑 install-deps。多浏览器可用 BROWSER 环境变量或 CI matrix 分别运行。

适用场景:.NET Web 应用的 E2E 测试、跨浏览器验证、CI 流水线中的浏览器测试与失败复现。

限制:NuGet 包不含浏览器二进制,构建后必须安装;共享 UI 测试模式、测试策略与测试项目脚手架不在本技能范围内,分别由 dotnet-ui-testing-core、dotnet-testing-strategy、dotnet-add-testing 负责。codegen 生成代码常含脆弱选择器且缺少断言,需人工替换为 data-testid 或 role 定位器并补充 Expect 断言。具体收费与平台支持细节暂未提供。