speccore 8.3.333 → 8.3.341
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/spec-ask/SKILL.md +4 -0
- package/.agents/skills/spec-unitize/SKILL.md +9 -1
- package/.agents/skills/speccore-router/SKILL.md +12 -11
- package/README.en.md +3 -11
- package/README.md +3 -13
- package/dist/cli.js +64 -206
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +530 -481
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +6 -0
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +9 -7
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/doc2spec.d.ts +44 -1
- package/dist/commands/doc2spec.d.ts.map +1 -1
- package/dist/commands/doc2spec.js +257 -5
- package/dist/commands/doc2spec.js.map +1 -1
- package/dist/commands/doctor.js +3 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/done.js +1 -5
- package/dist/commands/done.js.map +1 -1
- package/dist/commands/execute.js +118 -66
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/help.js +6 -54
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +71 -47
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration/create.d.ts.map +1 -1
- package/dist/commands/iteration/create.js +72 -10
- package/dist/commands/iteration/create.js.map +1 -1
- package/dist/commands/iteration/taskify.d.ts.map +1 -1
- package/dist/commands/iteration/taskify.js +133 -35
- package/dist/commands/iteration/taskify.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +24 -2
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/prompts.d.ts +6 -0
- package/dist/commands/prompts.d.ts.map +1 -1
- package/dist/commands/prompts.js +19 -10
- package/dist/commands/prompts.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/status-panel.d.ts.map +1 -1
- package/dist/commands/status-panel.js +23 -34
- package/dist/commands/status-panel.js.map +1 -1
- package/dist/commands/unitize.d.ts +3 -0
- package/dist/commands/unitize.d.ts.map +1 -1
- package/dist/commands/unitize.js +32 -9
- package/dist/commands/unitize.js.map +1 -1
- package/dist/commands/update-env-configs.d.ts.map +1 -1
- package/dist/commands/update-env-configs.js +2 -1
- package/dist/commands/update-env-configs.js.map +1 -1
- package/dist/commands/update.d.ts +4 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +41 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/welcome.d.ts.map +1 -1
- package/dist/commands/welcome.js +41 -0
- package/dist/commands/welcome.js.map +1 -1
- package/dist/core/analyze-engine.js +3 -3
- package/dist/core/analyze-engine.js.map +1 -1
- package/dist/core/arbitration/l3-human-arbiter.js +1 -1
- package/dist/core/arbitration/l3-human-arbiter.js.map +1 -1
- package/dist/core/arbitration/verdict-generator.js +1 -1
- package/dist/core/arbitration/verdict-generator.js.map +1 -1
- package/dist/core/ask-context.d.ts.map +1 -1
- package/dist/core/ask-context.js +14 -3
- package/dist/core/ask-context.js.map +1 -1
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +55 -49
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/code-graph/reporter.d.ts.map +1 -1
- package/dist/core/code-graph/reporter.js +3 -12
- package/dist/core/code-graph/reporter.js.map +1 -1
- package/dist/core/code-graph/requirement-linker.js +1 -1
- package/dist/core/code-graph/requirement-linker.js.map +1 -1
- package/dist/core/code-scanner.js +1 -1
- package/dist/core/code-scanner.js.map +1 -1
- package/dist/core/deploy/engine.d.ts.map +1 -1
- package/dist/core/deploy/engine.js +58 -44
- package/dist/core/deploy/engine.js.map +1 -1
- package/dist/core/environment-config.d.ts +13 -0
- package/dist/core/environment-config.d.ts.map +1 -1
- package/dist/core/environment-config.js +28 -1
- package/dist/core/environment-config.js.map +1 -1
- package/dist/core/error-diagnosis.js +2 -2
- package/dist/core/error-diagnosis.js.map +1 -1
- package/dist/core/git-integration.d.ts +5 -7
- package/dist/core/git-integration.d.ts.map +1 -1
- package/dist/core/git-integration.js +137 -12
- package/dist/core/git-integration.js.map +1 -1
- package/dist/core/global-knowledge.d.ts.map +1 -1
- package/dist/core/global-knowledge.js +25 -11
- package/dist/core/global-knowledge.js.map +1 -1
- package/dist/core/handoff-generator.d.ts.map +1 -1
- package/dist/core/handoff-generator.js +3 -1
- package/dist/core/handoff-generator.js.map +1 -1
- package/dist/core/index-guard.d.ts.map +1 -1
- package/dist/core/index-guard.js +4 -26
- package/dist/core/index-guard.js.map +1 -1
- package/dist/core/intent-recognition.d.ts +1 -1
- package/dist/core/intent-recognition.d.ts.map +1 -1
- package/dist/core/intent-recognition.js +68 -68
- package/dist/core/intent-recognition.js.map +1 -1
- package/dist/core/knowledge-graph.d.ts.map +1 -1
- package/dist/core/knowledge-graph.js +6 -4
- package/dist/core/knowledge-graph.js.map +1 -1
- package/dist/core/name-validator.d.ts.map +1 -1
- package/dist/core/name-validator.js +41 -20
- package/dist/core/name-validator.js.map +1 -1
- package/dist/core/pinyin-initials.d.ts +10 -0
- package/dist/core/pinyin-initials.d.ts.map +1 -0
- package/dist/core/pinyin-initials.js +44 -0
- package/dist/core/pinyin-initials.js.map +1 -0
- package/dist/core/prompt-builder.js +1 -1
- package/dist/core/prompt-builder.js.map +1 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.js +1 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -1
- package/dist/core/reindex-engine.js +4 -4
- package/dist/core/reindex-engine.js.map +1 -1
- package/dist/core/skeleton-residue.d.ts +13 -0
- package/dist/core/skeleton-residue.d.ts.map +1 -1
- package/dist/core/skeleton-residue.js +83 -14
- package/dist/core/skeleton-residue.js.map +1 -1
- package/dist/core/spec-merger.d.ts.map +1 -1
- package/dist/core/spec-merger.js +3 -2
- package/dist/core/spec-merger.js.map +1 -1
- package/dist/core/state.d.ts +10 -0
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +20 -1
- package/dist/core/state.js.map +1 -1
- package/dist/core/structured-extractor.d.ts +6 -0
- package/dist/core/structured-extractor.d.ts.map +1 -1
- package/dist/core/structured-extractor.js +6 -0
- package/dist/core/structured-extractor.js.map +1 -1
- package/dist/core/task-paths.d.ts +12 -0
- package/dist/core/task-paths.d.ts.map +1 -1
- package/dist/core/task-paths.js +33 -1
- package/dist/core/task-paths.js.map +1 -1
- package/dist/core/unified-config.d.ts +7 -1
- package/dist/core/unified-config.d.ts.map +1 -1
- package/dist/core/unified-config.js +70 -21
- package/dist/core/unified-config.js.map +1 -1
- package/dist/core/unit-staffing.d.ts +21 -4
- package/dist/core/unit-staffing.d.ts.map +1 -1
- package/dist/core/unit-staffing.js +59 -12
- package/dist/core/unit-staffing.js.map +1 -1
- package/dist/core/usage-analytics.js +1 -1
- package/dist/core/usage-analytics.js.map +1 -1
- package/dist/core/validator.d.ts.map +1 -1
- package/dist/core/validator.js +45 -5
- package/dist/core/validator.js.map +1 -1
- package/dist/core/verify-report-aggregator.d.ts.map +1 -1
- package/dist/core/verify-report-aggregator.js +19 -2
- package/dist/core/verify-report-aggregator.js.map +1 -1
- package/dist/utils/task-utils.d.ts +4 -1
- package/dist/utils/task-utils.d.ts.map +1 -1
- package/dist/utils/task-utils.js +30 -4
- package/dist/utils/task-utils.js.map +1 -1
- package/package.json +4 -3
- package/templates/deploy-examples.yaml +33 -5
- package/templates/html/speccore-ask-explain.html +1 -1
- package/templates/html/speccore-ask-guide.html +1 -1
- package/templates/html/speccore-ask-match.html +1 -1
- package/templates/html/speccore-ask-pipeline.html +1 -1
- package/templates/html/speccore-ask-result.html +1 -1
- package/templates/html/speccore-help.html +2 -2
- package/templates/speccore-yml-example.yml +174 -54
- package/templates/verify-spec-example.yaml +66 -1
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.d.ts.map +0 -1
- package/dist/commands/audit.js +0 -540
- package/dist/commands/audit.js.map +0 -1
- package/dist/commands/backup.d.ts +0 -18
- package/dist/commands/backup.d.ts.map +0 -1
- package/dist/commands/backup.js +0 -102
- package/dist/commands/backup.js.map +0 -1
- package/dist/commands/baseline.d.ts +0 -13
- package/dist/commands/baseline.d.ts.map +0 -1
- package/dist/commands/baseline.js +0 -227
- package/dist/commands/baseline.js.map +0 -1
- package/dist/commands/chain.d.ts +0 -55
- package/dist/commands/chain.d.ts.map +0 -1
- package/dist/commands/chain.js +0 -501
- package/dist/commands/chain.js.map +0 -1
- package/dist/commands/clarify.d.ts +0 -17
- package/dist/commands/clarify.d.ts.map +0 -1
- package/dist/commands/clarify.js +0 -351
- package/dist/commands/clarify.js.map +0 -1
- package/dist/commands/code-index.d.ts +0 -21
- package/dist/commands/code-index.d.ts.map +0 -1
- package/dist/commands/code-index.js +0 -193
- package/dist/commands/code-index.js.map +0 -1
- package/dist/commands/context.d.ts +0 -10
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -213
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/current.d.ts +0 -10
- package/dist/commands/current.d.ts.map +0 -1
- package/dist/commands/current.js +0 -53
- package/dist/commands/current.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -18
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -854
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/diff.d.ts +0 -10
- package/dist/commands/diff.d.ts.map +0 -1
- package/dist/commands/diff.js +0 -160
- package/dist/commands/diff.js.map +0 -1
- package/dist/commands/global-status.d.ts +0 -9
- package/dist/commands/global-status.d.ts.map +0 -1
- package/dist/commands/global-status.js +0 -135
- package/dist/commands/global-status.js.map +0 -1
- package/dist/commands/graph.d.ts +0 -25
- package/dist/commands/graph.d.ts.map +0 -1
- package/dist/commands/graph.js +0 -523
- package/dist/commands/graph.js.map +0 -1
- package/dist/commands/handover.d.ts +0 -11
- package/dist/commands/handover.d.ts.map +0 -1
- package/dist/commands/handover.js +0 -170
- package/dist/commands/handover.js.map +0 -1
- package/dist/commands/health.d.ts +0 -7
- package/dist/commands/health.d.ts.map +0 -1
- package/dist/commands/health.js +0 -80
- package/dist/commands/health.js.map +0 -1
- package/dist/commands/history.d.ts +0 -9
- package/dist/commands/history.d.ts.map +0 -1
- package/dist/commands/history.js +0 -117
- package/dist/commands/history.js.map +0 -1
- package/dist/commands/impact.d.ts +0 -12
- package/dist/commands/impact.d.ts.map +0 -1
- package/dist/commands/impact.js +0 -238
- package/dist/commands/impact.js.map +0 -1
- package/dist/commands/import.d.ts +0 -19
- package/dist/commands/import.d.ts.map +0 -1
- package/dist/commands/import.js +0 -673
- package/dist/commands/import.js.map +0 -1
- package/dist/commands/knowledge.d.ts +0 -6
- package/dist/commands/knowledge.d.ts.map +0 -1
- package/dist/commands/knowledge.js +0 -94
- package/dist/commands/knowledge.js.map +0 -1
- package/dist/commands/lifecycle.d.ts +0 -9
- package/dist/commands/lifecycle.d.ts.map +0 -1
- package/dist/commands/lifecycle.js +0 -288
- package/dist/commands/lifecycle.js.map +0 -1
- package/dist/commands/merge-check.d.ts +0 -10
- package/dist/commands/merge-check.d.ts.map +0 -1
- package/dist/commands/merge-check.js +0 -183
- package/dist/commands/merge-check.js.map +0 -1
- package/dist/commands/notify.d.ts +0 -13
- package/dist/commands/notify.d.ts.map +0 -1
- package/dist/commands/notify.js +0 -63
- package/dist/commands/notify.js.map +0 -1
- package/dist/commands/rag-index.d.ts +0 -19
- package/dist/commands/rag-index.d.ts.map +0 -1
- package/dist/commands/rag-index.js +0 -286
- package/dist/commands/rag-index.js.map +0 -1
- package/dist/commands/recommend.d.ts +0 -13
- package/dist/commands/recommend.d.ts.map +0 -1
- package/dist/commands/recommend.js +0 -37
- package/dist/commands/recommend.js.map +0 -1
- package/dist/commands/refresh.d.ts +0 -21
- package/dist/commands/refresh.d.ts.map +0 -1
- package/dist/commands/refresh.js +0 -211
- package/dist/commands/refresh.js.map +0 -1
- package/dist/commands/rollback.d.ts +0 -8
- package/dist/commands/rollback.d.ts.map +0 -1
- package/dist/commands/rollback.js +0 -113
- package/dist/commands/rollback.js.map +0 -1
- package/dist/commands/status.d.ts +0 -7
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -262
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/trace.d.ts +0 -12
- package/dist/commands/trace.d.ts.map +0 -1
- package/dist/commands/trace.js +0 -163
- package/dist/commands/trace.js.map +0 -1
- package/dist/commands/tracker.d.ts +0 -2
- package/dist/commands/tracker.d.ts.map +0 -1
- package/dist/commands/tracker.js +0 -28
- package/dist/commands/tracker.js.map +0 -1
- package/dist/commands/verdict.d.ts +0 -16
- package/dist/commands/verdict.d.ts.map +0 -1
- package/dist/commands/verdict.js +0 -189
- package/dist/commands/verdict.js.map +0 -1
- package/dist/commands/workspace.d.ts +0 -20
- package/dist/commands/workspace.d.ts.map +0 -1
- package/dist/commands/workspace.js +0 -142
- package/dist/commands/workspace.js.map +0 -1
- package/dist/core/constraint-set.d.ts +0 -67
- package/dist/core/constraint-set.d.ts.map +0 -1
- package/dist/core/constraint-set.js +0 -151
- package/dist/core/constraint-set.js.map +0 -1
- package/dist/core/smart-recommend.d.ts +0 -16
- package/dist/core/smart-recommend.d.ts.map +0 -1
- package/dist/core/smart-recommend.js +0 -149
- package/dist/core/smart-recommend.js.map +0 -1
- package/dist/core/task-type-registry.d.ts +0 -110
- package/dist/core/task-type-registry.d.ts.map +0 -1
- package/dist/core/task-type-registry.js +0 -334
- package/dist/core/task-type-registry.js.map +0 -1
- package/dist/utils/mermaid-render.d.ts +0 -39
- package/dist/utils/mermaid-render.d.ts.map +0 -1
- package/dist/utils/mermaid-render.js +0 -284
- package/dist/utils/mermaid-render.js.map +0 -1
|
@@ -15,32 +15,76 @@
|
|
|
15
15
|
# v8.3.95+ 支持: cookie / localStorage / script / scroll / upload / iframe / waitForRequest / waitForResponse
|
|
16
16
|
# v8.3.294+ 推荐: 选择器优先用 data-testid(UI_SPEC 元素标识约定 {模块}-{页面}-{元素}),
|
|
17
17
|
# 冒烟装配四阶段会自动从 UI_SPEC 提取元素清单生成场景,失败时输出自愈提示。
|
|
18
|
+
#
|
|
19
|
+
# ═══════════════════════════════════════════════════════════
|
|
20
|
+
# 顶层字段字典
|
|
21
|
+
# ═══════════════════════════════════════════════════════════
|
|
22
|
+
# name → 测试套件名(报告展示用)
|
|
23
|
+
# platform → 端名(须与 CONSTITUTION.md 端列表一致)
|
|
24
|
+
# url → 站点根路径(相对路由前缀,navigate 时与 value 拼接)
|
|
25
|
+
# scenarios → 场景列表(每个场景 = 若干 action + 若干 assertion)
|
|
26
|
+
#
|
|
27
|
+
# ═══════════════════════════════════════════════════════════
|
|
28
|
+
# actions 类型字典(场景内按顺序执行的操作)
|
|
29
|
+
# ═══════════════════════════════════════════════════════════
|
|
30
|
+
# navigate → 页面跳转,value=路由(如 /login),selector=完整 URL
|
|
31
|
+
# fill → 输入文本,selector=选择器,value=输入值
|
|
32
|
+
# click → 点击元素,selector=选择器,waitFor=点击后等待出现的元素
|
|
33
|
+
# cookie → 注入登录态 Cookie(selector=键名,value=值,domain/path/secure/httpOnly 可选)
|
|
34
|
+
# localStorage → 注入 Token(selector=键名,value=值,免登录走受保护页面)
|
|
35
|
+
# wait → 等待,delay=毫秒数
|
|
36
|
+
# scroll → 滚动页面,selector=bottom(滚到底)或元素选择器
|
|
37
|
+
# upload → 上传文件,selector=文件输入框,value=文件路径
|
|
38
|
+
# script → 执行 JS 脚本,value=脚本内容(返回 Promise 可等待)
|
|
39
|
+
# iframe → 切换到 iframe 内操作(配合 selector 定位 iframe)
|
|
40
|
+
# waitForRequest → 等待网络请求,value=URL 片段
|
|
41
|
+
# waitForResponse → 等待网络响应,value=URL 片段
|
|
42
|
+
#
|
|
43
|
+
# ═══════════════════════════════════════════════════════════
|
|
44
|
+
# assertions 类型字典(场景结束后逐条校验的结果断言)
|
|
45
|
+
# ═══════════════════════════════════════════════════════════
|
|
46
|
+
# url → 当前 URL 校验,contains=期望包含的片段
|
|
47
|
+
# visible → 元素可见性,selector=选择器(存在且可见才通过)
|
|
48
|
+
# text → 文本内容,selector=选择器,contains=期望包含的文字
|
|
49
|
+
# count → 元素数量,selector=选择器,count=期望个数
|
|
50
|
+
# style → 样式校验,selector=选择器,style=属性名(如 background-color),value=期望值
|
|
51
|
+
# ═══════════════════════════════════════════════════════════
|
|
18
52
|
|
|
53
|
+
# name: 测试套件名(报告展示用)
|
|
19
54
|
name: 示例项目冒烟测试
|
|
55
|
+
# platform: 端名(须与 CONSTITUTION.md 端列表一致)
|
|
20
56
|
platform: h5-mobile
|
|
57
|
+
# url: 站点根路径(navigate 相对路由的前缀)
|
|
21
58
|
url: /
|
|
22
59
|
|
|
23
60
|
scenarios:
|
|
61
|
+
# ══ 场景字段:name=场景名 | description=模块归属(模块:xxx 页面:/yyy,供 --module 过滤)══
|
|
24
62
|
# ── 场景1: 登录流程(data-testid 选择器,推荐)──
|
|
25
63
|
# 登录态也可由 environments 配置的 tests.auth 自动装配(v8.3.215+),
|
|
26
64
|
# 本场景演示手工登录写法;受保护页面免登录可用 cookie/localStorage 注入(见场景2/3)。
|
|
27
65
|
- name: 登录-账号密码登录
|
|
28
66
|
description: 模块:auth 页面:/login
|
|
29
67
|
actions:
|
|
68
|
+
# 跳转到登录页
|
|
30
69
|
- type: navigate
|
|
31
70
|
value: /login
|
|
71
|
+
# 填充用户名
|
|
32
72
|
- type: fill
|
|
33
73
|
selector: "[data-testid='login-username-input']"
|
|
34
74
|
value: test_user
|
|
75
|
+
# 填充密码
|
|
35
76
|
- type: fill
|
|
36
77
|
selector: "[data-testid='login-password-input']"
|
|
37
78
|
value: test_password
|
|
79
|
+
# 点击登录按钮,waitFor=点击后等待仪表盘出现(元素未出现则超时失败)
|
|
38
80
|
- type: click
|
|
39
81
|
selector: "[data-testid='login-submit-btn']"
|
|
40
82
|
waitFor: "[data-testid='dashboard-page']"
|
|
41
83
|
assertions:
|
|
84
|
+
# URL 断言:登录成功后跳转到 /dashboard
|
|
42
85
|
- type: url
|
|
43
86
|
contains: /dashboard
|
|
87
|
+
# 可见性断言:仪表盘元素存在且可见
|
|
44
88
|
- type: visible
|
|
45
89
|
selector: "[data-testid='dashboard-page']"
|
|
46
90
|
|
|
@@ -49,7 +93,7 @@ scenarios:
|
|
|
49
93
|
- name: 预订列表-免登录(cookie注入)
|
|
50
94
|
description: 模块:booking 页面:/booking/list
|
|
51
95
|
actions:
|
|
52
|
-
# 注入登录 Cookie
|
|
96
|
+
# 注入登录 Cookie(跳过登录页;secure/httpOnly 按真实 Cookie 属性填)
|
|
53
97
|
- type: cookie
|
|
54
98
|
selector: session_token
|
|
55
99
|
value: eyJhbGciOiJIUzI1NiIs...
|
|
@@ -57,13 +101,17 @@ scenarios:
|
|
|
57
101
|
path: /
|
|
58
102
|
secure: true
|
|
59
103
|
httpOnly: true
|
|
104
|
+
# 进入受保护页面(免登录)
|
|
60
105
|
- type: navigate
|
|
61
106
|
value: /booking/list
|
|
107
|
+
# 等待页面渲染(delay=毫秒)
|
|
62
108
|
- type: wait
|
|
63
109
|
delay: 1000
|
|
64
110
|
assertions:
|
|
111
|
+
# 列表容器可见
|
|
65
112
|
- type: visible
|
|
66
113
|
selector: '.booking-list'
|
|
114
|
+
# 数量断言:列表项恰好 5 个
|
|
67
115
|
- type: count
|
|
68
116
|
selector: '.booking-item'
|
|
69
117
|
count: 5
|
|
@@ -73,16 +121,20 @@ scenarios:
|
|
|
73
121
|
- name: 个人中心-Token注入
|
|
74
122
|
description: 模块:user 页面:/profile
|
|
75
123
|
actions:
|
|
124
|
+
# localStorage 注入 JWT Token(适用于 Token 存 localStorage 的前端)
|
|
76
125
|
- type: localStorage
|
|
77
126
|
selector: accessToken
|
|
78
127
|
value: Bearer eyJhbGciOiJIUzI1NiIs...
|
|
128
|
+
# 进入个人中心页(免登录)
|
|
79
129
|
- type: navigate
|
|
80
130
|
value: /profile
|
|
81
131
|
- type: wait
|
|
82
132
|
delay: 500
|
|
83
133
|
assertions:
|
|
134
|
+
# 页面容器可见
|
|
84
135
|
- type: visible
|
|
85
136
|
selector: '.profile-header'
|
|
137
|
+
# 文本断言:用户名渲染为 test_user
|
|
86
138
|
- type: text
|
|
87
139
|
selector: '.username'
|
|
88
140
|
contains: test_user
|
|
@@ -92,25 +144,33 @@ scenarios:
|
|
|
92
144
|
- name: 预订表单-提交预订
|
|
93
145
|
description: 模块:booking 页面:/booking/create
|
|
94
146
|
actions:
|
|
147
|
+
# 打开预订创建页
|
|
95
148
|
- type: navigate
|
|
96
149
|
value: /booking/create
|
|
150
|
+
# 填写入住日期
|
|
97
151
|
- type: fill
|
|
98
152
|
selector: 'input[name="checkIn"]'
|
|
99
153
|
value: '2026-10-01'
|
|
154
|
+
# 填写退房日期
|
|
100
155
|
- type: fill
|
|
101
156
|
selector: 'input[name="checkOut"]'
|
|
102
157
|
value: '2026-10-05'
|
|
158
|
+
# 点击搜索,等待房型列表出现
|
|
103
159
|
- type: click
|
|
104
160
|
selector: '.search-btn'
|
|
105
161
|
waitFor: '.room-list'
|
|
162
|
+
# 选择第一个房型
|
|
106
163
|
- type: click
|
|
107
164
|
selector: '.room-item:first-child .select-btn'
|
|
165
|
+
# 提交预订,等待成功提示出现
|
|
108
166
|
- type: click
|
|
109
167
|
selector: '.submit-booking-btn'
|
|
110
168
|
waitFor: '.booking-success'
|
|
111
169
|
assertions:
|
|
170
|
+
# 成功提示可见
|
|
112
171
|
- type: visible
|
|
113
172
|
selector: '.booking-success'
|
|
173
|
+
# 文本断言:提示文案包含「预订成功」
|
|
114
174
|
- type: text
|
|
115
175
|
selector: '.booking-success'
|
|
116
176
|
contains: 预订成功
|
|
@@ -119,13 +179,16 @@ scenarios:
|
|
|
119
179
|
- name: 首页-滚动加载
|
|
120
180
|
description: 模块:home 页面:/
|
|
121
181
|
actions:
|
|
182
|
+
# 打开首页
|
|
122
183
|
- type: navigate
|
|
123
184
|
value: /
|
|
185
|
+
# 滚动到底部(触发无限加载)
|
|
124
186
|
- type: scroll
|
|
125
187
|
selector: bottom
|
|
126
188
|
- type: wait
|
|
127
189
|
delay: 1000
|
|
128
190
|
assertions:
|
|
191
|
+
# 页脚可见(滚动加载完成)
|
|
129
192
|
- type: visible
|
|
130
193
|
selector: '.footer'
|
|
131
194
|
|
|
@@ -133,9 +196,11 @@ scenarios:
|
|
|
133
196
|
- name: 按钮-样式检查
|
|
134
197
|
description: 模块:ui 页面:/
|
|
135
198
|
actions:
|
|
199
|
+
# 打开首页
|
|
136
200
|
- type: navigate
|
|
137
201
|
value: /
|
|
138
202
|
assertions:
|
|
203
|
+
# 样式断言:主按钮背景色为指定蓝色
|
|
139
204
|
- type: style
|
|
140
205
|
selector: '.primary-btn'
|
|
141
206
|
style: background-color
|
package/dist/commands/audit.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* audit - AI 智能审计命令
|
|
3
|
-
* 扫描全量层发现重复需求、歧义描述、潜在冲突、孤立需求
|
|
4
|
-
*/
|
|
5
|
-
export interface AuditOptions {
|
|
6
|
-
fix?: boolean;
|
|
7
|
-
detail?: boolean;
|
|
8
|
-
specs?: boolean;
|
|
9
|
-
iteration?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function auditCommand(options: AuditOptions): Promise<void>;
|
|
12
|
-
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEvE"}
|