{ "config": { "configFile": "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\playwright.config.ts", "rootDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests", "forbidOnly": false, "fullyParallel": false, "globalSetup": "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\global-setup.ts", "globalTeardown": "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\global-teardown.ts", "globalTimeout": 0, "grep": {}, "grepInvert": null, "maxFailures": 0, "metadata": {}, "preserveOutput": "always", "projects": [ { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "smoke", "name": "smoke", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/smoke", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 120000 }, { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "regression", "name": "regression", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/regression", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 120000 }, { "outputDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/test-results", "repeatEach": 1, "retries": 0, "metadata": {}, "id": "critical-journeys", "name": "critical-journeys", "testDir": "C:/Users/caoyg/ai/audio-tts/audio_codebuddy/tests/e2e/ui/critical-journeys", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 120000 } ], "quiet": false, "reporter": [ [ "list", null ], [ "json", { "outputFile": "test-results/results.json" } ], [ "html", { "outputFolder": "test-results/report", "open": "never" } ], [ "C:\\Users\\caoyg\\ai\\audio-tts\\audio_codebuddy\\tests\\helpers\\reporter.ts", null ] ], "reportSlowTests": { "max": 5, "threshold": 300000 }, "shard": null, "tags": [], "updateSnapshots": "missing", "updateSourceMethod": "patch", "version": "1.60.0", "workers": 1, "webServer": null }, "suites": [ { "title": "e2e\\ui\\critical-journeys\\journey-01-register-login.spec.ts", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "关键旅程 01: 注册登录", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 10, "column": 6, "specs": [ { "title": "C01-1: 发送验证码", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "a0e5a308c10a95dd72a0-c5dd930b1f23d2a0e9f2", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 23, "column": 7 }, { "title": "C01-2: 验证码登录/注册", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "a0e5a308c10a95dd72a0-c0d7bd711c2703fe3238", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 29, "column": 7 }, { "title": "C01-3: 获取用户信息", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "a0e5a308c10a95dd72a0-1bd5b59760594271a629", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 41, "column": 7 }, { "title": "C01-4: 新用户默认免费会员(memberLevel=0)", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "a0e5a308c10a95dd72a0-07954f06e1f4b6d53241", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 47, "column": 7 }, { "title": "C01-5: 首页可正常访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "a0e5a308c10a95dd72a0-5f3795546da71ee82986", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 52, "column": 7 }, { "title": "C01-6: 清理测试用户", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "a0e5a308c10a95dd72a0-87f13ff8d25b6a8df8f4", "file": "e2e/ui/critical-journeys/journey-01-register-login.spec.ts", "line": 58, "column": 7 } ] } ] }, { "title": "e2e\\ui\\critical-journeys\\journey-02-free-tts.spec.ts", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "关键旅程 02: TTS生成播放", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 10, "column": 6, "specs": [ { "title": "C02-1: 获取音色列表", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "6268f04883d4a64aef87-9225f87d33d5a7f28a62", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 29, "column": 7 }, { "title": "C02-2: 获取提供商列表", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "6268f04883d4a64aef87-a9719b743779ae3cc83f", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 37, "column": 7 }, { "title": "C02-3: 生成TTS音频任务", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "6268f04883d4a64aef87-ee75398b79d08f8948fd", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 42, "column": 7 }, { "title": "C02-4: 查询音频生成状态", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "6268f04883d4a64aef87-987879e953044946a752", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 53, "column": 7 }, { "title": "C02-5: TTS生成页可正常访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "6268f04883d4a64aef87-963d83c666d7e0be2118", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 60, "column": 7 }, { "title": "C02-6: 播放器页可正常访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "6268f04883d4a64aef87-9268ff6704775721d99f", "file": "e2e/ui/critical-journeys/journey-02-free-tts.spec.ts", "line": 66, "column": 7 } ] } ] }, { "title": "e2e\\ui\\critical-journeys\\journey-03-book-generate.spec.ts", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "关键旅程 03: 书籍生成流水线", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 10, "column": 6, "specs": [ { "title": "C03-1: 预估字数和时长", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-f7000824ffa7d61465f7", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 28, "column": 7 }, { "title": "C03-2: 检测书籍类型", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-320195663f9beeed1f24", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 38, "column": 7 }, { "title": "C03-3: 创建书籍", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-ff564b6e58490ba8412c", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 46, "column": 7 }, { "title": "C03-4: 获取书籍详情", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-5b036b9733da5e993ae2", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 58, "column": 7 }, { "title": "C03-5: 获取章节列表", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-37340947f2bcb623a0e0", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 65, "column": 7 }, { "title": "C03-6: 获取用户书籍列表", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-7fea4c386902310c415f", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 71, "column": 7 }, { "title": "C03-7: 书籍生成列表页可访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-5672daa5f741e53d23fa", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 77, "column": 7 }, { "title": "C03-8: 书籍创建页可访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "ea7593c966dafaf4a399-f80354d1d582f2c51bc5", "file": "e2e/ui/critical-journeys/journey-03-book-generate.spec.ts", "line": 83, "column": 7 } ] } ] }, { "title": "e2e\\ui\\critical-journeys\\journey-04-subscribe-play.spec.ts", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "关键旅程 04: 订阅会员解锁功能", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 10, "column": 6, "specs": [ { "title": "C04-1: 获取可用套餐列表", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-5bb68003edb5103a44e0", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 28, "column": 7 }, { "title": "C04-2: 获取单个套餐详情", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-92d2cf871800192b50d5", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 35, "column": 7 }, { "title": "C04-3: 创建支付订单", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-7736c1f2bbb5d9730178", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 41, "column": 7 }, { "title": "C04-4: 模拟支付成功回调", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-51a4b79b7afc6f199499", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 52, "column": 7 }, { "title": "C04-5: 会员等级已更新", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-6df659c2c164d9ed6d40", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 62, "column": 7 }, { "title": "C04-6: 会员中心页可访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-609e02a597cae418537b", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 69, "column": 7 }, { "title": "C04-7: 订单页可访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-a0ac12063473d2628b37", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 75, "column": 7 }, { "title": "C04-8: 查询订单列表", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "1da7154a5363e56f8abe-127593333abc1d766c08", "file": "e2e/ui/critical-journeys/journey-04-subscribe-play.spec.ts", "line": 81, "column": 7 } ] } ] }, { "title": "e2e\\ui\\critical-journeys\\journey-05-publish.spec.ts", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "关键旅程 05: 发布内容", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 10, "column": 6, "specs": [ { "title": "C05-1: 创建测试书籍用于发布", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-8e07651dbfca3985e062", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 28, "column": 7 }, { "title": "C05-2: 获取发布状态", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-45e389afde747a37264f", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 39, "column": 7 }, { "title": "C05-3: 发布书籍", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-589a7a460dab5646ac74", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 46, "column": 7 }, { "title": "C05-4: 发布页可访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-2d2303344ab80c96c70a", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 52, "column": 7 }, { "title": "C05-5: 首页可访问且显示内容", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-1a666039fbe61d3f6815", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 58, "column": 7 }, { "title": "C05-6: 获取书籍列表验证已发布", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-3bb34f81126109dd3d27", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 64, "column": 7 }, { "title": "C05-7: 播放列表页可访问", "ok": true, "tags": [], "tests": [ { "timeout": 120000, "annotations": [], "expectedStatus": "passed", "projectId": "critical-journeys", "projectName": "critical-journeys", "results": [], "status": "skipped" } ], "id": "2a6f231d8c6f22530a3a-301d8860d606548b2e69", "file": "e2e/ui/critical-journeys/journey-05-publish.spec.ts", "line": 73, "column": 7 } ] } ] } ], "errors": [], "stats": { "startTime": "2026-05-19T17:07:18.294Z", "duration": 40.00599999999997, "expected": 0, "skipped": 35, "unexpected": 0, "flaky": 0 } }