用途:对 Cherry Studio 执行关键路径系统回归测试,使用仓库自有的 Playwright E2E 工作流,每个平台运行一个由驱动方拥有的 Electron 进程,测试过程不由 LLM 测试代理控制。
主要能力:以 .github/workflows/e2e-regression-test.yml 为入口,解析可信分支或发布标签,在 GitHub runner 临时目录下初始化隔离目录,安装被测应用与代码工具,启动一个启用 CDP 的 Electron 进程,按从简到繁顺序运行 tests/e2e/regression/ 下的十个文件;某阶段失败后继续执行以收集后续结果,生成英文平台报告与汇总报告并执行判定,仅停止隔离运行目录中记录的 Electron 进程。
使用方式:工作流读取 CHERRY_TEST_CUSTOM_PROVIDER_BASE_URL、CHERRY_TEST_CUSTOM_PROVIDER_ANTHROPIC_BASE_URL、CHERRY_TEST_CUSTOM_PROVIDER_API_KEY、CHERRY_TEST_CUSTOM_PROVIDER_CHAT_MODEL、CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_BASE_URL、CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEY、CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_MODEL、CHERRY_TEST_CHERRYIN_CHAT_MODEL、CHERRY_TEST_CHERRYIN_IMAGE_MODEL、CHERRY_TEST_CHERRYIN_ACCOUNT、CHERRY_TEST_CHERRYIN_PASSWORD 等变量与密钥。用例通过 caseDefinition('S-01') 从清单注册,cases.ts 管理用例 ID、标题、任务标签、阶段与能力要求。聚焦执行示例:pnpm exec tsx scripts/e2e/regression/cli.ts run-phase --run-dir /absolute/run-directory --phase 02-basic-features;枚举用例:CHERRY_TEST_RUN_DIR=/tmp/cherry-regression-list pnpm test:e2e:regression --list。修改框架后运行 pnpm exec vitest run --project scripts scripts/e2e/regression、pnpm typecheck:e2e、pnpm test:lint。
限制:不要添加 LLM 工具循环、MCP 控制服务器、轮次限制或为每个测试二次启动 Electron;仅当用例契约明确验证持久化或从干净启动配置切换到已认证共享配置时才允许重启。不得打印凭据、写入 fixture、附加到 Playwright 产物或传给无关操作;含凭据的测试不要启用 Playwright Trace。不要对 cherry-electron-dev 拥有的 Electron 实例调用回归清理命令。不要用 pnpm test 或 pnpm build:check 替代该聚焦工作流。