{ "config": { "configFile": "/opt/company-finance-system/frontend/playwright.config.ts", "rootDir": "/opt/company-finance-system/frontend/e2e", "forbidOnly": false, "fullyParallel": false, "globalSetup": null, "globalTeardown": null, "globalTimeout": 0, "grep": {}, "grepInvert": null, "maxFailures": 0, "metadata": { "actualWorkers": 1 }, "preserveOutput": "always", "projects": [ { "outputDir": "/opt/company-finance-system/frontend/test-results", "repeatEach": 1, "retries": 0, "metadata": { "actualWorkers": 1 }, "id": "chromium", "name": "chromium", "testDir": "/opt/company-finance-system/frontend/e2e", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 30000 } ], "quiet": false, "reporter": [ [ "html", { "open": "never" } ], [ "json", { "outputFile": "test-results/results.json" } ] ], "reportSlowTests": { "max": 5, "threshold": 300000 }, "shard": null, "tags": [], "updateSnapshots": "missing", "updateSourceMethod": "patch", "version": "1.59.1", "workers": 1, "webServer": null }, "suites": [ { "title": "e2e-tests.spec.ts", "file": "e2e-tests.spec.ts", "column": 0, "line": 0, "specs": [ { "title": "T01 - 正确登录跳转到仪表板", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 2936, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:28.650Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-264e673f2dc4797c1b3d", "file": "e2e-tests.spec.ts", "line": 17, "column": 1 }, { "title": "T02 - 错误密码显示错误提示", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 3244, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:31.808Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-24599c85b35707847ca1", "file": "e2e-tests.spec.ts", "line": 25, "column": 1 }, { "title": "T03 - 空用户名登录显示验证", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 2675, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:35.107Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-193f167faebfb8a63eaa", "file": "e2e-tests.spec.ts", "line": 33, "column": 1 }, { "title": "T04 - 退出登录跳转到登录页", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 5635, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:37.828Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-386d12fc874d6e08b0be", "file": "e2e-tests.spec.ts", "line": 46, "column": 1 }, { "title": "T05 - 页面正常加载 (/dashboard)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 5097, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:43.492Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-9ff70c8c102bf4ea13b6", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T06 - 页面正常加载 (/projects)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4809, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:48.622Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-de1a409ef89bc476129f", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T07 - 页面正常加载 (/products)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4963, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:53.463Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-5ae0a216be5e30e1734c", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T08 - 页面正常加载 (/purchase-requests)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 5026, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:16:58.473Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-03b255df58dca16f9f08", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T09 - 页面正常加载 (/purchase-orders)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4937, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:03.532Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-64c4e8563dc176fcc14d", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T10 - 页面正常加载 (/suppliers)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 5092, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:08.503Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-72d2979b7d488bce07d0", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T11 - 页面正常加载 (/customers)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4862, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:13.627Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-e88252bdc194c50bec44", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T12 - 页面正常加载 (/subcontractors)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4847, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:18.531Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-19b9b2d3d2f6c07fd287", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T13 - 页面正常加载 (/logistics-companies)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4869, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:23.418Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-2c16a13e573607304a02", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T14 - 页面正常加载 (/finance)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4919, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:28.335Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-49ec8d83dbc67433f181", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T15 - 页面正常加载 (/exchange-rates)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4977, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:33.291Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-8dcd0b2dd66451ca3372", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T16 - 页面正常加载 (/admin/users)", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4969, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:38.293Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-974466f60b1ff16780be", "file": "e2e-tests.spec.ts", "line": 72, "column": 3 }, { "title": "T17 - 创建供应商", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 8584, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:43.286Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-49fbd76673bedf762768", "file": "e2e-tests.spec.ts", "line": 82, "column": 1 }, { "title": "T18 - 编辑供应商", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4865, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:51.898Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-76a096af6e1ceed8af5a", "file": "e2e-tests.spec.ts", "line": 95, "column": 1 }, { "title": "T19 - 删除供应商", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4926, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:17:56.796Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-c81ec4cddba544d43d7b", "file": "e2e-tests.spec.ts", "line": 111, "column": 1 }, { "title": "T20 - 创建客户", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 9078, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:01.761Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-eced1fb91e9dd62fd0e6", "file": "e2e-tests.spec.ts", "line": 125, "column": 1 }, { "title": "T21 - 创建分包商", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 8532, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:10.869Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-dc79cc87182e5b46b7db", "file": "e2e-tests.spec.ts", "line": 138, "column": 1 }, { "title": "T22 - 创建物流公司", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 8603, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:19.463Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-174d926409fb25ff1151", "file": "e2e-tests.spec.ts", "line": 151, "column": 1 }, { "title": "T23 - 创建采购申请", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 9383, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:28.096Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-4ab645989c14d9ff2e57", "file": "e2e-tests.spec.ts", "line": 164, "column": 1 }, { "title": "T24 - 提交采购申请", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4659, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:37.517Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-c9c2b4c5328c9e767803", "file": "e2e-tests.spec.ts", "line": 185, "column": 1 }, { "title": "T25 - 审批采购申请", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4993, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:42.211Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-133aecdd934a09143b8b", "file": "e2e-tests.spec.ts", "line": 198, "column": 1 }, { "title": "T29 - 创建预支申请", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 10320, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:47.249Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-78eb6f8437bf7f3f7866", "file": "e2e-tests.spec.ts", "line": 214, "column": 1 }, { "title": "T32 - 创建报销申请 [BUG: 需要关联项目]", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 9152, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:18:57.603Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-652293bd3aed98b31a05", "file": "e2e-tests.spec.ts", "line": 237, "column": 1 }, { "title": "T35 - 商品列表展示数据", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4806, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:19:06.792Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-69946bf2795b6e0b61de", "file": "e2e-tests.spec.ts", "line": 253, "column": 1 }, { "title": "T36 - 搜索商品过滤列表", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 6798, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:19:11.626Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-d88f050ee646dbeb3f84", "file": "e2e-tests.spec.ts", "line": 261, "column": 1 }, { "title": "T39 - 审批管理页正常加载", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4793, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:19:18.455Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-f4d96520e8cd35214c2a", "file": "e2e-tests.spec.ts", "line": 275, "column": 1 }, { "title": "T40 - 执行管理页正常加载", "ok": true, "tags": [], "tests": [ { "timeout": 30000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4783, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-04-19T15:19:23.309Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "b206d3bb6522049888c6-8657d5238f4f47e78fe2", "file": "e2e-tests.spec.ts", "line": 283, "column": 1 } ] } ], "errors": [], "stats": { "startTime": "2026-04-19T15:16:27.647Z", "duration": 180550.853, "expected": 31, "skipped": 0, "unexpected": 0, "flaky": 0 } }