SuperAPI AI 工具集

playwright

测试与质量

查看项目

更新于 10-16 05:46

技能介绍

用途:编写、调试和维护 Web 应用的 Playwright 端到端测试,适用于处理 Playwright 测试文件、配置 playwright.config.ts 等场景。

主要能力:核心工作流为分析用户流程与测试范围、配置、编写测试、组织测试、调试。参考文档按上下文加载,覆盖定位器与操作、测试组织(fixtures、并行、重试、分片、超时、注解)、认证(登录流程、多角色、storageState)、网络与模拟(API 模拟、路由拦截、HAR 录制、API 测试)、视觉测试(截图、快照、ARIA 快照、视觉回归)、调试(不稳定测试、trace viewer、UI 模式)、配置(projects、web server、CI/CD、报告器)、高级主题(时钟模拟、evaluate、组件测试、POM、无障碍)。

必要用法:新项目运行 npm init playwright@latest;已有项目运行 npm i -D @playwright/test 与 npx playwright install。常用命令包括 npx playwright test、--grep、--project、--debug、--ui、show-report、show-trace、codegen。定位器优先级为 getByRole() > getByLabel() > getByTestId() > getByText(),断言使用 web-first 形式 await expect(locator).toBeVisible()。

限制与注意:禁止使用 waitForTimeout()、CSS 类选择器、expect(await locator.isVisible()).toBe(true) 等不自动重试写法,测试间不得共享可变状态。注意仅 expect(locator) 会重试;opacity:0 视为可见而零尺寸元素不可见;除 XPath 外定位器默认穿透 Shadow DOM;fill() 只检查可见、启用、可编辑;press() 无动作性检查;对话框必须处理否则页面停滞;storageState 不含 sessionStorage;Playwright 不做类型检查,需单独运行 tsc;expect.toPass 默认超时为 0;glob 中 * 不匹配 /;串行模式重试整组;失败后 worker 进程会被终止;拖拽需两次 mouse.move();视频仅在页面或上下文关闭后可用。