You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
leiyun 56ecec05cd test: 重建远程终端 V2 生命周期回归 преди 3 седмици
scripts test: 重建远程终端 V2 生命周期回归 преди 3 седмици
tests test: 重建远程终端 V2 生命周期回归 преди 3 седмици
.env.example test: 补充数字人资源与声音克隆验收 преди 4 седмици
.gitignore test: 补充数字人资源与声音克隆验收 преди 4 седмици
README.md test: 建立数字人全量 E2E 测试方案 преди 1 месец
mise.toml test: 建立数字人全量 E2E 测试方案 преди 1 месец
package.json test: 建立数字人全量 E2E 测试方案 преди 1 месец
playwright.config.ts test: 补充数字人资源与声音克隆验收 преди 4 седмици
pnpm-lock.yaml test: 建立数字人全量 E2E 测试方案 преди 1 месец
tsconfig.json test: 建立数字人全量 E2E 测试方案 преди 1 месец

README.md

AI Person E2E

这是独立的 Playwright 真实联调工程。test:full 默认会为当前批次自动启动并回收隔离的临时 API 与 Web,Web 使用随机本机端口并代理到临时 API;测试仍连接真实开发数据库和真实本地/上游能力,不使用业务 Mock,也不会把《账号.MD》中的凭据复制到工程、日志或报告。

执行

确认 ai_person_webai_person_api 的依赖已经安装后,在本目录执行;无需提前手工启动 8001/8003:

pnpm install --frozen-lockfile
pnpm run install:browsers
pnpm run test:full

临时进程使用仅存在于本次子进程环境中的随机远控 Pepper 和敏感词导入签名密钥,运行结束后会被精确回收。确需复用已启动的联调服务时,可设置 E2E_USE_EXISTING_STACK=true;其他可选项见 .env.example

在执行 Playwright 前,runner 会调用 API 项目的 scripts/seed_demo_business_data.py --summary-json,按 manifest 幂等补齐持久演示数据并校验演示媒体文件;摘要保存在本批次的 demo-seed-summary.json。除非调用者已经完成同一份初始化,否则不要关闭这一步。

每次完整运行会生成独立目录:

artifacts/runs/<runId>/
  screenshots/
  test-results/
  html-report/
  results.json
  verification.json
  全量E2E测试报告.md

环境变量可写入本地 .env(已忽略),模板见 .env.example。账号默认从 ../账号.MD 读取,仅支持 UTF-8 的“账号:…”与“密码:…”两项。

所有真实写入统一使用 APE2E-<runId> 标记,并在用例 finally 中逆序清理。全局菜单、品牌与基础配置必须快照后恢复;外部数字人、ASR/TTS、FFmpeg、第三方知识、实际终端等条件不满足时必须明确跳过,不能用 Mock 冒充联调成功。

逐页视觉验收不再只检查路由和标题:每个正式数据页必须先显示至少一条真实数据库行/卡片,并命中 ../ai_person_api/scripts/demo_seed_manifest.json 中对应 DEMO- 演示实体的名称、编码或 slug,随后才允许生成成功截图。IAM、基础设置、菜单和个人中心也分别校验真实表格行、配置值或角色数据;空列表会直接使本批次失败。DEMO- 数据是开发环境的持久演示数据,不属于测试临时数据,后验收只清理 APE2E- 资源。

由于用例会填写真实密码、API Key 和一次性密钥,工程全局关闭 trace/video;成功和失败均保留全页截图,敏感输入区域由用例显式遮罩或在截图前清空。

test:full 在 Playwright 结束后还会自动执行后验收:扫描文本制品中的真实密码、Bearer/JWT 和测试临时密码,确认没有 trace/video,并通过正式 API 查询 IAM、配置、菜单与各业务资源中是否还存在 APE2E 标记数据。结果写入 verification.json 并汇总到 Markdown 报告。