SuperAPI AI 工具集

playwright-ci-caching

测试与质量

查看项目

更新于 10-16 01:27

技能介绍

用途:在包含 Playwright 端到端测试的 .NET 项目 CI/CD 中缓存浏览器二进制,减少每次构建重复下载约 400MB 浏览器带来的 1-2 分钟耗时、带宽浪费与偶发网络失败。

主要能力:从 Directory.Packages.props(中央包管理 CPM)提取 Microsoft.Playwright 版本作为缓存键;按操作系统缓存浏览器路径;缓存命中时跳过下载,未命中才执行安装;包升级自动使缓存失效,无需手动清理。

使用方式:Linux 缓存路径为 ~/.cache/ms-playwright,macOS 为 ~/Library/Caches/ms-playwright,Windows 为 %USERPROFILE%\AppData\Local\ms-playwright。GitHub Actions 用 PowerShell 输出 PlaywrightVersion 到 GITHUB_ENV,再用 actions/cache@v4 以 ${{ runner.os }}-playwright-${{ env.PlaywrightVersion }} 为键,仅在 cache-hit 不为 true 时运行安装。Azure DevOps 用 PowerShell 设置变量,再用 Cache@2 与 cacheHitVar 控制条件安装。安装命令示例:./build/playwright.ps1 install --with-deps。

该技能附带 build/playwright.ps1 辅助脚本,递归查找 Microsoft.Playwright.dll 与其自带 Playwright CLI,并透传参数;支持 install chromium、install --dry-run 等用法。

前置条件:使用 CPM 的 Directory.Packages.props;运行脚本前需已执行 dotnet build 或 dotnet restore;CI 需有 PowerShell。

限制与注意:缓存键不含版本会导致缓存命中后出现浏览器与 SDK 版本不匹配;脚本找不到 DLL 时需先构建或还原;路径需与操作系统匹配。该技能是否收费、具体价格及平台信息暂未提供。