SuperAPI AI 工具集

e2e-testing

测试与质量

查看项目

更新于 10-16 09:47

技能介绍

用途:该技能聚焦使用 Playwright 的 E2E 测试架构与模式,帮助规划测试套件结构、组织测试,并应用认证、网络模拟、可视化回归、无障碍审计与 CI 并行等成熟做法。核心是讲清测试模式的“为什么与何时”,而非 Playwright API 细节。

主要能力:角色定位器(getByRole、getByText、getByLabel)优于 CSS/XPath;Page Object Model 将页面定位器与操作封装在 tests/pages/ 的类中;用 storageState 与 setup 项目实现一次认证、多测试复用;用 expect(page).toHaveScreenshot() 做可视化回归,并遮蔽动态内容防抖动;用 @axe-core/playwright 的 AxeBuilder 配合 .withTags() 与 .analyze() 审计关键流程;用 trace: 'on-first-retry' 获取 DOM 快照、网络日志与时间线;用 page.route() 模拟网络、page.routeFromHAR() 回放录制流量;用 --shard=1/4 做 CI 分片,并以 --reporter=blob 与 merge-reports 合并报告;用 { tag: ['@smoke'] } 配合 --grep 过滤;用 test.step() 分组;用 --only-changed=$GITHUB_BASE_REF 只跑变更测试;支持 fixture 组合(mergeTests/mergeExpects)、auto fixture、fixture 选项、数据驱动测试与 browser.newContext() 上下文模拟(locale、timezone、colorScheme、offline、isMobile)。

使用方式与适用场景:适合设计测试套件架构、组织 Page Object Model、规划 CI 分片、搭建认证流程、按标签组织测试、实现可视化回归与网络模拟、审计无障碍。配置上注意将 playwright/.auth/ 加入 .gitignore,避免提交 storageState;用 web-first 断言替代 waitForTimeout。

限制:不适用于单元测试(用 Vitest/Jest)、纯 API 测试(用集成测试)或隔离的组件测试(用组件测试运行器);Playwright API、浏览器自动化、抓取、截图/PDF、Docker 部署与错误排查需改用 playwright 技能。资料未提供收费、平台与具体版本信息。