Files
msh-system/scripts/logs/launchd-fix-all.log
scottpan 4be53dcd1b feat: 集成 KieAI 服务,移除 models-integration 子项目
- 添加 Gemini 2.5 Flash 对话接口(流式+非流式)
- 添加 NanoBanana 图像生成/编辑接口
- 添加 Sora2 视频生成接口(文生视频、图生视频、去水印)
- 移除 models-integration 子项目(功能已迁移至主后端)
- 新增测试文档和 Playwright E2E 配置
- 更新前端页面和 API 接口
- 更新后端配置和日志处理
2026-03-03 15:33:50 +08:00

5565 lines
481 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
═══════════════════════════════════════════════
[2026-03-02 16:02:59] ▶ 阶段 0 — 基线确认(运行回归测试,记录当前失败情况)
═══════════════════════════════════════════════
Running 10 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (31.6s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (retry #1) (31.4s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (11.7s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (retry #1) (11.8s)
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (30.6s)
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (30.5s)
✘ 7 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (16.4s)
✘ 8 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (15.9s)
✓ 9 [mobile-chrome] tests/e2e/bug-regression.spec.ts:277:5 TC-B04 食物详情页正常加载内容 (18.4s)
✘ 10 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (30.7s)
✘ 11 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (30.5s)
✘ 12 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (31.6s)
✘ 13 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (31.7s)
[PageError] 文章不存在
✘ 14 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (18.2s)
[PageError] 文章不存在
✘ 15 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (18.3s)
✓ 16 [mobile-chrome] tests/e2e/bug-regression.spec.ts:433:5 TC-B08 帖子详情页展示营养统计数据 (8.2s)
✘ 17 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (4.7s)
✘ 18 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (4.7s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ─────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ─────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
6) [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
7) [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8) [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ─────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
2 passed (7.5m)
[2026-03-02 16:10:32] 基线记录完成
═══════════════════════════════════════════════
[2026-03-02 16:10:32] ▶ 阶段 1 — 快速修复BUG-002, BUG-006, BUG-009
═══════════════════════════════════════════════
[2026-03-02 16:10:32] [BUG-002] 启动 Cursor Agent 修复...
[2026-03-02 16:10:39] [BUG-002] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-002-161032.log
[2026-03-02 16:10:39] [BUG-006] 启动 Cursor Agent 修复...
[2026-03-02 16:10:45] [BUG-006] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-006-161039.log
[2026-03-02 16:10:45] [BUG-009] 启动 Cursor Agent 修复...
[2026-03-02 16:10:51] [BUG-009] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-009-161045.log
[2026-03-02 16:10:51] [阶段1] 阶段1修复完成进行局部验证...
[2026-03-02 16:10:51] [TEST] 验证: TC-B02|TC-B06|TC-B09
Running 3 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (30.5s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (30.6s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (31.6s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (31.7s)
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (4.8s)
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (4.7s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ─────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
═══════════════════════════════════════════════
[2026-03-02 16:13:36] ▶ 阶段 2 — 中等修复BUG-001, BUG-007
═══════════════════════════════════════════════
[2026-03-02 16:13:36] [BUG-001] 启动 Cursor Agent 修复...
[2026-03-02 16:13:43] [BUG-001] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-001-161336.log
[2026-03-02 16:13:43] [BUG-007] 启动 Cursor Agent 修复...
[2026-03-02 16:13:48] [BUG-007] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-007-161343.log
[2026-03-02 16:13:49] [阶段2] 阶段2修复完成进行局部验证...
[2026-03-02 16:13:49] [TEST] 验证: TC-B01|TC-B07
Running 3 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (31.6s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (retry #1) (31.7s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (11.9s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (retry #1) (11.8s)
[PageError] 文章不存在
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (18.3s)
[PageError] 文章不存在
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (18.4s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ─────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ─────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
═══════════════════════════════════════════════
[2026-03-02 16:16:23] ▶ 阶段 3 — 数据展示修复BUG-003, BUG-008
═══════════════════════════════════════════════
[2026-03-02 16:16:23] [BUG-003] 启动 Cursor Agent 修复...
[2026-03-02 16:16:31] [BUG-003] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-003-161623.log
[2026-03-02 16:16:31] [BUG-008] 启动 Cursor Agent 修复...
[2026-03-02 16:16:38] [BUG-008] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-008-161631.log
[2026-03-02 16:16:38] [阶段3] 阶段3修复完成进行局部验证...
[2026-03-02 16:16:38] [TEST] 验证: TC-B03|TC-B08
Running 2 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (16.7s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (17.1s)
✓ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:433:5 TC-B08 帖子详情页展示营养统计数据 (8.4s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
1 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
1 passed (56.3s)
═══════════════════════════════════════════════
[2026-03-02 16:17:37] ▶ 阶段 4 — 复杂修复BUG-004, BUG-005
═══════════════════════════════════════════════
[2026-03-02 16:17:37] [BUG-004] 启动 Cursor Agent 修复...
[2026-03-02 16:17:43] [BUG-004] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-004-161737.log
[2026-03-02 16:17:43] [BUG-005] 启动 Cursor Agent 修复...
[2026-03-02 16:17:50] [BUG-005] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-005-161743.log
═══════════════════════════════════════════════
[2026-03-02 16:19:17] ▶ 阶段 0 — 基线确认(运行回归测试,记录当前失败情况)
═══════════════════════════════════════════════
Running 10 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (31.5s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (retry #1) (31.5s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (11.6s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (retry #1) (11.7s)
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (30.5s)
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (30.5s)
✘ 7 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (17.7s)
✘ 8 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (16.2s)
✓ 9 [mobile-chrome] tests/e2e/bug-regression.spec.ts:277:5 TC-B04 食物详情页正常加载内容 (19.5s)
✘ 10 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (30.6s)
✘ 11 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (30.7s)
✘ 12 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (31.7s)
✘ 13 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (31.8s)
[PageError] 文章不存在
✘ 14 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (18.3s)
[PageError] 文章不存在
✘ 15 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (18.2s)
✓ 16 [mobile-chrome] tests/e2e/bug-regression.spec.ts:433:5 TC-B08 帖子详情页展示营养统计数据 (8.2s)
✘ 17 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (4.5s)
✘ 18 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (4.6s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ─────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ─────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
6) [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
7) [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8) [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ─────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
2 passed (7.5m)
═══════════════════════════════════════════════
[2026-03-02 16:43:17] ▶ 阶段 0 — 基线确认(运行回归测试,记录当前失败情况)
═══════════════════════════════════════════════
Running 10 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (31.5s)
═══════════════════════════════════════════════
[2026-03-02 16:44:23] ▶ 阶段 0 — 基线确认(运行回归测试,记录当前失败情况)
═══════════════════════════════════════════════
Running 10 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (31.6s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (retry #1) (31.7s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (11.7s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (retry #1) (11.7s)
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (30.6s)
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (30.5s)
✘ 7 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (16.4s)
✘ 8 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (16.0s)
✓ 9 [mobile-chrome] tests/e2e/bug-regression.spec.ts:277:5 TC-B04 食物详情页正常加载内容 (18.6s)
✘ 10 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (30.7s)
✘ 11 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (30.6s)
✘ 12 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (31.5s)
✘ 13 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (31.7s)
[PageError] 文章不存在
✘ 14 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (18.4s)
[PageError] 文章不存在
✘ 15 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (18.2s)
✓ 16 [mobile-chrome] tests/e2e/bug-regression.spec.ts:433:5 TC-B08 帖子详情页展示营养统计数据 (8.3s)
✘ 17 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (4.7s)
✘ 18 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (4.9s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ─────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ─────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 30
Received: 0
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
6) [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
7) [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.conter, .article-content, .content-scroll').first()
Expected: visible
Received: hidden
Timeout: 8000ms
Call log:
 - Expect "toBeVisible" with timeout 8000ms
 - waiting for locator('.conter, .article-content, .content-scroll').first()
 12 × locator resolved to <uni-view class="conter" data-v-831dd3a8="">…</uni-view>
 - unexpected value "hidden"
401 | await page.waitForTimeout(3000);
402 | const contentArea = page.locator('.conter, .article-content, .content-scroll').first();
> 403 | await expect(contentArea).toBeVisible({ timeout: 8_000 });
| ^
404 | const contentText = await contentArea.textContent();
405 | expect((contentText || '').trim().length, '饮食指南详情应有正文').toBeGreaterThan(50);
406 | await expect(page.locator('.empty-placeholder').filter({ hasText: '暂无' })).toHaveCount(0);
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:403:31
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8) [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ─────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 帖子类型 "dinner" 应含中文表述
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
491 | if (label.length > 0) {
492 | const hasChinese = /[\u4e00-\u9fa5]/.test(label);
> 493 | expect(hasChinese, `帖子类型 "${label}" 应含中文表述`).toBe(true);
| ^
494 | }
495 | }
496 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:493:52
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
2 passed (7.5m)
[2026-03-02 16:51:57] 基线记录完成
═══════════════════════════════════════════════
[2026-03-02 16:51:57] ▶ 阶段 1 — 快速修复BUG-002, BUG-006, BUG-009
═══════════════════════════════════════════════
[2026-03-02 16:51:57] [BUG-002] 启动 Cursor Agent 修复...
[2026-03-02 16:53:32] [BUG-002] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-002-165157.log
[2026-03-02 16:53:32] [BUG-006] 启动 Cursor Agent 修复...
[2026-03-02 16:54:26] [BUG-006] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-006-165332.log
[2026-03-02 16:54:26] [BUG-009] 启动 Cursor Agent 修复...
[2026-03-02 16:55:44] [BUG-009] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-009-165426.log
[2026-03-02 16:55:44] [阶段1] 阶段1修复完成进行局部验证...
[2026-03-02 16:55:44] [TEST] 验证: TC-B02|TC-B06|TC-B09
Running 3 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (30.5s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (30.5s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (31.6s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (31.7s)
✓ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (4.8s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
1 passed (2.5m)
═══════════════════════════════════════════════
[2026-03-02 16:58:18] ▶ 阶段 2 — 中等修复BUG-001, BUG-007
═══════════════════════════════════════════════
[2026-03-02 16:58:18] [BUG-001] 启动 Cursor Agent 修复...
[2026-03-02 17:00:40] [BUG-001] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-001-165818.log
[2026-03-02 17:00:40] [BUG-007] 启动 Cursor Agent 修复...
[2026-03-02 17:04:35] [BUG-007] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-007-170040.log
[2026-03-02 17:04:35] [阶段2] 阶段2修复完成进行局部验证...
[2026-03-02 17:04:35] [TEST] 验证: TC-B01|TC-B07
Running 3 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (31.4s)
✓ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (retry #1) (7.5s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (11.7s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (retry #1) (11.7s)
✓ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (8.5s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ─────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 40
Received: 10
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 40
Received: 10
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ─────────────────
Test timeout of 30000ms exceeded.
Error: page.waitForTimeout: Target page, context or browser has been closed
133 | expect(pointsDuring, '打卡点击后 800ms 内积分不应提前增加 30').toBeLessThanOrEqual(initialPoints + 1);
134 |
> 135 | await page.waitForTimeout(2000);
| ^
136 | await screenshot(page, 'tc-b01a-checkin-clicked');
137 | });
138 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:135:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-打卡前积分无提前跳变-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
1 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ──────────────────
1 flaky
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 ──────────────────
1 passed (1.5m)
═══════════════════════════════════════════════
[2026-03-02 17:06:07] ▶ 阶段 3 — 数据展示修复BUG-003, BUG-008
═══════════════════════════════════════════════
[2026-03-02 17:06:07] [BUG-003] 启动 Cursor Agent 修复...
[2026-03-02 17:09:07] [BUG-003] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-003-170607.log
[2026-03-02 17:09:07] [BUG-008] 启动 Cursor Agent 修复...
[2026-03-02 17:12:51] [BUG-008] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-008-170907.log
[2026-03-02 17:12:51] [阶段3] 阶段3修复完成进行局部验证...
[2026-03-02 17:12:51] [TEST] 验证: TC-B03|TC-B08
Running 2 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (21.5s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (29.5s)
✓ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:433:5 TC-B08 帖子详情页展示营养统计数据 (8.2s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
1 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
1 passed (1.2m)
═══════════════════════════════════════════════
[2026-03-02 17:14:09] ▶ 阶段 4 — 复杂修复BUG-004, BUG-005
═══════════════════════════════════════════════
[2026-03-02 17:14:09] [BUG-004] 启动 Cursor Agent 修复...
[2026-03-02 17:18:12] [BUG-004] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-004-171409.log
[2026-03-02 17:18:12] [BUG-005] 启动 Cursor Agent 修复...
[2026-03-02 17:22:19] [BUG-005] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-005-171812.log
[2026-03-02 17:22:19] [阶段4] 阶段4修复完成进行局部验证...
[2026-03-02 17:22:19] [TEST] 验证: TC-B04|TC-B05
Running 2 tests using 1 worker
✓ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:277:5 TC-B04 食物详情页正常加载内容 (20.0s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (30.7s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (30.6s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
1 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
1 passed (1.6m)
═══════════════════════════════════════════════
[2026-03-02 17:23:57] ▶ 阶段 5 — 全量回归测试 + 报告生成
═══════════════════════════════════════════════
[2026-03-02 17:23:57] [TEST] 全量回归测试...
Running 10 tests using 1 worker
✓ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 打卡前积分无提前跳变 (7.4s)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (11.6s)
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 (retry #1) (11.6s)
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (30.6s)
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (30.5s)
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (18.2s)
✘ 7 [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (16.4s)
✓ 8 [mobile-chrome] tests/e2e/bug-regression.spec.ts:277:5 TC-B04 食物详情页正常加载内容 (19.3s)
✘ 9 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (30.6s)
✘ 10 [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (30.9s)
✘ 11 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (31.8s)
✘ 12 [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (31.6s)
✓ 13 [mobile-chrome] tests/e2e/bug-regression.spec.ts:386:5 TC-B07 饮食指南和科普文章详情页有正常内容 (8.5s)
✓ 14 [mobile-chrome] tests/e2e/bug-regression.spec.ts:433:5 TC-B08 帖子详情页展示营养统计数据 (8.1s)
✓ 15 [mobile-chrome] tests/e2e/bug-regression.spec.ts:468:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (4.8s)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ─────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 40
Received: 10
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 打卡成功后积分应至少增加 30
expect(received).toBeGreaterThanOrEqual(expected)
Expected: >= 40
Received: 10
158 | const afterText = await afterEl.textContent();
159 | const afterPoints = parsePointsFromText(afterText || '');
> 160 | expect(afterPoints, '打卡成功后积分应至少增加 30').toBeGreaterThanOrEqual(initialPoints + 30);
| ^
161 | } else {
162 | test.skip();
163 | }
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:160:44
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-打卡后积分按规则累加-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first()
196 |
197 | const calcBtn = page.locator('.submit-btn, .calc-btn, button').filter({ hasText: /计算|确定|提交/ }).first();
> 198 | await calcBtn.click();
| ^
199 | await page.waitForTimeout(3500);
200 |
201 | const resultPage = page.locator('.result-page').first();
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:198:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: 食物条目 1 应有配图 src
expect(received).toBeTruthy()
Received: null
259 | if (await img.count() > 0) {
260 | const src = await img.getAttribute('src');
> 261 | expect(src, `食物条目 ${i + 1} 应有配图 src`).toBeTruthy();
| ^
262 | expect((src || '').trim().length).toBeGreaterThan(0);
263 | }
264 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:261:45
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
 - waiting for locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first()
324 | await textInput.fill('什么食物富含蛋白质?');
325 | const sendBtn = page.locator('.send-btn, .submit-btn').filter({ hasText: /发送/ }).first();
> 326 | await sendBtn.click();
| ^
327 | await page.waitForTimeout(6000);
328 |
329 | const aiMessages1 = page.locator('.message-item.ai-message .message-text');
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:326:17
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
373 |
374 | expect(mainIsHealth || mainIsNutrition).toBe(true);
> 375 | expect(detailIsHealth || detailIsNutrition).toBe(true);
| ^
376 | expect(mainName === detailName || (mainIsHealth && detailIsHealth) || (mainIsNutrition && detailIsNutrition),
377 | '主页区块名称与营养知识页标题应统一(均为健康知识或均为营养知识)').toBe(true);
378 |
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:375:47
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:139:5 TC-B01b 打卡后积分按规则累加 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:171:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:238:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:311:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:352:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
5 passed (5.7m)
[2026-03-02 17:29:45] [TEST] 全量回归完成,报告: tests/e2e/reports/index.html
[2026-03-02 17:29:45] ────────────────────────────────────────────────
[2026-03-02 17:29:45] 全部阶段完成总耗时45 分钟2722 秒)
[2026-03-02 17:29:45] 回归报告:/Users/apple/scott2026/msh-system/tests/e2e/reports/index.html
[2026-03-02 17:29:45] 详细日志:/Users/apple/scott2026/msh-system/scripts/logs/fix-bugs-20260302_1644.log
[2026-03-02 17:29:45] ────────────────────────────────────────────────
═══════════════════════════════════════════════
[2026-03-03 10:20:50] ▶ 阶段 0 — 基线确认(运行回归测试,记录当前失败情况)
═══════════════════════════════════════════════
Running 10 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 (400ms)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 (retry #1) (357ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 (381ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 (retry #1) (318ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (369ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (402ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 7 [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 (397ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 8 [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (389ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 9 [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 (382ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 10 [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 (retry #1) (377ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 11 [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 (387ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 12 [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (381ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 13 [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 (316ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 14 [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (397ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 15 [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 (386ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 16 [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (388ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 17 [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 (375ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 18 [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 (retry #1) (389ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 19 [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (407ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 20 [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (350ms)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 ───────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:115:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:115:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 ─────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/checkin
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/checkin", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:136:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/checkin
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/checkin", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:136:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:191:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:191:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:258:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:258:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 ─────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:297:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:297:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
6) [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:332:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:332:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
7) [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:373:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:373:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8) [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/nutrition-knowledge
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/nutrition-knowledge", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:407:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/nutrition-knowledge
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/nutrition-knowledge", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:407:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
9) [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 ───────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:454:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:454:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
10) [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:489:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:489:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
10 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 ────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 ──────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 ────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
[2026-03-03 10:21:56] 基线记录完成
═══════════════════════════════════════════════
[2026-03-03 10:21:56] ▶ 阶段 1 — 快速修复BUG-002, BUG-006, BUG-009
═══════════════════════════════════════════════
[2026-03-03 10:21:56] [BUG-002] 启动 Cursor Agent 修复...
[2026-03-03 10:22:42] [BUG-002] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-002-102156.log
[2026-03-03 10:22:42] [BUG-006] 启动 Cursor Agent 修复...
[2026-03-03 10:23:38] [BUG-006] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-006-102242.log
[2026-03-03 10:23:38] [BUG-009] 启动 Cursor Agent 修复...
[2026-03-03 10:24:23] [BUG-009] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-009-102338.log
[2026-03-03 10:24:23] [阶段1] 阶段1修复完成进行局部验证...
[2026-03-03 10:24:23] [TEST] 验证: TC-B02|TC-B06|TC-B09
Running 3 tests using 1 worker
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (340ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (349ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 (438ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (477ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (553ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (514ms)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:191:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:191:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:373:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:373:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ─────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:489:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:489:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
═══════════════════════════════════════════════
[2026-03-03 10:24:47] ▶ 阶段 2 — 中等修复BUG-001, BUG-007
═══════════════════════════════════════════════
[2026-03-03 10:24:47] [BUG-001] 启动 Cursor Agent 修复...
[2026-03-03 10:26:27] [BUG-001] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-001-102447.log
[2026-03-03 10:26:27] [BUG-007] 启动 Cursor Agent 修复...
[2026-03-03 10:28:16] [BUG-007] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-007-102627.log
[2026-03-03 10:28:16] [阶段2] 阶段2修复完成进行局部验证...
[2026-03-03 10:28:16] [TEST] 验证: TC-B01|TC-B07
Running 3 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 (665ms)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 (retry #1) (504ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 (492ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 (retry #1) (551ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 (538ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (534ms)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 ───────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:115:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:115:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 ─────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/checkin
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/checkin", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:136:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/checkin
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/checkin", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:136:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/nutrition-knowledge
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/nutrition-knowledge", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:407:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/nutrition-knowledge
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/nutrition-knowledge", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:407:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 ────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 ──────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
═══════════════════════════════════════════════
[2026-03-03 10:28:46] ▶ 阶段 3 — 数据展示修复BUG-003, BUG-008
═══════════════════════════════════════════════
[2026-03-03 10:28:46] [BUG-003] 启动 Cursor Agent 修复...
[2026-03-03 10:32:47] [BUG-003] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-003-102846.log
[2026-03-03 10:32:47] [BUG-008] 启动 Cursor Agent 修复...
[2026-03-03 10:34:55] [BUG-008] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-008-103247.log
[2026-03-03 10:34:55] [阶段3] 阶段3修复完成进行局部验证...
[2026-03-03 10:34:55] [TEST] 验证: TC-B03|TC-B08
Running 2 tests using 1 worker
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 (354ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (379ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 (340ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 (retry #1) (301ms)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:258:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:258:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 ───────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:454:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:454:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 ────────────────
═══════════════════════════════════════════════
[2026-03-03 10:35:10] ▶ 阶段 4 — 复杂修复BUG-004, BUG-005
═══════════════════════════════════════════════
[2026-03-03 10:35:10] [BUG-004] 启动 Cursor Agent 修复...
[2026-03-03 10:38:33] [BUG-004] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-004-103510.log
[2026-03-03 10:38:33] [BUG-005] 启动 Cursor Agent 修复...
[2026-03-03 10:40:03] [BUG-005] Agent 执行完成 → /Users/apple/scott2026/msh-system/scripts/logs/agent-BUG-005-103833.log
[2026-03-03 10:40:03] [阶段4] 阶段4修复完成进行局部验证...
[2026-03-03 10:40:03] [TEST] 验证: TC-B04|TC-B05
Running 2 tests using 1 worker
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 (354ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 (retry #1) (328ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 (336ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (339ms)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 ─────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:297:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:297:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:332:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:332:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
═══════════════════════════════════════════════
[2026-03-03 10:40:15] ▶ 阶段 5 — 全量回归测试 + 报告生成
═══════════════════════════════════════════════
[2026-03-03 10:40:15] [TEST] 全量回归测试...
Running 10 tests using 1 worker
✘ 1 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 (335ms)
✘ 2 [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 (retry #1) (354ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 3 [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 (351ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 4 [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 (retry #1) (338ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 5 [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (359ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 6 [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 (retry #1) (347ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 7 [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 (341ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 8 [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 (retry #1) (321ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 9 [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 (341ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 10 [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 (retry #1) (338ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 11 [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 (341ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 12 [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 (retry #1) (373ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 13 [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 (415ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 14 [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 (retry #1) (308ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 15 [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 (356ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 16 [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 (retry #1) (372ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 17 [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 (304ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 18 [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 (retry #1) (303ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 19 [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (342ms)
[PageError] Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
✘ 20 [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 (retry #1) (356ms)
1) [mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 ───────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:115:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:115:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01a-未登录点击打卡跳转登录页-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 ─────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/checkin
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/checkin", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:136:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/checkin
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/checkin", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:136:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B01b-登录后第一次打卡成功且同一天第二次仅允许一次-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ──────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:191:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:191:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B02-计算结果页-Tab-切换选中状态清晰-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 ────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:258:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:258:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B03-食物列表每条目展示图片与营养信息-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 ─────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:297:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/food-encyclopedia
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/food-encyclopedia", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:297:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B04-食物详情页正常加载内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
6) [mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 ─────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:332:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:332:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B05-AI针对不同问题返回差异化回复-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
7) [mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 ──────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:373:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/index
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/index", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:373:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B06-健康知识与营养知识名称统一性-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8) [mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 ───────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/nutrition-knowledge
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/nutrition-knowledge", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:407:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool/nutrition-knowledge
Call log:
 - navigating to "http://localhost:8080/#/pages/tool/nutrition-knowledge", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:407:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B07-饮食指南和科普文章详情页有正常内容-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
9) [mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 ───────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:454:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:454:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B08-帖子详情页展示营养统计数据-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
10) [mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:489:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:8080/#/pages/tool_main/community
Call log:
 - navigating to "http://localhost:8080/#/pages/tool_main/community", waiting until "load"
61 |
62 | async function goto(page: Page, route: string, waitMs = 2500): Promise<void> {
> 63 | await page.goto(`${BASE}/#/${route}`);
| ^
64 | await page.waitForTimeout(waitMs);
65 | }
66 |
at goto (/Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:63:14)
at /Users/apple/scott2026/msh-system/tests/e2e/bug-regression.spec.ts:489:9
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
Usage:
npx playwright show-trace tests/e2e/test-results/bug-regression-TC-B09-社区-Tab-标签和帖子类型均使用中文-mobile-chrome-retry1/trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
10 failed
[mobile-chrome] tests/e2e/bug-regression.spec.ts:114:5 TC-B01a 未登录点击打卡跳转登录页 ────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:134:5 TC-B01b 登录后第一次打卡成功且同一天第二次仅允许一次 ──────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:189:5 TC-B02 计算结果页 Tab 切换选中状态清晰 ───────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:256:5 TC-B03 食物列表每条目展示图片与营养信息 ─────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:295:5 TC-B04 食物详情页正常加载内容 ──────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:329:5 TC-B05 AI针对不同问题返回差异化回复 ──────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:371:5 TC-B06 健康知识与营养知识名称统一性 ───────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:405:5 TC-B07 饮食指南和科普文章详情页有正常内容 ────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:452:5 TC-B08 帖子详情页展示营养统计数据 ────────────────
[mobile-chrome] tests/e2e/bug-regression.spec.ts:487:5 TC-B09 社区 Tab 标签和帖子类型均使用中文 ──────────
[2026-03-03 10:41:12] [TEST] 全量回归完成,报告: tests/e2e/reports/index.html
[2026-03-03 10:41:12] ────────────────────────────────────────────────
[2026-03-03 10:41:12] 全部阶段完成总耗时20 分钟1222 秒)
[2026-03-03 10:41:12] 回归报告:/Users/apple/scott2026/msh-system/tests/e2e/reports/index.html
[2026-03-03 10:41:12] 详细日志:/Users/apple/scott2026/msh-system/scripts/logs/fix-bugs-20260303_1020.log
[2026-03-03 10:41:12] ────────────────────────────────────────────────