SuperAPI AI 工具集

playwright-skill

测试与质量

查看项目

更新于 10-16 02:44

技能介绍

Playwright Skill 是一套面向 Playwright 测试框架的参考指南集合,定位为“有主见、经生产验证”的 Playwright 使用指导,每条模式都会说明何时使用以及何时不使用。资料显示其包含 50 多份参考指南,覆盖 Playwright 的完整使用面,并贯穿 TypeScript 与 JavaScript 示例。

用途方面,该技能面向使用 Playwright 进行端到端(E2E)、API、组件、视觉、无障碍和安全测试的开发者,帮助选择选择器、组织测试、配置项目、处理认证、模拟网络、调试不稳定测试,以及在 CI/CD 中运行测试。

主要能力按指南索引组织,涵盖以下主题:

写作测试:选择选择器(locators.md、locator-strategy.md)、断言与等待(assertions-and-waiting.md)、组织测试套件(test-organization.md、test-architecture.md)、Playwright 配置(configuration.md)、页面对象(page-object-model.md、pom-vs-fixtures-vs-helpers.md)、fixtures 与 hooks(fixtures-and-hooks.md)、测试数据(test-data-management.md)、认证与登录(authentication.md、auth-flows.md)、API 测试 REST/GraphQL(api-testing.md)、视觉回归(visual-regression.md)、无障碍(accessibility.md)、移动与响应式(mobile-and-responsive.md)、组件测试(component-testing.md)、网络模拟(network-mocking.md、when-to-mock.md)、表单与验证(forms-and-validation.md)、文件上传下载(file-operations.md、file-upload-download.md)、错误与边界情况(error-and-edge-cases.md)、CRUD 流程(crud-testing.md)、拖放(drag-and-drop.md)、搜索与过滤 UI(search-and-filter.md)。

调试与修复:通用调试工作流(debugging.md)、特定错误信息(error-index.md)、不稳定/间歇性测试(flaky-tests.md)、常见初学者错误(common-pitfalls.md)。

框架配方:Next.js(App Router + Pages Router,nextjs.md)、React(CRA、Vite,react.md)、Vue 3 / Nuxt(vue.md)、Angular(angular.md)。

迁移指南:从 Cypress(from-cypress.md)、从 Selenium / WebDriver(from-selenium.md)。

架构决策:选择哪种定位策略(locator-strategy.md)、E2E vs 组件 vs API(test-architecture.md)、模拟 vs 真实服务(when-to-mock.md)、POM vs fixtures vs helpers(pom-vs-fixtures-vs-helpers.md)。

CI/CD 与基础设施:GitHub Actions(ci-github-actions.md)、GitLab CI(ci-gitlab.md)、CircleCI / Azure DevOps / Jenkins(ci-other.md)、并行执行与分片(parallel-and-sharding.md)、Docker 与容器(docker-and-containers.md)、报告与产物(reporting-and-artifacts.md)、代码覆盖率(test-coverage.md)、全局 setup/teardown(global-setup-teardown.md)、多项目配置(projects-and-dependencies.md)。

专项主题:多用户与协作(multi-user-and-collaboration.md)、WebSockets 与实时(websockets-and-realtime.md)、浏览器 API(地理位置、剪贴板、权限,browser-apis.md)、iframe 与 Shadow DOM(iframes-and-shadow-dom.md)、Canvas 与 WebGL(canvas-and-webgl.md)、Service Worker 与 PWA(service-workers-and-pwa.md)、Electron 应用(electron-testing.md)、浏览器扩展(browser-extensions.md)、安全测试(security-testing.md)、性能与基准(performance-testing.md)、i18n 与本地化(i18n-and-localization.md)、多标签与弹窗(multi-context-and-popups.md)、时钟与时间模拟(clock-and-time-mocking.md)、第三方集成(third-party-integrations.md)。

CLI 浏览器自动化:CLI 浏览器交互(playwright-cli/SKILL.md)、核心命令 open/click/fill/navigate(core-commands.md)、网络模拟与拦截(request-mocking.md)、运行自定义 Playwright 代码(running-custom-code.md)、多会话浏览器管理(session-management.md)、Cookies/localStorage/认证状态(storage-and-auth.md)、从 CLI 生成测试代码(test-generation.md)、追踪与调试(tracing-and-debugging.md)、截图/视频/PDF(screenshots-and-media.md)、设备与环境模拟(device-emulation.md)、复杂多步骤工作流(advanced-workflows.md)。

使用方式方面,资料给出“黄金规则”:优先使用 getByRole() 而非 CSS/XPath,因为它对标记变化更具韧性,并贴近用户看待页面的方式;禁止使用 page.waitForTimeout(),改用 expect(locator).toBeVisible() 或 page.waitForURL();使用 Web-first 断言,expect(locator) 会自动重试,而 expect(await locator.textContent()) 不会;隔离每个测试,不共享状态、不依赖执行顺序;在配置中设置 baseURL,测试中零硬编码 URL;重试策略为 CI 中 2 次、本地 0 次,以便在关键处暴露不稳定;trace 设为 'on-first-retry',在不拖慢 CI 的前提下获得丰富调试产物;用 fixtures 而非全局变量,通过 test.extend() 共享状态,而非模块级变量;每个测试只验证一个行为,多个相关 expect() 调用可以接受;只模拟外部服务,绝不模拟自己的应用,可模拟第三方 API、支付网关、邮件。

语言说明方面,所有指南都包含 TypeScript 与 JavaScript 示例;当项目使用 .js 文件或没有 tsconfig.json 时,示例会适配为纯 JavaScript。

适用场景包括:需要为 Web 应用编写和维护 Playwright 测试的团队与个人;从 Cypress 或 Selenium 迁移到 Playwright 的项目;需要在 CI/CD 中配置并行、分片、报告与覆盖率的工程团队;需要处理认证、网络模拟、视觉回归、无障碍、API 测试等专项测试的场景;以及希望通过 CLI 进行浏览器自动化、生成测试代码或调试追踪的开发者。

限制方面,资料未提供该技能的安装命令、收费方式、价格、平台支持范围或具体使用步骤,这些信息暂未提供。该技能为参考指南集合,不包含可执行代码库或安装包说明。