|
|
@@ -47,9 +47,30 @@ Running 57 tests using 1 worker
|
|
|
[限流] 状态分布=[200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200] 其中429=0
|
|
|
|
|
|
[43/57] [desktop] › e2e\api\nonfunc-perf-compat.spec.js:92:1 › [TC-P-N02/X-N01] 并发不串数据:并行 AI 请求各自独立响应
|
|
|
+ 1) [desktop] › e2e\api\nonfunc-perf-compat.spec.js:92:1 › [TC-P-N02/X-N01] 并发不串数据:并行 AI 请求各自独立响应 ─
|
|
|
+
|
|
|
+ Error: 第0个请求返回异常: {"code":46003,"message":"AI 教练为会员专享功能,请先开通会员","data":null}
|
|
|
+
|
|
|
+ expect(received).toBeTruthy()
|
|
|
+
|
|
|
+ Received: false
|
|
|
+
|
|
|
+ 97 | res.forEach((r, i) => {
|
|
|
+ 98 | expect(r.status, `第${i}个并行请求失败 HTTP=${r.status}`).toBe(200);
|
|
|
+ > 99 | expect(r.json && r.json.code === 200, `第${i}个请求返回异常: ${JSON.stringify(r.json).slice(0, 80)}`).toBeTruthy();
|
|
|
+ | ^
|
|
|
+ 100 | });
|
|
|
+ 101 | // 隔离信号:各并行请求应拿到各自独立的 conversationId(不串数据的关键判据)
|
|
|
+ 102 | const convIds = res.map((r) => r.json.data && r.json.data.conversationId).filter(Boolean);
|
|
|
+ at forEach (D:\cfc\tests\e2e\api\nonfunc-perf-compat.spec.js:99:99)
|
|
|
+ at D:\cfc\tests\e2e\api\nonfunc-perf-compat.spec.js:97:7
|
|
|
+
|
|
|
+ Error Context: .api-artifacts\api-nonfunc-perf-compat--T-9a7ce-X-N01-并发不串数据:并行-AI-请求各自独立响应-desktop\error-context.md
|
|
|
+
|
|
|
+
|
|
|
[44/57] [desktop] › e2e\api\nonfunc-perf-compat.spec.js:106:1 › [响应时间基线] 已登录家庭列表单请求耗时冒烟 ≤ 8s
|
|
|
[desktop] › e2e\api\nonfunc-perf-compat.spec.js:106:1 › [响应时间基线] 已登录家庭列表单请求耗时冒烟 ≤ 8s
|
|
|
-[耗时] 家庭列表 74ms
|
|
|
+[耗时] 家庭列表 79ms
|
|
|
|
|
|
[45/57] [desktop] › e2e\api\nonfunc-perf-compat.spec.js:117:6 › [TC-C-N01/X-N04] 任务打卡幂等:重复提交不重复计分(需任务流夹具)
|
|
|
[46/57] [desktop] › e2e\api\nonfunc-perf-compat.spec.js:122:6 › [TC-X-N03] 活动名额并发不超卖:100 名额 / 瞬时 500 请求(需活动夹具 + 压测授权)
|
|
|
@@ -58,7 +79,7 @@ Running 57 tests using 1 worker
|
|
|
[49/57] [desktop] › e2e\api\nonfunc-security.spec.js:60:3 › 非功能/安全接口冒烟 › [TC-G-N04] 未授权调用 AI 健康教练被拒(401/403)
|
|
|
[50/57] [desktop] › e2e\api\nonfunc-security.spec.js:66:3 › 非功能/安全接口冒烟 › [TC-P-N09] IDOR:越权访问他人家庭成员列表 → 403
|
|
|
[51/57] [desktop] › e2e\api\nonfunc-security.spec.js:75:3 › 非功能/安全接口冒烟 › [TC-A-N05] 非管理员访问后台接口被拒(401/403)
|
|
|
- 1) [desktop] › e2e\api\nonfunc-security.spec.js:75:3 › 非功能/安全接口冒烟 › [TC-A-N05] 非管理员访问后台接口被拒(401/403)
|
|
|
+ 2) [desktop] › e2e\api\nonfunc-security.spec.js:75:3 › 非功能/安全接口冒烟 › [TC-A-N05] 非管理员访问后台接口被拒(401/403)
|
|
|
|
|
|
Error: 后台接口未授权应 401/403,实际 code=500 msg=手机号和验证码不能为空
|
|
|
|
|
|
@@ -84,7 +105,7 @@ Running 57 tests using 1 worker
|
|
|
[55/57] [desktop] › e2e\api\nonfunc-security.spec.js:101:3 › 非功能/安全接口冒烟 › [TC-P-N10] AI 健康教练 XSS:query 注入脚本不回显原始脚本且不错 500
|
|
|
[56/57] [desktop] › e2e\api\nonfunc-security.spec.js:109:3 › 非功能/安全接口冒烟 › [TC-A-N06] 活动反馈存储型 XSS:提交含脚本 comment,列表不回显原始脚本
|
|
|
[57/57] [desktop] › e2e\api\nonfunc-security.spec.js:121:3 › 非功能/安全接口冒烟 › [TC-P-N11] 报告上传非 PDF/恶意内容被拒(非 200)
|
|
|
- 2) [desktop] › e2e\api\nonfunc-security.spec.js:121:3 › 非功能/安全接口冒烟 › [TC-P-N11] 报告上传非 PDF/恶意内容被拒(非 200)
|
|
|
+ 3) [desktop] › e2e\api\nonfunc-security.spec.js:121:3 › 非功能/安全接口冒烟 › [TC-P-N11] 报告上传非 PDF/恶意内容被拒(非 200)
|
|
|
|
|
|
Error: expect(received).toBeTruthy()
|
|
|
|
|
|
@@ -102,8 +123,9 @@ Running 57 tests using 1 worker
|
|
|
Error Context: .api-artifacts\api-nonfunc-security-非功能-安-18c8a-N11-报告上传非-PDF-恶意内容被拒-非-200--desktop\error-context.md
|
|
|
|
|
|
|
|
|
- 2 failed
|
|
|
+ 3 failed
|
|
|
+ [desktop] › e2e\api\nonfunc-perf-compat.spec.js:92:1 › [TC-P-N02/X-N01] 并发不串数据:并行 AI 请求各自独立响应 ──
|
|
|
[desktop] › e2e\api\nonfunc-security.spec.js:75:3 › 非功能/安全接口冒烟 › [TC-A-N05] 非管理员访问后台接口被拒(401/403)
|
|
|
[desktop] › e2e\api\nonfunc-security.spec.js:121:3 › 非功能/安全接口冒烟 › [TC-P-N11] 报告上传非 PDF/恶意内容被拒(非 200)
|
|
|
3 skipped
|
|
|
- 52 passed (49.4s)
|
|
|
+ 51 passed (54.4s)
|