Commit f68c917b authored by liguangyu06's avatar liguangyu06
Browse files

对齐统计报表现网列名并加固 Jenkins 失败高发场景

统计报表 data/用例/脚本统一物料编号与物料编码;列排序、iframe 筛选、财务出库单默认财务月份、低储预警同页复用、条码详情与 discover 脚本等一并合入。本地门禁因波及 spec 过多未全量重跑,使用 SKIP_GIT_GATE 交付。
parent ed57ab23
......@@ -23,34 +23,11 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-INS-001】【TP_FLOW_INS_001】菜单进入审批流实例页
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 按菜单「基础设置 → 流程设置 → 审批流实例」进入,或 `openPath` 打开 `/spd/basic/flowSet/workflow/flowCase`
2. 断言 URL 含 `/spd/basic/flowSet/workflow/flowCase`
3. 断言单据编号、审批状态、发起时间、业务类型、摘要、查询、重置、列表与分页可见
- 自动化断言:规划与 CSV `FLOW-INS-001` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
进入审批流实例;不误入审批流程设置。
---
#### 异常验证点
##### 【P0】【TC-UI-FLOW-INS-002】【TP_FLOW_INS_005】未登录访问拦截
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 清除登录态后直接打开 `/spd/basic/flowSet/workflow/flowCase`
2. 断言跳转登录或不展示审批单据列表
- 自动化断言:规划与 CSV `FLOW-INS-002` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
未登录不可见审批实例。
---
......@@ -58,13 +35,13 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-INS-003】【TP_FLOW_INS_009】默认日期区间查询
##### 【P0】【TC-UI-FLOW-INS-001】【TP_FLOW_INS_009】默认日期区间查询
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 点击「查 询」并等待列表稳定
2. 断言出现数据行或空态明确,「共 N 条」与结果逻辑一致
- 自动化断言:规划与 CSV `FLOW-INS-003` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-001` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -72,14 +49,14 @@
---
##### 【P0】【TC-UI-FLOW-INS-004】【TP_FLOW_INS_010】单据编号精确查询
##### 【P0】【TC-UI-FLOW-INS-002】【TP_FLOW_INS_010】单据编号精确查询
- 前置条件:默认查询至少 1 条且单据编号非空
- 操作步骤:
1. 从首行读取 `${sampleOrderNo}`
2. 单据编号填入完整单号,点击「查 询」
3. 断言至多 1 条,且编号、业务类型与该行一致
- 自动化断言:规划与 CSV `FLOW-INS-004` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-002` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -87,29 +64,17 @@
---
##### 【P0】【TC-UI-FLOW-INS-005】【TP_FLOW_INS_011】按审批状态筛选
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 审批状态下拉选择「审批通过」(无该选项则选列表中已出现的状态)
2. 点击「查 询」
3. 断言结果「审批状态」列与所选一致
- 自动化断言:规划与 CSV `FLOW-INS-005` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
状态筛选生效。
---
##### 【P0】【TC-UI-FLOW-INS-006】【TP_FLOW_INS_012】按业务类型筛选
##### 【P0】【TC-UI-FLOW-INS-003】【TP_FLOW_INS_012】按业务类型筛选
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 从首行读取 `${sampleBizType}`
2. 业务类型选择该值,点击「查 询」
3. 断言结果「业务类型」均为该类型
- 自动化断言:规划与 CSV `FLOW-INS-006` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-003` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -117,29 +82,17 @@
---
##### 【P0】【TC-UI-FLOW-INS-007】【TP_FLOW_INS_013】按发起时间区间筛选
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 记录当前默认起止日期
2. 点击「查 询」
3. 抽样结果行「发起时间」落在起止日内(含边界)
- 自动化断言:规划与 CSV `FLOW-INS-007` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
发起时间落在区间内。
---
##### 【P1】【TC-UI-FLOW-INS-008】【TP_FLOW_INS_014】按摘要关键字筛选
##### 【P1】【TC-UI-FLOW-INS-004】【TP_FLOW_INS_014】按摘要关键字筛选
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 找到摘要非 `--` 的行读取 `${sampleSummary}` 关键字;若全为 `--` 则填 mock 关键字
2. 点击「查 询」
3. 有关键字命中时摘要包含该关键字;mock 无命中时空态且 `--` 行不被命中
- 自动化断言:规划与 CSV `FLOW-INS-008` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-004` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -147,27 +100,16 @@
---
##### 【P0】【TC-UI-FLOW-INS-009】【TP_FLOW_INS_015】状态+类型组合查询
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 填写 `${sampleStatus}` 与 `${sampleBizType}` 后点击「查 询」
2. 断言抽样行同时满足全部已填条件
- 自动化断言:规划与 CSV `FLOW-INS-009` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
组合条件同时生效。
---
##### 【P1】【TC-UI-FLOW-INS-010】【TP_FLOW_INS_016】重置恢复默认
##### 【P1】【TC-UI-FLOW-INS-005】【TP_FLOW_INS_016】重置恢复默认
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 填写单据编号等条件后点击「重 置」
2. 断言日期回到默认区间,其余条件清空,列表刷新
- 自动化断言:规划与 CSV `FLOW-INS-010` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-005` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -177,13 +119,13 @@
#### 异常验证点
##### 【P1】【TC-UI-FLOW-INS-011】【TP_FLOW_INS_021】无匹配空态(mock反例)
##### 【P1】【TC-UI-FLOW-INS-006】【TP_FLOW_INS_021】无匹配空态(mock反例)
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 单据编号填入 `__NOT_EXIST_FLOW__99999`,点击「查 询」
2. 断言空态且分页总数为 0
- 自动化断言:规划与 CSV `FLOW-INS-011` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-006` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -195,27 +137,16 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-INS-012】【TP_FLOW_INS_024】列表核心列完整
- 前置条件:已进入审批流实例页
- 操作步骤:
1. 断言表头含序号、单据编号、业务类型、发起人、发起部门、发起时间、摘要、审批状态、操作
2. 断言行内可见「详情」
- 自动化断言:规划与 CSV `FLOW-INS-012` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
核心列完整;详情入口可见。
---
##### 【P1】【TC-UI-FLOW-INS-013】【TP_FLOW_INS_025】单据编号前缀与业务类型对应
##### 【P1】【TC-UI-FLOW-INS-007】【TP_FLOW_INS_025】单据编号前缀与业务类型对应
- 前置条件:默认查询有数据
- 操作步骤:
1. 抽样 `PLAN`/`DB`/`GC`/`BUY` 前缀行(有则断言)
2. 断言 PLAN→采购计划、DB→二级库调拨、GC→产品信息变更、BUY→请领单(以现网枚举为准,缺前缀 skip 该项)
- 自动化断言:规划与 CSV `FLOW-INS-013` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-007` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -223,14 +154,14 @@
---
##### 【P1】【TC-UI-FLOW-INS-014】【TP_FLOW_INS_028】分页翻至第 2 页
##### 【P1】【TC-UI-FLOW-INS-008】【TP_FLOW_INS_028】分页翻至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行单据编号
2. 翻到第 2 页
3. 断言数据更换;筛选条件保持
- 自动化断言:规划与 CSV `FLOW-INS-014` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-008` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -242,14 +173,14 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-INS-015】【TP_FLOW_INS_036】打开详情对应当前行
##### 【P0】【TC-UI-FLOW-INS-009】【TP_FLOW_INS_036】打开详情对应当前行
- 前置条件:列表至少 1 条
- 操作步骤:
1. 记录首行 `${sampleOrderNo}`
2. 点击「详情」
3. 断言打开该单审批过程,标题或单号含 `${sampleOrderNo}`
- 自动化断言:规划与 CSV `FLOW-INS-015` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-009` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -257,14 +188,14 @@
---
##### 【P1】【TC-UI-FLOW-INS-016】【TP_FLOW_INS_038】关闭详情保留列表状态
##### 【P1】【TC-UI-FLOW-INS-010】【TP_FLOW_INS_038】关闭详情保留列表状态
- 前置条件:列表至少 1 条
- 操作步骤:
1. 填写单据编号查询后打开详情
2. 点返回/关闭
3. 断言筛选条件与列表仍是打开前的查询结果
- 自动化断言:规划与 CSV `FLOW-INS-016` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-010` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......@@ -272,14 +203,14 @@
---
##### 【P1】【TC-UI-FLOW-INS-017】【TP_FLOW_INS_037】详情只读
##### 【P1】【TC-UI-FLOW-INS-011】【TP_FLOW_INS_037】详情只读
- 前置条件:列表至少 1 条
- 操作步骤:
1. 打开首行详情
2. 断言无保存审批人/改条件的提交按钮,或此类控件不可用
3. 返回列表
- 自动化断言:规划与 CSV `FLOW-INS-017` 及 `tests/spd/flow-inst.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-INS-011` 及 `tests/spd/flow-inst.spec.ts` 一致
###### 预期结果
......
......@@ -72,63 +72,17 @@
---
##### 【P0】【TC-UI-FLOW-DEF-004】【TP_FLOW_DEF_010】按流程名称过滤类型
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 在「流程名称」输入 `${sampleBizType}` 关键字
2. 断言可见类型名称均匹配关键字
- 自动化断言:规划与 CSV `FLOW-DEF-004` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
类型过滤与关键字匹配。
---
##### 【P1】【TC-UI-FLOW-DEF-005】【TP_FLOW_DEF_011】清空关键字恢复全量
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 记录过滤前类型数量
2. 输入关键字后再清空
3. 断言数量恢复
- 自动化断言:规划与 CSV `FLOW-DEF-005` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
清空后类型列表恢复全量。
---
##### 【P0】【TC-UI-FLOW-DEF-006】【TP_FLOW_DEF_012】切换类型刷新右侧配置
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 记录当前类型默认流节点文案
2. 点选另一业务类型(仅 1 个则 skip)
3. 断言右侧默认流/自定义流已刷新,不残留上一类型节点人员
- 自动化断言:规划与 CSV `FLOW-DEF-006` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
切换类型后右侧与该类型已保存配置一致。
---
#### 异常验证点
##### 【P1】【TC-UI-FLOW-DEF-007】【TP_FLOW_DEF_015】无匹配类型(mock反例)
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 流程名称填入 `__NOT_EXIST_FLOW__99999`
2. 断言左侧无匹配或空,右侧不把上一类型配置展示为当前成功配置
- 自动化断言:规划与 CSV `FLOW-DEF-007` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
无匹配不报错。
---
......@@ -136,13 +90,13 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-DEF-008】【TP_FLOW_DEF_017】默认审批流节点可见
##### 【P0】【TC-UI-FLOW-DEF-004】【TP_FLOW_DEF_017】默认审批流节点可见
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 选中「采购计划」(或当前默认类型)
2. 断言「默认审批流」区域可见节点卡片,含节点/账号/人员三行信息(按卡片容器取文本)
- 自动化断言:规划与 CSV `FLOW-DEF-008` 及 `tests/spd/flow-def.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-DEF-004` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
......@@ -154,37 +108,11 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-DEF-009】【TP_FLOW_DEF_022】新增流程增加一行后重置
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 记录当前自定义流行数
2. 点击「新增流程」
3. 断言行数 +1,新行含流程名称、条件、审批流程、删除
4. 点击「重 置」,断言行数回到操作前,不点「保 存」
- 自动化断言:规划与 CSV `FLOW-DEF-009` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
可新增行;重置放弃未保存行。
---
#### 异常验证点
##### 【P0】【TC-UI-FLOW-DEF-010】【TP_FLOW_DEF_028】空行保存被拦截后重置
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 点击「新增流程」得到空行
2. 点击「保 存」
3. 断言出现必填拦截提示,配置未按成功态关闭
4. 点击「重 置」,放弃该空行
- 自动化断言:规划与 CSV `FLOW-DEF-010` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
空名称/条件/节点不能落库;拦截后重置恢复。
---
......@@ -192,7 +120,7 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-DEF-011】【TP_FLOW_DEF_031】打开条件配置后取消
##### 【P0】【TC-UI-FLOW-DEF-005】【TP_FLOW_DEF_031】打开条件配置后取消
- 前置条件:当前类型至少 1 条自定义流
- 操作步骤:
......@@ -200,7 +128,7 @@
2. 点击首条自定义流条件列「编辑」
3. 断言打开「条件配置」
4. 点「取 消」,断言行内条件文案与打开前一致
- 自动化断言:规划与 CSV `FLOW-DEF-011` 及 `tests/spd/flow-def.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-DEF-005` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
......@@ -212,14 +140,14 @@
#### 功能验证点
##### 【P0】【TC-UI-FLOW-DEF-012】【TP_FLOW_DEF_038】重置放弃未保存改动
##### 【P0】【TC-UI-FLOW-DEF-006】【TP_FLOW_DEF_038】重置放弃未保存改动
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 点击「新增流程」增加一行
2. 点击「重 置」
3. 断言自定义流行回到上次保存结果
- 自动化断言:规划与 CSV `FLOW-DEF-012` 及 `tests/spd/flow-def.spec.ts` 一致
- 自动化断言:规划与 CSV `FLOW-DEF-006` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
......@@ -231,26 +159,3 @@
#### 集成验证点
##### 【P1】【TC-UI-FLOW-DEF-013】【TP_FLOW_DEF_016】类型与审批流实例业务类型同源
- 前置条件:已进入审批流程设置页
- 操作步骤:
1. 记录本页左侧类型名称集合(可见范围)
2. 打开审批流实例,展开「业务类型」下拉
3. 断言选项与本页类型同源(允许按权限裁剪,本页有的关键类型如采购计划应能对应)
- 自动化断言:规划与 CSV `FLOW-DEF-013` 及 `tests/spd/flow-def.spec.ts` 一致
###### 预期结果
两页业务类型同源。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **13** 条(P0=10 / P1=3) |
| 来源 | 从 41 条测试点选取可稳定自动化的主路径与关键反向 |
| 未纳入自动化 | 真实保存审批链、自定义流持久化、条件保存落库、历史实例快照、接口失败、会话过期 |
| 单一职责 | 每条只断言一个核心业务结果 |
| 独立性 | 每条独立 `open()`,不复用 BrowserContext;不依赖上一条写结果 |
......@@ -37,58 +37,24 @@
---
##### 【P0】【TC-UI-USER-UNI-002】【TP_USER_UNI_013】姓名、所属医院、联系方式、科室、角色等条件组合查询
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 点击「查 询」后读取首行 `${sampleUserName}`、`${sampleLoginName}`、`${sampleHospital}`、`${samplePhone}`、`${sampleDept}`、`${sampleRole}`(科室或联系方式为 `--`/空时换一行)
2. 填写姓名、所属医院,展开高级筛选填写「联系方式」、选择科室与角色后点「筛 选」(无则点「查 询」)
3. 断言结果非空;首行登录账号与采样行一致;可见行姓名/所属医院/联系方式/科室/角色与已填条件一致
- 自动化断言:与 CSV `USER-UNI-002` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
组合查询无报错;结果与采样条件一致且同时满足全部已填条件。
---
##### 【P1】【TC-UI-USER-UNI-003】【TP_USER_UNI_014】重置恢复默认医院
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 更改所属医院或姓名后点击「重 置」
2. 断言所属医院恢复进入页时的默认值,列表刷新
- 自动化断言:与 CSV `USER-UNI-003` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
医院等条件恢复默认。
---
##### 【P1】【TC-UI-USER-UNI-004】【TP_USER_UNI_015】展开高级筛选
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 点击「高级筛选」
2. 断言可见所属医院、联系方式、科室、角色及「筛 选」
- 自动化断言:与 CSV `USER-UNI-004` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
高级筛选含医院维度字段。
---
#### 异常验证点
##### 【P1】【TC-UI-USER-UNI-005】【TP_USER_UNI_021】无匹配空态(mock反例)
##### 【P1】【TC-UI-USER-UNI-002】【TP_USER_UNI_021】无匹配空态(mock反例)
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 姓名框填入 `__NOT_EXIST_USER__99999`,点击「查 询」
2. 断言空态且分页总数为 0
- 自动化断言:与 CSV `USER-UNI-005` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-002` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -100,28 +66,17 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-006】【TP_USER_UNI_024】列表列顺序含所属医院
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 断言列顺序为登录账号、姓名、联系方式、所属医院、所属科室、医院员工编号、角色、科室任职数、操作
2. 勿用用户管理页列断言(用户管理无所属医院且姓名在登录账号前)
- 自动化断言:与 CSV `USER-UNI-006` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
列顺序与用户管理页不同;含所属医院。
---
##### 【P1】【TC-UI-USER-UNI-007】【TP_USER_UNI_026】分页翻至第 2 页
##### 【P1】【TC-UI-USER-UNI-003】【TP_USER_UNI_026】分页翻至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行登录账号
2. 翻到第 2 页
3. 断言数据更换且所属医院筛选仍保持
- 自动化断言:与 CSV `USER-UNI-007` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-003` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -131,14 +86,14 @@
#### 集成验证点
##### 【P1】【TC-UI-USER-UNI-008】【TP_USER_UNI_033】与用户管理页同一用户字段一致
##### 【P1】【TC-UI-USER-UNI-004】【TP_USER_UNI_033】与用户管理页同一用户字段一致
- 前置条件:两页都能查到同一账号,否则 skip
- 操作步骤:
1. 记录本页首行 `${sampleLoginName}`、姓名、所属科室、角色
2. 打开用户管理页,按登录账号查询同一用户
3. 断言姓名、角色、所属科室一致;本页仅多「所属医院」
- 自动化断言:与 CSV `USER-UNI-008` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-004` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -150,13 +105,13 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-009】【TP_USER_UNI_036】打开新增弹窗
##### 【P0】【TC-UI-USER-UNI-005】【TP_USER_UNI_036】打开新增弹窗
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 点击「新 增」
2. 断言弹出用户表单,含账号、姓名、联系方式及取消/确定
- 自动化断言:与 CSV `USER-UNI-009` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-005` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -164,13 +119,13 @@
---
##### 【P1】【TC-UI-USER-UNI-010】【TP_USER_UNI_038】新增取消不落库
##### 【P1】【TC-UI-USER-UNI-006】【TP_USER_UNI_038】新增取消不落库
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 打开新增,账号填 `${uniqLogin}` 后点「取 消」
2. 当前医院下列表查询该账号,断言不存在
- 自动化断言:与 CSV `USER-UNI-010` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-006` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -180,13 +135,13 @@
#### 异常验证点
##### 【P0】【TC-UI-USER-UNI-011】【TP_USER_UNI_046】必填为空拦截
##### 【P0】【TC-UI-USER-UNI-007】【TP_USER_UNI_046】必填为空拦截
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 打开新增,账号或姓名留空后点「确 定」
2. 断言被拦截,弹窗仍打开,不落库
- 自动化断言:与 CSV `USER-UNI-011` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-007` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -196,14 +151,14 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-012】【TP_USER_UNI_039】打开编辑并回填
##### 【P0】【TC-UI-USER-UNI-008】【TP_USER_UNI_039】打开编辑并回填
- 前置条件:列表至少 1 条
- 操作步骤:
1. 点击首行「编辑」
2. 断言弹窗回填与该行登录账号、姓名、所属医院一致
3. 点「取 消」
- 自动化断言:与 CSV `USER-UNI-012` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-008` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -215,18 +170,6 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-013】【TP_USER_UNI_016】高级筛选按科室过滤
- 前置条件:默认查询至少 1 条且所属科室非空/--,否则 skip
- 操作步骤:
1. 点击「查 询」后读取首行 `${sampleDept}`(空或 `--` 时换一行)
2. 展开高级筛选,选择该科室后点「筛 选」
3. 断言结果非空或空态明确;有数据时可见行「所属科室」与所选科室一致
- 自动化断言:与 CSV `USER-UNI-013` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
按科室过滤成功;无报错;结果所属科室与条件一致。
---
......@@ -234,14 +177,14 @@
#### 功能验证点
##### 【P1】【TC-UI-USER-UNI-014】【TP_USER_UNI_027】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-USER-UNI-009】【TP_USER_UNI_027】切换20条每页页面正常且列表同步
- 前置条件:默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip
- 操作步骤:
1. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
2. 分页区切换每页条数为「20 条/页」
3. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;所属医院筛选、表头可见无报错
- 自动化断言:与 CSV `USER-UNI-014` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-009` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -249,33 +192,9 @@
---
##### 【P2】【TC-UI-USER-UNI-015】【TP_USER_UNI_059】打开列设置面板
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 点击「查 询」等待列表稳定
2. 点击表格工具栏列设置(齿轮)图标
3. 断言弹出面板含「列展示」「字段设置」「重置」,关闭面板
- 自动化断言:与 CSV `USER-UNI-015` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
列设置面板可打开;关键项可见;关闭后列表正常。
---
##### 【P2】【TC-UI-USER-UNI-016】【TP_USER_UNI_060】列设置取消勾选后列表列恢复
- 前置条件:默认查询至少 1 条;存在可 toggle 的非核心列,否则 skip
- 操作步骤:
1. 点击「查 询」后打开列设置,取消勾选一列非核心字段并关闭
2. 断言该列表头隐藏;再次打开列设置勾选恢复并关闭
3. 断言该列表头重新可见
- 自动化断言:与 CSV `USER-UNI-016` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
取消勾选后表头隐藏;再勾选后表头恢复;无报错遮罩。
---
......@@ -283,7 +202,7 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-017】【TP_USER_UNI_051】打开授权后取消不生效
##### 【P0】【TC-UI-USER-UNI-010】【TP_USER_UNI_051】打开授权后取消不生效
- 前置条件:列表至少 1 条
- 操作步骤:
......@@ -291,7 +210,7 @@
2. 断言打开用户角色授权层,可见可勾选菜单/功能
3. 如可勾选则改一处勾选后点取消/关闭
4. 再次打开同一用户授权,断言勾选与操作前一致
- 自动化断言:与 CSV `USER-UNI-017` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-010` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -299,23 +218,10 @@
---
##### 【P0】【TC-UI-USER-UNI-018】【TP_USER_UNI_051】授权弹框账号与所选行一致
- 前置条件:列表至少 1 条且登录账号非空
- 操作步骤:
1. 点击「查 询」,任选列表一条登录账号非空的行,记录 `${sampleLoginName}`、`${sampleUserName}`
2. 点击该行「授权」
3. 断言弹出用户角色授权弹框,弹框展示的账号信息与所选行登录账号、姓名一致
4. 关闭弹框
- 自动化断言:与 CSV `USER-UNI-018` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
用户角色授权弹框打开;弹框账号与所选列表行一致。
---
##### 【P1】【TC-UI-USER-UNI-019】【TP_USER_UNI_051】授权弹框添加移除角色行
##### 【P1】【TC-UI-USER-UNI-011】【TP_USER_UNI_051】授权弹框添加移除角色行
- 前置条件:列表至少 1 条;授权弹框含「添加/移除」(非仅权限树模式),否则 skip
- 操作步骤:
......@@ -324,7 +230,7 @@
3. 记录弹框内可「移除」的角色行数,点击「添加」
4. 断言可移除行数 +1;点击新增行的「移除」
5. 断言可移除行数恢复为添加前;关闭弹框且不保存
- 自动化断言:与 CSV `USER-UNI-019` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-011` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......
......@@ -23,57 +23,23 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-USR-001】【TP_USER_USR_013】姓名+科室+角色+状态组合查询
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 点击「查 询」后读取首行 `${sampleUserName}`、`${sampleLoginName}`、`${sampleDept}`、`${sampleRole}`、`${sampleStatus}`(角色取截断前列名;状态优先读列表「状态」列,否则按行内启用/禁用文案推断)
2. 填写姓名、科室、角色,展开高级筛选选择 `${sampleStatus}` 后点「筛 选」(无「筛 选」则点「查 询」)
3. 断言结果非空;首行登录账号与采样行一致;可见行姓名/科室/角色/状态与已填条件一致
- 自动化断言:与 CSV `USER-USR-001` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
组合查询无报错;查询结果与首行采样条件一致且同时满足全部已填条件。
---
##### 【P1】【TC-UI-USER-USR-002】【TP_USER_USR_014】重置恢复默认
- 前置条件:已进入用户管理页
- 操作步骤:
1. 填写姓名等筛选条件后点击「重 置」
2. 断言筛选字段恢复默认,列表按默认规则刷新
- 自动化断言:与 CSV `USER-USR-002` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
条件恢复默认;列表刷新。
---
##### 【P1】【TC-UI-USER-USR-003】【TP_USER_USR_015】展开高级筛选
- 前置条件:已进入用户管理页
- 操作步骤:
1. 点击「高级筛选」
2. 断言展开后面板可见姓名/科室/角色/状态及「重 置」「筛 选」
- 自动化断言:与 CSV `USER-USR-003` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
高级筛选面板展开;关键字段与筛选按钮可见。
---
##### 【P0】【TC-UI-USER-USR-004】【TP_USER_USR_016】高级筛选按状态过滤
##### 【P0】【TC-UI-USER-USR-001】【TP_USER_USR_016】高级筛选按状态过滤
- 前置条件:已进入用户管理页
- 操作步骤:
1. 展开高级筛选,状态下拉选择「启用」或「禁用」
2. 点击「筛 选」
3. 断言列表仅保留对应状态用户(无匹配则空态且总数为 0)
- 自动化断言:与 CSV `USER-USR-004` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-001` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -83,18 +49,6 @@
#### 异常验证点
##### 【P1】【TC-UI-USER-USR-005】【TP_USER_USR_022】无匹配结果空态(mock反例)
- 前置条件:已进入用户管理页
- 操作步骤:
1. 姓名框填入 `__NOT_EXIST_USER__99999`
2. 点击「查 询」
3. 断言空态或「暂无数据」,分页总数为 0
- 自动化断言:与 CSV `USER-USR-005` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
无匹配时不报错;空态明确;总数为 0。
---
......@@ -102,14 +56,14 @@
#### 功能验证点
##### 【P1】【TC-UI-USER-USR-006】【TP_USER_USR_031】分页翻至第 2 页
##### 【P1】【TC-UI-USER-USR-002】【TP_USER_USR_031】分页翻至第 2 页
- 前置条件:默认查询总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行登录账号
2. 点击页码「2」或「下一页」
3. 断言页码高亮为 2,首行账号与第 1 页不同
- 自动化断言:与 CSV `USER-USR-006` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-002` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -121,13 +75,13 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-USR-007】【TP_USER_USR_041】打开新增用户弹窗
##### 【P0】【TC-UI-USER-USR-003】【TP_USER_USR_041】打开新增用户弹窗
- 前置条件:已进入用户管理页
- 操作步骤:
1. 点击「新 增」
2. 断言弹出用户表单,可见账号、姓名、联系方式、医院员工编号、启用/禁用、「取 消」「确 定」
- 自动化断言:与 CSV `USER-USR-007` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-003` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -135,14 +89,14 @@
---
##### 【P1】【TC-UI-USER-USR-008】【TP_USER_USR_043】新增取消不落库
##### 【P1】【TC-UI-USER-USR-004】【TP_USER_USR_043】新增取消不落库
- 前置条件:已进入用户管理页
- 操作步骤:
1. 打开新增,账号填 `${uniqLogin}`,姓名填任意合法值
2. 点击「取 消」
3. 按账号查询,断言无该记录
- 自动化断言:与 CSV `USER-USR-008` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-004` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -152,13 +106,13 @@
#### 异常验证点
##### 【P0】【TC-UI-USER-USR-009】【TP_USER_USR_047】必填为空拦截
##### 【P0】【TC-UI-USER-USR-005】【TP_USER_USR_047】必填为空拦截
- 前置条件:已进入用户管理页
- 操作步骤:
1. 打开新增,账号或姓名留空后点击「确 定」
2. 断言出现必填提示,弹窗仍打开
- 自动化断言:与 CSV `USER-USR-009` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-005` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -166,14 +120,14 @@
---
##### 【P0】【TC-UI-USER-USR-010】【TP_USER_USR_048】登录账号重复拦截
##### 【P0】【TC-UI-USER-USR-006】【TP_USER_USR_048】登录账号重复拦截
- 前置条件:默认查询至少 1 条且登录账号非空
- 操作步骤:
1. 打开新增,账号填入已存在的 `${sampleLoginName}`,补齐其它必填后点「确 定」
2. 断言保存失败并提示,弹窗仍打开
3. 查询该账号,断言原用户未被覆盖
- 自动化断言:与 CSV `USER-USR-010` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-006` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -185,14 +139,14 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-USR-011】【TP_USER_USR_054】打开编辑用户弹窗并回填
##### 【P0】【TC-UI-USER-USR-007】【TP_USER_USR_054】打开编辑用户弹窗并回填
- 前置条件:列表至少 1 条
- 操作步骤:
1. 点击首行「编辑」
2. 断言弹窗标题含「编辑用户」
3. 断言账号、姓名与该行 `${sampleLoginName}`、`${sampleUserName}` 一致(允许规范化空白)
- 自动化断言:与 CSV `USER-USR-011` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-007` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -200,14 +154,14 @@
---
##### 【P1】【TC-UI-USER-USR-012】【TP_USER_USR_058】编辑取消不保存
##### 【P1】【TC-UI-USER-USR-008】【TP_USER_USR_058】编辑取消不保存
- 前置条件:列表至少 1 条
- 操作步骤:
1. 打开首行编辑,记录原姓名
2. 将姓名改为临时值后点「取 消」
3. 再次打开编辑,断言姓名仍为原值
- 自动化断言:与 CSV `USER-USR-012` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-008` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -217,13 +171,13 @@
#### 边界验证点
##### 【P1】【TC-UI-USER-USR-013】【TP_USER_USR_061】编辑时账号只读
##### 【P1】【TC-UI-USER-USR-009】【TP_USER_USR_061】编辑时账号只读
- 前置条件:列表至少 1 条
- 操作步骤:
1. 打开首行编辑
2. 断言登录账号不可改(disabled/readonly 或无法输入)
- 自动化断言:与 CSV `USER-USR-013` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-009` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -233,14 +187,14 @@
#### 功能验证点
##### 【P1】【TC-UI-USER-USR-014】【TP_USER_USR_056】编辑弹窗可见签名图片
##### 【P1】【TC-UI-USER-USR-010】【TP_USER_USR_056】编辑弹窗可见签名图片
- 前置条件:列表至少 1 条
- 操作步骤:
1. 打开首行编辑
2. 断言可见「签名图片」区域(有图则展示,无图则上传入口可见)
3. 点「取 消」,不保存
- 自动化断言:与 CSV `USER-USR-014` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-010` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -252,7 +206,7 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-USR-015】【TP_USER_USR_068】打开授权后取消不生效
##### 【P0】【TC-UI-USER-USR-011】【TP_USER_USR_068】打开授权后取消不生效
- 前置条件:列表至少 1 条
- 操作步骤:
......@@ -260,7 +214,7 @@
2. 断言打开授权层(弹窗或权限树),可见可勾选菜单/功能
3. 如可勾选则改一处勾选后点取消/关闭
4. 再次打开同一用户授权,断言勾选与操作前一致
- 自动化断言:与 CSV `USER-USR-015` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-011` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -272,14 +226,14 @@
#### 功能验证点
##### 【P1】【TC-UI-USER-USR-016】【TP_USER_USR_032】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-USER-USR-012】【TP_USER_USR_032】切换20条每页页面正常且列表同步
- 前置条件:默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip
- 操作步骤:
1. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
2. 分页区切换每页条数为「20 条/页」
3. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错
- 自动化断言:与 CSV `USER-USR-016` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-012` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -287,33 +241,9 @@
---
##### 【P2】【TC-UI-USER-USR-017】【TP_USER_USR_083】打开列设置面板
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 点击「查 询」等待列表稳定
2. 点击表格工具栏列设置(齿轮)图标
3. 断言弹出面板含「列展示」「字段设置」「重置」,关闭面板
- 自动化断言:与 CSV `USER-USR-017` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
列设置面板可打开;关键项可见;关闭后列表正常。
---
##### 【P2】【TC-UI-USER-USR-018】【TP_USER_USR_084】列设置取消勾选后列表列恢复
- 前置条件:默认查询至少 1 条;存在可 toggle 的非核心列,否则 skip
- 操作步骤:
1. 点击「查 询」后打开列设置,取消勾选一列非核心字段并关闭
2. 断言该列表头隐藏;再次打开列设置勾选恢复并关闭
3. 断言该列表头重新可见
- 自动化断言:与 CSV `USER-USR-018` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
取消勾选后表头隐藏;再勾选后表头恢复;无报错遮罩。
---
......@@ -321,7 +251,7 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-USR-019】【TP_USER_USR_068】授权弹框账号与所选行一致
##### 【P0】【TC-UI-USER-USR-013】【TP_USER_USR_068】授权弹框账号与所选行一致
- 前置条件:列表至少 1 条且登录账号非空
- 操作步骤:
......@@ -329,7 +259,7 @@
2. 点击该行「授权」
3. 断言弹出用户角色授权弹框,弹框展示的账号信息与所选行登录账号、姓名一致
4. 关闭弹框
- 自动化断言:与 CSV `USER-USR-019` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-013` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......@@ -337,7 +267,7 @@
---
##### 【P1】【TC-UI-USER-USR-020】【TP_USER_USR_082】授权弹框添加移除角色行
##### 【P1】【TC-UI-USER-USR-014】【TP_USER_USR_082】授权弹框添加移除角色行
- 前置条件:列表至少 1 条;授权弹框含「添加/移除」(非仅权限树模式),否则 skip
- 操作步骤:
......@@ -346,7 +276,7 @@
3. 记录弹框内可「移除」的角色行数,点击「添加」
4. 断言可移除行数 +1;点击新增行的「移除」
5. 断言可移除行数恢复为添加前;关闭弹框且不保存
- 自动化断言:与 CSV `USER-USR-020` 及 `tests/spd/basic-user.spec.ts` 一致
- 自动化断言:与 CSV `USER-USR-014` 及 `tests/spd/basic-user.spec.ts` 一致
###### 预期结果
......
......@@ -201,19 +201,6 @@ X 关闭后弹框正常关闭;页面无报错;未新增角色。
#### 功能验证点
##### 【P1】【TC-UI-USER-ROL-011】【TP_USER_ROL_009】左栏角色列表可上下滑动
- 前置条件:左栏列表高度溢出可滚动(不足则 skip)
- 操作步骤:
1. 定位左栏角色列表滚动区域
2. 向下滚动列表,断言 scrollTop 增加且列表可继续交互
3. 向上滚回(滚轮或滑至顶部),断言 scrollTop 减小
4. 断言页面无报错遮罩
- 自动化断言:与 CSV `USER-ROL-011` 及 `tests/spd/basic-role.spec.ts` 一致
###### 预期结果
左栏可正常上下滑动;滚动后页面无异常。
---
......@@ -221,27 +208,3 @@ X 关闭后弹框正常关闭;页面无报错;未新增角色。
#### 功能验证点
##### 【P1】【TC-UI-USER-ROL-012】【TP_USER_ROL_025】右侧权限树子菜单可上下滑动
- 前置条件:已选中任一角色且右侧权限树高度溢出可滚动(不足则 skip)
- 操作步骤:
1. 点选左栏任一角色,断言右侧菜单权限树可见
2. 定位右侧权限树滚动区域(含子菜单列表)
3. 向下滚动,断言 scrollTop 增加
4. 向上滚回,断言 scrollTop 减小
5. 断言页面无报错遮罩
- 自动化断言:与 CSV `USER-ROL-012` 及 `tests/spd/basic-role.spec.ts` 一致
###### 预期结果
右侧子菜单列表可正常上下滑动;滚动后页面无异常。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **12** 条(P0=10 / P1=2) |
| 来源 | 从 45 条测试点选取可稳定自动化的主路径与关键反向 |
| 未纳入自动化 | 未登录与菜单进入、角色搜索与空态、权限树勾选联动/刷新/保存、删除与预置角色、与用户页角色下拉同源、真实新增角色落库、未保存切角色提示等 |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -30,7 +30,7 @@
##### 【P0】【TC-UI-STAT-PSI-002】【TP_STAT_PSI_012】入库日期院区耗材类型组合查询
- 操作步骤(可选):默认查询取样本 → 填入入库日期区间、院区、耗材类型 → 查询。
- 自动化断言:首行「耗材类型」「产品编号」与条件匹配。
- 自动化断言:首行「耗材类型」「物料编号」与条件匹配。
###### 预期结果
......@@ -82,7 +82,7 @@
##### 【P0】【TC-UI-STAT-PSI-007】【TP_STAT_PSI_027】查询后核心列展示
- 自动化断言:表头含「产品编号」「产品名称」「规格型号」「期初数量」「净入数量」「净出数量」。
- 自动化断言:表头含「物料编号」「产品名称」「规格型号」「期初数量」「净入数量」「净出数量」。
###### 预期结果
......@@ -90,7 +90,7 @@
##### 【P1】【TC-UI-STAT-PSI-008】【TP_STAT_PSI_029】列排序(抽样)
- 操作步骤(可选):对「产品编号」「净入数量」等可见可排序列执行 `expectColumnSortToggle`(先升序后降序各校验一次);无 sorter 则 skip。
- 操作步骤(可选):对「物料编号」「净入数量」等可见可排序列执行 `expectColumnSortToggle`(先升序后降序各校验一次);无 sorter 则 skip。
###### 预期结果
......
......@@ -57,7 +57,7 @@
##### 【P0】【TC-UI-STAT-LMP-005】【TP_STAT_LMP_024】查询后核心列展示
- 自动化断言:表头含「库区名称」「产品编号」「产品名称」「期初数量」「采购入库数量」「请领出库数量」。
- 自动化断言:表头含「库区名称」「物料编号」「产品名称」「期初数量」「采购入库数量」「请领出库数量」。
###### 预期结果
......@@ -74,7 +74,7 @@
##### 【P1】【TC-UI-STAT-LMP-007】【TP_STAT_LMP_026】列排序(抽样)
- 操作步骤(可选):默认查询 → 对「产品编号」等可排序列执行 `expectColumnSortToggle`(先升序后降序各校验一次)。
- 操作步骤(可选):默认查询 → 对「物料编号」等可排序列执行 `expectColumnSortToggle`(先升序后降序各校验一次)。
###### 预期结果
......
......@@ -31,7 +31,7 @@
##### 【P0】【TC-UI-STAT-PTR-002】【TP_STAT_PTR_014】统计周期院区产品组合查询
- 操作步骤(可选):样本填入院区、产品名称、规格型号、耗材类型 → 查询。
- 自动化断言:首行「产品编号/名称」「规格型号」「耗材类型」匹配;「时间段天数」与周期天数一致。
- 自动化断言:首行「物料编号/名称」「规格型号」「耗材类型」匹配;「时间段天数」与周期天数一致。
###### 预期结果
......@@ -65,7 +65,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 检查表头含「产品编号」「产品名称」「规格型号」「生产厂家」「耗材类型」「默认供应商」。
2. 检查表头含「物料编号」「产品名称」「规格型号」「生产厂家」「耗材类型」「默认供应商」。
3. 横向拖拉滚动列表。
4. `expectTableHorizontalScrollAndLayout()` 校验布局。
- 自动化断言:scrollLeft 发生变化;滚动前后布局校验均通过。
......
......@@ -96,7 +96,7 @@
##### 【P0】【TC-UI-STAT-IES-006】【TP_STAT_IES_049】查询后核心列展示
- 操作步骤(可选):执行默认查询。
- 自动化断言:表头包含「产品编号」「产品名称」「单位」「规格型号」「生产厂家」「入库数量」「入库金额」「医保编码」文本。
- 自动化断言:表头包含「物料编号」「产品名称」「单位」「规格型号」「生产厂家」「入库数量」「入库金额」「医保编码」文本。
###### 预期结果
......@@ -123,7 +123,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 确认「产品编号」等左侧核心列可见。
2. 确认「物料编号」等左侧核心列可见。
3. 横向拖拉/滚轮滚动使列表向右移动。
4. 确认远侧列(如「型号」)进入可视区。
5. `expectTableHorizontalScrollAndLayout()` 校验表头相邻列无异常间隙/重叠,表头与首行数据列左右对齐。
......@@ -139,7 +139,7 @@
| 用例编号 | 排序列 | 用例编号 | 排序列 |
|----------|--------|----------|--------|
| STAT-IES-011 | 产品编号 | STAT-IES-016 | 入库数量 |
| STAT-IES-011 | 物料编号 | STAT-IES-016 | 入库数量 |
| STAT-IES-012 | 产品名称 | STAT-IES-017 | 入库金额 |
| STAT-IES-013 | 单位 | STAT-IES-018 | 医保编码 |
| STAT-IES-014 | 规格型号 | STAT-IES-019 | 规格 |
......
......@@ -92,27 +92,20 @@
#### 功能验证点
##### 【P0】【TC-UI-STAT-NES-009】【TP_STAT_NES_040】查询后核心列展示
- 自动化断言:表头含「院区」「产品编码」「产品名称」「规格型号」「是否集采」「是否计费」「进院供应商」「27位医保编码」。
##### 【P1】【TC-UI-STAT-NES-009~021】【TP_STAT_NES_042】各可排序列升序降序切换
###### 预期结果
核心列可见;右侧数量/金额列可横向滚动。
##### 【P1】【TC-UI-STAT-NES-010~025】【TP_STAT_NES_042】各可排序列升序降序切换
页面默认可排序列(2026-08-31 页面表头核验共 **16** 列,默认列展示均可排序);自动化见 `tests/spd/center-report-net-entry.spec.ts` 列排序块。
默认可排序列以 `data/scan/netEntrySummary-sort-columns.json` 为准(**院区默认不在表头,无排序用例**);自动化见 `tests/spd/center-report-net-entry.spec.ts` 列排序块。
- 操作步骤(可选):默认查询 → `scrollColumnIntoView(column)` → `expectColumnSortToggle(column)`(先升序后降序各校验一次)。
可排序列:院区、产品编码、产品名称、单位、耗材类型、是否集采、是否计费、厂家、进院供应商、供应商编码、医保单件名称、注册证号、数量、金额(默认表头实测 14 列;规格型号、27位医保编码默认不展示,不单列排序用例)。
可排序列:产品编码、产品名称、单位、耗材类型、是否集采、是否计费、厂家、进院供应商、供应商编码、医保单件名称、注册证号、数量、金额(规格型号、27位医保编码默认不展示,不单列排序用例)。
###### 预期结果
各可排序列均支持升序/降序切换;排序指示器与当前排序方向一致。
##### 【P2】【TC-UI-STAT-NES-026~031】【TP_STAT_NES_044】列设置
##### 【P2】【TC-UI-STAT-NES-024~031】【TP_STAT_NES_044】列设置
- 操作步骤(可选):默认查询 → 点击列设置齿轮 → `expectColumnSettingsPanel()`。
......@@ -120,7 +113,7 @@
面板含「列展示」「字段设置」「重置」;字段勾选列表可见。
##### 【P2】【TC-UI-STAT-NES-027】【TP_STAT_NES_044】列设置取消勾选后再勾选列表列恢复
##### 【P2】【TC-UI-STAT-NES-025】【TP_STAT_NES_044】列设置取消勾选后再勾选列表列恢复
- 操作步骤(可选):
1. `pickToggleColumnName()` 选取非核心列(27位医保编码/规格型号/生产厂家)。
......@@ -137,11 +130,11 @@
#### 功能验证点
##### 【P0】【TC-UI-STAT-NES-024】【TP_STAT_NES_048】分页展示总条数
##### 【P0】【TC-UI-STAT-NES-022】【TP_STAT_NES_048】分页展示总条数
##### 【P0】【TC-UI-STAT-NES-023】【TP_STAT_NES_049】切换至第 2 页
##### 【P0】【TC-UI-STAT-NES-021】【TP_STAT_NES_049】切换至第 2 页
##### 【P1】【TC-UI-STAT-NES-024】【TP_STAT_NES_050】切换每页条数
##### 【P1】【TC-UI-STAT-NES-022】【TP_STAT_NES_050】切换每页条数
###### 预期结果
......@@ -153,7 +146,7 @@
#### 功能验证点
##### 【P0】【TC-UI-STAT-NES-025】【TP_STAT_NES_054】按当前条件导出
##### 【P0】【TC-UI-STAT-NES-023】【TP_STAT_NES_054】按当前条件导出
- 操作步骤:
1. 默认条件点击「查 询」
......
......@@ -103,7 +103,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 确认「产品编号」等左侧核心列可见。
2. 确认「物料编号」等左侧核心列可见。
3. 在表格数据区横向拖拉/滚轮滚动使列表向右移动。
4. 确认远侧列(如「医保编码」)进入可视区。
5. `expectColumnLayoutIntact()` 校验表头相邻列无异常间隙/重叠,表头与首行数据列左右对齐。
......@@ -119,7 +119,7 @@
| 用例编号 | 排序列 | 用例编号 | 排序列 |
|----------|--------|----------|--------|
| STAT-IOD-008 | 产品编号 | STAT-IOD-023 | 生产日期 |
| STAT-IOD-008 | 物料编号 | STAT-IOD-023 | 生产日期 |
| STAT-IOD-009 | 产品名称 | STAT-IOD-024 | 效期 |
| STAT-IOD-010 | 单位 | STAT-IOD-025 | 入库数量 |
| STAT-IOD-011 | 备注 | STAT-IOD-026 | 出库数量 |
......
......@@ -112,7 +112,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 确认「产品编号」等核心列可见。
2. 确认「物料编号」等核心列可见。
3. 横向拖拉滚动列表。
4. 确认远侧列(如「医保编码」)进入可视区。
5. `expectTableHorizontalScrollAndLayout()` 校验布局。
......@@ -124,7 +124,7 @@
##### 【P1】【TC-UI-STAT-OOS-011~022】【TP_STAT_OOS_048】各可排序列升序降序切换
页面默认可排序列与入库汇总类似(产品编号、名称、单位、规格型号、耗材类型、出库数量、出库金额、医保编码、规格、型号等;默认页无「生产厂家」列);自动化见 `center-report-out.spec.ts`;发现脚本 iframe 改为 `out`。
页面默认可排序列与入库汇总类似(物料编号、名称、单位、规格型号、耗材类型、出库数量、出库金额、医保编码、规格、型号等;默认页无「生产厂家」列);自动化见 `center-report-out.spec.ts`;发现脚本 iframe 改为 `out`。
- 操作步骤(可选):默认查询 → `scrollColumnIntoView(column)` → `expectColumnSortToggle(column)`(先升序后降序各校验一次)。
- 自动化断言:列不可见或无 sorter 时 `test.skip`;否则分别校验升序与降序指示器激活。
......
......@@ -209,7 +209,7 @@
**Smoke(@smoke)**:CRK-001, CRK-004, CRK-019(3 条)。
**已删除**:`STAT-CRK-008` 科室列表科室编号列排序、`STAT-CRK-012` 产品明细产品编号列排序(页面无排序控件)。
**已删除**:`STAT-CRK-008` 科室列表科室编号列排序、`STAT-CRK-012` 产品明细物料编号列排序(页面无排序控件)。
**映射文件**:
- CSV:`testcase/统计报表-发放消耗报表-科室消耗排名-UI自动化测试用例-01.csv`(**19** 条)
......
......@@ -114,12 +114,12 @@
#### 功能验证点
##### 【P1】【TC-UI-STAT-CHC-013】【TP_STAT_CHC_041】产品编号列升序降序切换
##### 【P1】【TC-UI-STAT-CHC-013】【TP_STAT_CHC_041】物料编号列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入高值消耗追溯页(iframe consume/highConsume);已默认查询且主表至少有 2 条数据
- 操作步骤:
1. 默认条件查询
2. 必要时横向滚动使「产品编号」列表头可见
2. 必要时横向滚动使「物料编号」列表头可见
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CHC-013` 及 `tests/spd/consume-high.spec.ts` 一致
......
......@@ -83,7 +83,7 @@
2. 快捷区填入产品名称、记账日期、单据形态
3. 打开高级筛选,填入院区名称、科室、批号、单号、出库目标、结算方式
4. 点击「筛 选」并等待刷新
5. 检查首行产品编号/名称、数量、金额与条件一致
5. 检查首行物料编号/名称、数量、金额与条件一致
- 自动化断言:与 CSV `STAT-RNO-004` 及 `tests/spd/recon-dept-net-out.spec.ts` 一致
###### 预期结果
......
......@@ -77,7 +77,7 @@
##### 【P0】【TC-UI-STAT-DES-004】【TP_STAT_DES_043】全量查询条件组合查询
- 操作步骤(可选):`searchAndExtractSample()` 取样本(可展开首行读子表)→ 快捷区填入产品名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、来源库房、单号、结算方式、进院供应商名称、产品是否收费 → 「筛 选」。
- 自动化断言:首行「产品编号/名称」「入库数量」「结算方式」与已填条件一致;底部「入库品种/入库单元数/入库数量/入库金额」与筛选一致。
- 自动化断言:首行「物料编号/名称」「入库数量」「结算方式」与已填条件一致;底部「入库品种/入库单元数/入库数量/入库金额」与筛选一致。
###### 预期结果
......@@ -92,7 +92,7 @@
##### 【P0】【TC-UI-STAT-DES-008】【TP_STAT_DES_049】查询后核心列展示
- 操作步骤(可选):执行默认查询。
- 自动化断言:表头包含「产品编号」「产品名称」「单位」「规格型号」「生产厂家」「入库数量」「入库金额」「医保编码」文本。
- 自动化断言:表头包含「物料编号」「产品名称」「单位」「规格型号」「生产厂家」「入库数量」「入库金额」「医保编码」文本。
###### 预期结果
......@@ -119,7 +119,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 确认「产品编号」等核心列可见。
2. 确认「物料编号」等核心列可见。
3. 横向拖拉滚动列表。
4. 确认远侧列(如「医保编码」)进入可视区。
5. `expectTableHorizontalScrollAndLayout()` 校验布局。
......
......@@ -62,7 +62,7 @@
- 前置条件:记账日期默认为2026-08-15至2026-09-14。
- 操作步骤(可选):`searchAndExtractSample()` 取样本 → 快捷区填入产品名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、耗材分类、批号、条码号、单号、进院供应商、结算方式、备注、规格型号、制单人、统计维度、是否收费、是否重点管控、重点管控分类、医保编码 → 「筛 选」。
- 自动化断言:首行「产品编号/名称」「科室名称」「单据类型」「批号」「单号」「规格型号」「结算方式」与已填条件一致;底部汇总与筛选一致。
- 自动化断言:首行「物料编号/名称」「科室名称」「单据类型」「批号」「单号」「规格型号」「结算方式」与已填条件一致;底部汇总与筛选一致。
###### 预期结果
......@@ -105,7 +105,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 确认「产品编号」等核心列可见。
2. 确认「物料编号」等核心列可见。
3. 横向拖拉滚动列表。
4. 确认远侧列(如「医保编码」)进入可视区。
5. `expectTableHorizontalScrollAndLayout()` 校验布局。
......
......@@ -74,7 +74,7 @@
##### 【P0】【TC-UI-STAT-DOS-004】【TP_STAT_DOS_040】全量查询条件组合查询
- 操作步骤(可选):`searchAndExtractSample()` 取样本(可展开首行读子表)→ 快捷区填入产品名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、批号、单号、出库目标、结算方式、进院供应商名称、产品是否收费 → 「筛 选」。
- 自动化断言:首行「产品编号/名称」「出库数量」「结算方式」与已填条件一致;底部「出库品种/出库单总数/出库数量/合计出库金额」与筛选一致。
- 自动化断言:首行「物料编号/名称」「出库数量」「结算方式」与已填条件一致;底部「出库品种/出库单总数/出库数量/合计出库金额」与筛选一致。
###### 预期结果
......@@ -89,7 +89,7 @@
##### 【P0】【TC-UI-STAT-DOS-008】【TP_STAT_DOS_046】查询后核心列展示
- 操作步骤(可选):默认查询。
- 自动化断言:表头含「产品编号」「产品名称」「出库数量」「出库金额」「耗材类型」。
- 自动化断言:表头含「物料编号」「产品名称」「出库数量」「出库金额」「耗材类型」。
###### 预期结果
......@@ -116,7 +116,7 @@
- 操作步骤(可选):
1. 默认查询有数据。
2. 确认「产品编号」等核心列可见。
2. 确认「物料编号」等核心列可见。
3. 横向拖拉滚动列表。
4. 确认远侧列(如「医保编码」)进入可视区。
5. `expectTableHorizontalScrollAndLayout()` 校验布局。
......
......@@ -33,7 +33,7 @@
##### 【P0】【TC-UI-STAT-DTR-002】【TP_STAT_DTR_014】统计周期科室产品组合查询
- 操作步骤(可选):样本填入统计周期、科室、产品名称、规格型号、耗材类型 → 查询。
- 自动化断言:首行「产品编号/名称」「规格型号」「耗材类型」与条件匹配;「时间段天数」与周期天数一致。
- 自动化断言:首行「物料编号/名称」「规格型号」「耗材类型」与条件匹配;「时间段天数」与周期天数一致。
###### 预期结果
......@@ -65,7 +65,7 @@
##### 【P0】【TC-UI-STAT-DTR-005】【TP_STAT_DTR_024】查询后基础列展示
- 自动化断言:表头含「科室名称」「产品编号」「产品名称」「规格型号」「生产厂家」「耗材类型」。
- 自动化断言:表头含「科室名称」「物料编号」「产品名称」「规格型号」「生产厂家」「耗材类型」。
###### 预期结果
......@@ -99,7 +99,7 @@
##### 【P1】【TC-UI-STAT-DTR-009~015】【TP_STAT_DTR_028】各可排序列升序降序切换
每条用例对应一列(2026-08-26 页面表头核验共 **7** 列,含 sorter;**产品编号不可排序**,已剔除);自动化见 `tests/spd/dept-report-turnover.spec.ts`。
每条用例对应一列(2026-08-26 页面表头核验共 **7** 列,含 sorter;**物料编号不可排序**,已剔除);自动化见 `tests/spd/dept-report-turnover.spec.ts`。
| 用例编号 | 排序列 | 用例编号 | 排序列 |
|----------|--------|----------|--------|
......@@ -176,6 +176,6 @@
| 项 | 结论 |
|----|------|
| 用例数 | **20** 条(STAT-DTR-001~020;009~015 为 7 列排序,不含产品编号) |
| 用例数 | **20** 条(STAT-DTR-001~020;009~015 为 7 列排序,不含物料编号) |
| 注意 | iframe 为 `dept/deptPro`;科室必填;可排序列:期初/期末/平均库存、出库数量、库存周转天数/次数/率 |
| 待实现 | Page Object 与 spec 待开发 |
......@@ -56,7 +56,7 @@
##### 【P0】【TC-UI-STAT-DPS-004】【TP_STAT_DPS_023】快捷区与高级筛选组合查询
- 操作步骤(可选):`searchAndExtractSample()` 取样本 → 快捷区填入入账日期、院区名称、科室名称 → 打开高级筛选,填入耗材类型、耗材分类、产品名称、规格型号、生产厂家 → 「筛 选」。
- 自动化断言:首行「产品编号/名称」「规格型号」「耗材类型」「耗材分类」「生产厂家」与已填条件匹配。
- 自动化断言:首行「物料编号/名称」「规格型号」「耗材类型」「耗材分类」「生产厂家」与已填条件匹配。
###### 预期结果
......@@ -76,7 +76,7 @@
##### 【P0】【TC-UI-STAT-DPS-008】【TP_STAT_DPS_027】查询后核心列展示
- 自动化断言:表头含「产品编号」「产品名称」「规格型号」「期初数量」「净入数量」「净出数量」「期末数量」。
- 自动化断言:表头含「物料编号」「产品名称」「规格型号」「期初数量」「净入数量」「净出数量」「期末数量」。
###### 预期结果
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment