SuperAPI AI 工具集

playwright-e2e-tests

测试与质量

查看项目

更新于 10-16 02:39

技能介绍

用途:为 Onyx 应用编写、调试和维护 Playwright 端到端(E2E)测试,例如新增 E2E 用例、排查测试失败、补充测试覆盖等。规格编写规则见 web/tests/e2e/README.md,该技能侧重周边工作流:布局、环境、运行、认证与 Onyx 专用工具。

主要能力与结构:测试位于 web/tests/e2e/,按功能分目录(auth、admin、chat、assistants、connectors、mcp);配置为 web/playwright.config.ts;工具在 web/tests/e2e/utils/;常量在 constants.ts;全局初始化在 global-setup.ts;输出在 web/output/playwright/。导入必须使用 @tests/e2e/ 绝对前缀,新文件用 .ts。

使用方式:本地需启动前端(:3000)与后端 API(:8080),默认 BASE_URL=http://localhost:3000。就绪检查:curl -s -o /dev/null -w '%{http_code}' http://localhost:3000/api/auth/type 返回 200。命令从 web/ 目录执行,如 bunx playwright test tests/e2e/chat/default_assistant.spec.ts;缺失浏览器时执行 bunx playwright install chromium。测试项目分 admin(并行,排除 @exclusive)与 exclusive(串行,1 worker),默认使用 admin_auth.json 预认证。切换用户用 API 登录,如 loginAs 与 loginAsWorkerUser。

关键工具:OnyxApiClient(后端资源创建与清理)、chatActions(发消息、开新对话、切模型)、visualRegression(expectScreenshot)、theme(明暗主题)、tools(工具选择器)。

限制与最佳实践:使用自动重试匹配器,禁止 waitForTimeout;测试需并行安全并按 worker 隔离用户;涉及可见状态修改的测试应在 afterAll 清理;慢测试打 @exclusive 标签;视觉回归由 VISUAL_REGRESSION=true 控制。web/.vscode/.env 可能缺失,缺少 MCP_OAUTH_* 变量会导致 mcp_oauth_flow.spec.ts 导入时报错并影响整批 --list。