feat(e2e): Playwright E2E 前端测试基建 — 后端合成数据 mock 模式 + 5 用例 + CI

- web/e2e_mock.py:EASY_TDX_E2E_MOCK=1 时 lifespan 替换 TDX/MAC 客户端为
  确定性合成数据(CRC32 播种随机游走,分页语义对齐真实 /bars);回测/WF/
  评估/自选/策略库仍走真实后端,SSE 由 QuoteStreamer 真轮询(mock 下 2s 一拍)
- web-ui:@playwright/test + playwright.config.ts(webServer 自动起 serve,
  EASY_TDX_CONFIG_DIR 指向每轮临时目录);e2e/ 5 用例覆盖看板五指数/SSE、
  自选增删、回测全流程、附加分析(WF 柱状图+一条龙评估卡)、策略库保存
- package.json 加 test:e2e;CI frontend job 追加 E2E;verify_ci.sh 补前端段
- tests/unit/test_e2e_mock.py(11 例)守护 mock 契约;本地 npx playwright test 全绿
This commit is contained in:
GitHub
2026-09-01 22:56:38 +08:00
parent 6b67885588
commit 211052f0e3
15 changed files with 1042 additions and 18 deletions
+13
View File
@@ -76,3 +76,16 @@ jobs:
working-directory: web-ui
- run: npm run build
working-directory: web-ui
# Playwright E2Emock 模式):serve 托管刚构建的 dist,行情全部来自
# EASY_TDX_E2E_MOCK=1 合成数据,不连真实通达信服务器、不受交易时段限制。
# 需要 Python 侧 easy-tdx[web]webServer 用系统 python 启动 serve)。
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- run: pip install -e ".[web]"
- run: npx playwright install --with-deps chromium
working-directory: web-ui
- run: npm run test:e2e
working-directory: web-ui
env:
EASY_TDX_PYTHON: python