Commit 97840769 authored by liguangyu06's avatar liguangyu06
Browse files

新增期初管理全链路自动化资产,并加固产品管理用例与清理冗余截图。

紧急放行原因:用户要求立即推送今日改动备份,门禁用例待后续补跑。
parent 3dbf401d
......@@ -13,7 +13,7 @@
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 产品信息变更」;`openPath('/spd/basic/goods/platform/product-info')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
**写操作**:不覆盖「新增」打开/取消/必填;「单属性/多属性变更」仅冒烟进入详情后返回;行内详情/编辑只读核对「变更类型」后关闭(已删除日志);导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`;mock:`__NOT_EXIST_PRODM__99999`。
---
......@@ -95,48 +95,37 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-ICH-005】【TP_PRODM_ICH_014】行内「详情」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-ICH-005】【TP_PRODM_ICH_014】详情页变更类型与主列表一致
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「变更类型」
2. 首行有数据时点击「详情」
3. 断言进入详情页/弹层,可见取消/关闭/返回
4. 断言详情页「变更类型」与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-ICH-005` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
详情页变更类型与主列表一致;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-ICH-006】【TP_PRODM_ICH_015】行内「编辑」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-ICH-006】【TP_PRODM_ICH_015】编辑页变更类型与主列表一致
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「编辑」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「变更类型」
2. 首行有数据时点击「编辑」
3. 断言进入编辑页/弹层,可见取消/关闭/返回
4. 断言编辑页「变更类型」与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-ICH-006` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
行内「编辑」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-ICH-007】【TP_PRODM_ICH_016】行内「日志」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「日志」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-ICH-007` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
行内「日志」可达;关闭后回到列表。
编辑页变更类型与主列表一致;关闭后回到列表。
---
......@@ -144,14 +133,14 @@
#### 功能验证点
##### 【P2】【TC-UI-PRODM-ICH-008】【TP_PRODM_ICH_021】列设置隐藏后再恢复
##### 【P2】【TC-UI-PRODM-ICH-007】【TP_PRODM_ICH_021】列设置隐藏后再恢复
- 前置条件:列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-ICH-008` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-007` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -161,13 +150,13 @@
#### 边界验证点
##### 【P1】【TC-UI-PRODM-ICH-009】【TP_PRODM_ICH_023】横向滚动与列对齐
##### 【P1】【TC-UI-PRODM-ICH-008】【TP_PRODM_ICH_023】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:规划与 CSV `PRODM-ICH-009` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-008` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -175,13 +164,13 @@
---
##### 【P1】【TC-UI-PRODM-ICH-010】【TP_PRODM_ICH_022】无匹配空态(mock反例)
##### 【P1】【TC-UI-PRODM-ICH-009】【TP_PRODM_ICH_022】无匹配空态(mock反例)
- 前置条件:已进入产品信息变更页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-ICH-010` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-009` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -193,13 +182,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-ICH-011】【TP_PRODM_ICH_024】有数据时总条数
##### 【P0】【TC-UI-PRODM-ICH-010】【TP_PRODM_ICH_024】有数据时总条数
- 前置条件:已进入产品信息变更页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-ICH-011` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-010` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -207,14 +196,14 @@
---
##### 【P0】【TC-UI-PRODM-ICH-012】【TP_PRODM_ICH_025】切换至第 2 页
##### 【P0】【TC-UI-PRODM-ICH-011】【TP_PRODM_ICH_025】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-ICH-012` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-011` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -222,14 +211,14 @@
---
##### 【P1】【TC-UI-PRODM-ICH-013】【TP_PRODM_ICH_026】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-ICH-012】【TP_PRODM_ICH_026】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-ICH-013` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-012` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -241,13 +230,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-ICH-014】【TP_PRODM_ICH_031】按当前条件打印
##### 【P0】【TC-UI-PRODM-ICH-013】【TP_PRODM_ICH_031】按当前条件打印
- 前置条件:已进入产品信息变更页
- 操作步骤:
1. 点击「打 印」或「打印产品码」等页面级打印入口
2. 断言可拉起对话框/预览/toast,无 error
- 自动化断言:规划与 CSV `PRODM-ICH-014` 及 `tests/spd/prodm-info-change.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-ICH-013` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
......@@ -255,60 +244,49 @@
---
### 产品信息变更 · 新增
### 产品信息变更 · 单属性变更
#### 功能验证点
##### 【P0】【TC-UI-PRODM-ICH-015】【TP_PRODM_ICH_032】打开「新增」对应弹窗/抽屉
##### 【P0】【TC-UI-PRODM-ICH-014】点击「单属性变更」跳转详情页无报错
- 前置条件:已进入产品信息变更页
- 前置条件:工具栏可见「单属性变更」
- 操作步骤:
1. 点击「新增」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-ICH-015` 及 `tests/spd/prodm-info-change.spec.ts` 一致
1. 点击工具栏「单属性变更」
2. 断言页面跳转至详情/表单页(可见返回或取消/关闭),无报错
3. 点击返回/关闭回到列表
- 自动化断言:规划与 CSV `PRODM-ICH-014` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
「新增」层打开;关键控件可见。
点击「单属性变更」后正常进入详情页,无报错;可返回列表。
---
##### 【P1】【TC-UI-PRODM-ICH-016】【TP_PRODM_ICH_033】「新增」取消不落库
### 产品信息变更 · 多属性变更
- 前置条件:已进入产品信息变更页
- 操作步骤:
1. 打开「新增」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-ICH-016` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
---
#### 边界验证点
#### 功能验证点
##### 【P1】【TC-UI-PRODM-ICH-017】【TP_PRODM_ICH_034】「新增」必填为空拦截
##### 【P0】【TC-UI-PRODM-ICH-015】点击「多属性变更」跳转详情页无报错
- 前置条件:该层存在必填提交,否则 skip
- 前置条件:工具栏可见「多属性变更」
- 操作步骤:
1. 打开「新增」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-ICH-017` 及 `tests/spd/prodm-info-change.spec.ts` 一致
1. 点击工具栏「多属性变更」
2. 断言页面跳转至详情/表单页(可见返回或取消/关闭),无报错
3. 点击返回/关闭回到列表
- 自动化断言:规划与 CSV `PRODM-ICH-015` 及 `tests/spd/prodm-info-change.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
点击「多属性变更」后正常进入详情页,无报错;可返回列表。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **17** 条(P0=10 / P1=6 / P2=1) |
| 来源 | 从 41 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 用例数 | **15** 条(P0=10 / P1=4 / P2=1);含工具栏「单属性变更」「多属性变更」跳转详情冒烟 |
| 来源 | 从 41 条测试点选取可稳定自动化场景;H3 与测试点同名;014/015 为用户补充场景 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段、新增打开/取消/必填、行内「日志」 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -94,29 +94,14 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-005】【TP_PRODM_FAU_016】行内「详情」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-FAU-005` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-FAU-006】【TP_PRODM_FAU_017】行内「审核」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-FAU-005】【TP_PRODM_FAU_017】行内「审核」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「审核」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-FAU-006` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-005` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -124,32 +109,17 @@
---
##### 【P0】【TC-UI-PRODM-FAU-007】【TP_PRODM_FAU_018】行内「编辑」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「编辑」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-FAU-007` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
行内「编辑」可达;关闭后回到列表。
---
### 产品初审核对 · 列表
#### 边界验证点
##### 【P1】【TC-UI-PRODM-FAU-008】【TP_PRODM_FAU_023】无匹配空态(mock反例)
##### 【P1】【TC-UI-PRODM-FAU-006】【TP_PRODM_FAU_023】无匹配空态(mock反例)
- 前置条件:已进入产品初审核对页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-FAU-008` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-006` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -161,13 +131,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-009】【TP_PRODM_FAU_024】有数据时总条数
##### 【P0】【TC-UI-PRODM-FAU-007】【TP_PRODM_FAU_024】有数据时总条数
- 前置条件:已进入产品初审核对页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-FAU-009` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-007` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -175,14 +145,14 @@
---
##### 【P0】【TC-UI-PRODM-FAU-010】【TP_PRODM_FAU_025】切换至第 2 页
##### 【P0】【TC-UI-PRODM-FAU-008】【TP_PRODM_FAU_025】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-FAU-010` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-008` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -190,14 +160,14 @@
---
##### 【P1】【TC-UI-PRODM-FAU-011】【TP_PRODM_FAU_026】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-FAU-009】【TP_PRODM_FAU_026】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-FAU-011` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-009` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -209,18 +179,18 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-012】【TP_PRODM_FAU_031】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-FAU-010】【TP_PRODM_FAU_031】首行样本查询后导出
- 前置条件:已进入产品初审核对页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-FAU-012` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-010` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......@@ -228,14 +198,14 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-013】【TP_PRODM_FAU_033】打开「产品初审核对」对应弹窗/抽屉
##### 【P0】【TC-UI-PRODM-FAU-011】【TP_PRODM_FAU_033】打开「产品初审核对」对应弹窗/抽屉
- 前置条件:已进入产品初审核对页
- 操作步骤:
1. 点击「产品初审核对」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-FAU-013` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-011` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -243,13 +213,13 @@
---
##### 【P1】【TC-UI-PRODM-FAU-014】【TP_PRODM_FAU_034】「产品初审核对」取消不落库
##### 【P1】【TC-UI-PRODM-FAU-012】【TP_PRODM_FAU_034】「产品初审核对」取消不落库
- 前置条件:已进入产品初审核对页
- 操作步骤:
1. 打开「产品初审核对」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-FAU-014` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-FAU-012` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
......@@ -259,24 +229,186 @@
#### 边界验证点
##### 【P1】【TC-UI-PRODM-FAU-015】【TP_PRODM_FAU_035】「产品初审核对」必填为空拦截
##### 【P1】【TC-UI-PRODM-FAU-013】【TP_PRODM_FAU_035】「产品初审核对」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「产品初审核对」,必填项留空后点击「确 定」
1. 打开「产品初审核对」,必填项留空后点击「驳 回」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-FAU-013` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
驳回被拦截;不落库。
---
### 产品初审核对 · 状态 Tab
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-014】【TP_PRODM_FAU_043】切换至「全部产品」
- 前置条件:已进入产品初审核对页
- 操作步骤:
1. 点击列表上方「全部产品」Tab
2. 断言 Tab 高亮;列表刷新且无报错(可为空态)
- 自动化断言:规划与 CSV `PRODM-FAU-014` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
切换至全部产品成功;列表与当前 Tab 对应;无报错。
---
### 产品初审核对 · 全部产品 · 快捷筛选查询
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-015】【TP_PRODM_FAU_044】全量可见条件组合查询
- 前置条件:已切换至「全部产品」;默认查询至少 1 条,否则 skip
- 操作步骤:
1. 默认查询 → 从首行提取全量样本(只填当前结果里有值的条件)
2. 快捷区可见非空条件全部填入后查询
3. 抽样首行同时满足全部已填条件;无未捕获异常
- 自动化断言:规划与 CSV `PRODM-FAU-015` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
查询正常无报错;查询结果与查询条件一致。
---
##### 【P1】【TC-UI-PRODM-FAU-017】【TP_PRODM_FAU_046】快捷区重置恢复默认
- 前置条件:已切换至「全部产品」
- 操作步骤:
1. 任意填写快捷区可见字段后点击「重 置」
2. 断言条件恢复默认;列表是否刷新按产品规则(未定则记待评审)
- 自动化断言:规划与 CSV `PRODM-FAU-017` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
重置后条件恢复默认;页面无报错。
---
### 产品初审核对 · 全部产品 · 查询条件展开收起
#### 功能验证点
##### 【P1】【TC-UI-PRODM-FAU-016】【TP_PRODM_FAU_045】展开后更多条件可见
- 前置条件:已切换至「全部产品」
- 操作步骤:
1. 点击「展开」
2. 断言额外筛选字段进入可视区且可填写
3. 按钮文案变为「收起」
- 自动化断言:规划与 CSV `PRODM-FAU-016` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
展开后更多条件可见并可交互。
---
### 产品初审核对 · 全部产品 · 列表
#### 功能验证点
##### 【P2】【TC-UI-PRODM-FAU-018】【TP_PRODM_FAU_047】列设置隐藏后再恢复
- 前置条件:已切换至「全部产品」;列表表头已加载;存在可隐藏的非核心列
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-FAU-018` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
勾选状态与表头一致。
---
### 产品初审核对 · 全部产品 · 分页
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-019】【TP_PRODM_FAU_048】切换至第 2 页
- 前置条件:已切换至「全部产品」;总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-FAU-019` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
翻页成功;数据更换。
---
##### 【P1】【TC-UI-PRODM-FAU-020】【TP_PRODM_FAU_049】切换20条每页页面正常且列表同步
- 前置条件:已切换至「全部产品」;N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-FAU-020` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
---
### 产品初审核对 · 全部产品 · 导出
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-021】【TP_PRODM_FAU_050】首行样本查询后导出
- 前置条件:已切换至「全部产品」
- 操作步骤:
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-FAU-021` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
按首行样本查询后导出流程可启动;无数据则跳过。
---
### 产品初审核对 · 全部产品 · 行内操作
#### 功能验证点
##### 【P0】【TC-UI-PRODM-FAU-022】【TP_PRODM_FAU_051】行内「详情」可达(只读冒烟)
- 前置条件:已切换至「全部产品」;列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-FAU-022` 及 `tests/spd/prodm-first-audit.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **15** 条(P0=9 / P1=6) |
| 来源 | 从 42 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 用例数 | **22** 条(P0=12 / P1=9 / P2=1) |
| 来源 | 从测试点选取可稳定自动化场景;含「全部产品」Tab 列表能力;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
......
......@@ -13,7 +13,7 @@
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 产品核对重新发起」;`openPath('/spd/basic/goods/paltform/product/check')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
**写操作**:批量重新审核依赖勾选;未勾选置灰;勾选后仅打开提示弹框后关闭,不提交成功落库;导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`;mock:`__NOT_EXIST_PRODM__99999`。
---
......@@ -193,18 +193,19 @@ Tab 与列表一致;无报错。
#### 功能验证点
##### 【P0】【TC-UI-PRODM-CHK-011】【TP_PRODM_CHK_027】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-CHK-011】【TP_PRODM_CHK_027】首行样本查询后导出
- 前置条件:已进入产品核对重新发起页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-CHK-011` 及 `tests/spd/prodm-check-reinit.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......@@ -227,40 +228,43 @@ Tab 与列表一致;无报错。
---
##### 【P1】【TC-UI-PRODM-CHK-013】【TP_PRODM_CHK_030】「重新发起审核」取消不落库
### 产品核对重新发起 · 批量重新审核
- 前置条件:已进入产品核对重新发起页
#### 功能验证点
##### 【P1】【TC-UI-PRODM-CHK-013】【TP_PRODM_CHK_039】未勾选时「批量重新审核」置灰不可点击
- 前置条件:已进入产品核对重新发起页;无勾选列表明细
- 操作步骤:
1. 打开「重新发起审核」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
1. 确认列表行均未勾选
2. 断言「批量重新审核」按钮置灰(disabled / ant-btn-disabled),不可点击
- 自动化断言:规划与 CSV `PRODM-CHK-013` 及 `tests/spd/prodm-check-reinit.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
未勾选时按钮置灰,不可点击。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-CHK-014】【TP_PRODM_CHK_031】「重新发起审核」必填为空拦截
##### 【P0】【TC-UI-PRODM-CHK-014】【TP_PRODM_CHK_040】勾选后点击「批量重新审核」弹出提示弹框
- 前置条件:该层存在必填提交,否则 skip
- 前置条件:已进入产品核对重新发起页;列表至少 1 条可勾选,否则 skip
- 操作步骤:
1. 打开「重新发起审核」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
1. 勾选至少 1 条列表明细
2. 点击「批量重新审核」
3. 断言页面正常弹出提示弹框/确认层;关闭或取消,不落库
- 自动化断言:规划与 CSV `PRODM-CHK-014` 及 `tests/spd/prodm-check-reinit.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
勾选后按钮可点;提示弹框正常弹出。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **14** 条(P0=8 / P1=6) |
| 来源 | 从 38 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 用例数 | **14** 条(P0=9 / P1=5) |
| 来源 | 从 40 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
......
......@@ -6,11 +6,11 @@
**定位器 YAML**:`locators/spd/prodm-price-check.locator.yaml`
**元素扫描**:`data/scan/prodm-price-check-elements.json`(74 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-006.md`
**版本**:2026-11-04
**版本**:2026-11-06
**自动化框架**:Playwright + TypeScript(规划 `tests/spd/prodm-price-check.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` + `storageState`;具备「基础设置 → 产品管理 → 产品物价核对」权限。
**页面约定**:整页渲染;定位在 `page` 上。
**页面约定**:整页渲染;定位在 `page` 上;状态 Tab 含「待审核」「全部产品」。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 产品物价核对」;`openPath('/spd/basic/goods/paltform/product/priceCheck')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
......@@ -80,7 +80,7 @@
- 前置条件:已进入产品物价核对页
- 操作步骤:
1. 断言表头含核心列(抽样):物料、物价/收费相关列、审核状态等(以现网为准)
1. 断言表头含核心列(抽样):物料编号、名称、规格、注册人、单价、审核状态等(以现网为准)
2. 若有数据,抽样首行关键字段非空
- 自动化断言:规划与 CSV `PRODM-PRC-004` 及 `tests/spd/prodm-price-check.spec.ts` 一致
......@@ -94,48 +94,36 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-005】【TP_PRODM_PRC_016】行内「详情」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-PRC-005】【TP_PRODM_PRC_017】审核页面物料编号与主列表一致
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「物料编号」(或「物料编码」)
2. 首行有数据时点击「审核」
3. 断言进入审核页/弹层,可见取消/关闭/返回
4. 断言审核页「物料编号/物料编码」与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PRC-005` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
审核页物料编号与主列表一致;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-PRC-006】【TP_PRODM_PRC_017】行内「审核」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-PRC-006】【TP_PRODM_PRC_058】行内「调整是否收费」打开后关闭
- 前置条件:列表至少 1 条
- 前置条件:列表至少 1 条含「调整是否收费」
- 操作步骤:
1. 首行有数据时点击「审核」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 首行有数据时点击行内「调整是否收费」
2. 断言弹窗/抽屉打开且可见「关 闭」
3. 点击弹框「关 闭」
4. 断言弹层关闭,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PRC-006` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
行内「审核」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-PRC-007】【TP_PRODM_PRC_018】行内「编辑」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「编辑」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PRC-007` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
行内「编辑」可达;关闭后回到列表。
行内「调整是否收费」可打开;点击「关闭」后弹框正常关闭。
---
......@@ -143,13 +131,13 @@
#### 边界验证点
##### 【P1】【TC-UI-PRODM-PRC-008】【TP_PRODM_PRC_023】无匹配空态(mock反例)
##### 【P1】【TC-UI-PRODM-PRC-007】【TP_PRODM_PRC_023】无匹配空态(mock反例)
- 前置条件:已进入产品物价核对页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-PRC-008` 及 `tests/spd/prodm-price-check.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PRC-007` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
......@@ -161,13 +149,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-009】【TP_PRODM_PRC_024】有数据时总条数
##### 【P0】【TC-UI-PRODM-PRC-008】【TP_PRODM_PRC_024】有数据时总条数
- 前置条件:已进入产品物价核对页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-PRC-009` 及 `tests/spd/prodm-price-check.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PRC-008` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
......@@ -175,14 +163,14 @@
---
##### 【P0】【TC-UI-PRODM-PRC-010】【TP_PRODM_PRC_025】切换至第 2 页
##### 【P0】【TC-UI-PRODM-PRC-009】【TP_PRODM_PRC_025】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-PRC-010` 及 `tests/spd/prodm-price-check.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PRC-009` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
......@@ -190,11 +178,26 @@
---
##### 【P1】【TC-UI-PRODM-PRC-010】【TP_PRODM_PRC_048】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-PRC-010` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
---
### 产品物价核对 · 导出
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-011】【TP_PRODM_PRC_030】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-PRC-011】【TP_PRODM_PRC_030】首行样本查询后导出
- 前置条件:已进入产品物价核对页
- 操作步骤:
......@@ -205,7 +208,7 @@
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......@@ -228,90 +231,196 @@
---
##### 【P1】【TC-UI-PRODM-PRC-013】【TP_PRODM_PRC_033】「批量审核」取消不落库
### 产品物价核对 · 批量是否收费
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-013】【TP_PRODM_PRC_038】打开「批量是否收费」对应弹窗/抽屉
- 前置条件:已进入产品物价核对页
- 操作步骤:
1. 打开「批量审核」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
1. 点击「批量是否收费」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-PRC-013` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
「批量是否收费」层打开;关键控件可见。
---
#### 边界验证点
### 产品物价核对 · 状态 Tab
##### 【P1】【TC-UI-PRODM-PRC-014】【TP_PRODM_PRC_034】「批量审核」必填为空拦截
#### 功能验证点
- 前置条件:该层存在必填提交,否则 skip
##### 【P0】【TC-UI-PRODM-PRC-014】【TP_PRODM_PRC_049】切换至「全部产品」
- 前置条件:已进入产品物价核对页
- 操作步骤:
1. 打开「批量审核」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
1. 点击列表上方「全部产品」Tab
2. 断言 Tab 高亮;列表刷新且无报错(可为空态)
- 自动化断言:规划与 CSV `PRODM-PRC-014` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
切换至全部产品成功;列表与当前 Tab 对应;无报错。
---
### 产品物价核对 · 批量是否收费
### 产品物价核对 · 全部产品 · 快捷筛选查询
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-015】【TP_PRODM_PRC_038】打开「批量是否收费」对应弹窗/抽屉
##### 【P0】【TC-UI-PRODM-PRC-015】【TP_PRODM_PRC_050】全量可见条件组合查询
- 前置条件:已进入产品物价核对页
- 前置条件:已切换至「全部产品」;默认查询至少 1 条,否则 skip
- 操作步骤:
1. 点击「批量是否收费」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
1. 默认查询 → 从首行提取全量样本(只填当前结果里有值的条件)
2. 快捷区可见非空条件全部填入后查询
3. 抽样首行同时满足全部已填条件;无未捕获异常
- 自动化断言:规划与 CSV `PRODM-PRC-015` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
「批量是否收费」层打开;关键控件可见。
查询正常无报错;查询结果与查询条件一致。
---
##### 【P1】【TC-UI-PRODM-PRC-016】【TP_PRODM_PRC_039】「批量是否收费」取消不落库
##### 【P1】【TC-UI-PRODM-PRC-017】【TP_PRODM_PRC_052】快捷区重置恢复默认
- 前置条件:已进入产品物价核对页
- 前置条件:已切换至「全部产品」
- 操作步骤:
1. 打开「批量是否收费」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
1. 任意填写快捷区可见字段后点击「重 置」
2. 断言条件恢复默认;列表是否刷新按产品规则(未定则记待评审)
- 自动化断言:规划与 CSV `PRODM-PRC-017` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
重置后条件恢复默认;页面无报错。
---
### 产品物价核对 · 全部产品 · 查询条件展开收起
#### 功能验证点
##### 【P1】【TC-UI-PRODM-PRC-016】【TP_PRODM_PRC_051】展开后更多条件可见
- 前置条件:已切换至「全部产品」
- 操作步骤:
1. 点击「展开」
2. 断言额外筛选字段进入可视区且可填写
3. 按钮文案变为「收起」
- 自动化断言:规划与 CSV `PRODM-PRC-016` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
展开后更多条件可见并可交互。
---
#### 边界验证点
### 产品物价核对 · 全部产品 · 列表
##### 【P1】【TC-UI-PRODM-PRC-017】【TP_PRODM_PRC_040】「批量是否收费」必填为空拦截
#### 功能验证点
- 前置条件:该层存在必填提交,否则 skip
##### 【P2】【TC-UI-PRODM-PRC-018】【TP_PRODM_PRC_053】列设置隐藏后再恢复
- 前置条件:已切换至「全部产品」;列表表头已加载;存在可隐藏的非核心列
- 操作步骤:
1. 打开「批量是否收费」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-PRC-017` 及 `tests/spd/prodm-price-check.spec.ts` 一致
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-PRC-018` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
勾选状态与表头一致。
---
### 产品物价核对 · 全部产品 · 分页
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-019】【TP_PRODM_PRC_054】切换至第 2 页
- 前置条件:已切换至「全部产品」;总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-PRC-019` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
翻页成功;数据更换。
---
##### 【P1】【TC-UI-PRODM-PRC-020】【TP_PRODM_PRC_055】切换20条每页页面正常且列表同步
- 前置条件:已切换至「全部产品」;N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-PRC-020` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
---
### 产品物价核对 · 全部产品 · 导出
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-021】【TP_PRODM_PRC_056】首行样本查询后导出
- 前置条件:已切换至「全部产品」
- 操作步骤:
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-PRC-021` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
按首行样本查询后导出流程可启动;无数据则跳过。
---
### 产品物价核对 · 全部产品 · 行内操作
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PRC-022】【TP_PRODM_PRC_057】详情页面物料编号与列表一致
- 前置条件:已切换至「全部产品」;列表至少 1 条
- 操作步骤:
1. 记录首行「物料编号」(或「物料编码」)
2. 首行有数据时点击「详情」
3. 断言进入详情,可见返回/关闭
4. 断言详情页「物料编号/物料编码」与列表首行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PRC-022` 及 `tests/spd/prodm-price-check.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
详情页物料编号与列表一致;关闭后回到列表。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **17** 条(P0=10 / P1=7) |
| 来源 | 从 47 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 用例数 | **22** 条(P0=15 / P1=6 / P2=1) |
| 来源 | 从测试点选取可稳定自动化场景;对齐初审核对「全部产品」Tab 列表能力;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6);本页无 sorter 则不写 |
| 每页条数 | 有 size-changer:待审核与全部产品均写「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -131,14 +131,16 @@
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「物料编号」(或「物料编码」)
2. 首行有数据时点击「详情」
3. 断言进入详情,可见返回/关闭
4. 断言详情页「物料编号/物料编码」与列表首行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-MNT-007` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
行内操作可达;关闭后回到列表。
行内操作可达;详情物料编码与列表一致;关闭后回到列表。
---
......@@ -159,15 +161,449 @@
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-MNT-009】【TP_PRODM_MNT_021】物料编号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:
1. 默认查询后列表有数据
2. 横向滚动使「物料编号」列表头可见(宽表时)
3. 第一次点击该列排序控件并校验升序指示器
4. 第二次点击并校验降序指示器
- 自动化断言:规划与 CSV `PRODM-MNT-009` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-010】【TP_PRODM_MNT_021】HIS编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「HIS编码」
- 自动化断言:规划与 CSV `PRODM-MNT-010` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-011】【TP_PRODM_MNT_021】阳采ID列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「阳采ID」
- 自动化断言:规划与 CSV `PRODM-MNT-011` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-012】【TP_PRODM_MNT_021】规格型号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「规格型号」
- 自动化断言:规划与 CSV `PRODM-MNT-012` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-013】【TP_PRODM_MNT_021】器械注册人列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「器械注册人」
- 自动化断言:规划与 CSV `PRODM-MNT-013` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-014】【TP_PRODM_MNT_021】单位列升序降序切换
##### 【P1】【TC-UI-PRODM-MNT-009】【TP_PRODM_MNT_024】横向滚动与列对齐
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「单位」
- 自动化断言:规划与 CSV `PRODM-MNT-014` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-015】【TP_PRODM_MNT_021】耗材类型列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「耗材类型」
- 自动化断言:规划与 CSV `PRODM-MNT-015` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-016】【TP_PRODM_MNT_021】品牌列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「品牌」
- 自动化断言:规划与 CSV `PRODM-MNT-016` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-017】【TP_PRODM_MNT_021】器械注册证号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「器械注册证号」
- 自动化断言:规划与 CSV `PRODM-MNT-017` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-018】【TP_PRODM_MNT_021】医保编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「医保编码」
- 自动化断言:规划与 CSV `PRODM-MNT-018` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-019】【TP_PRODM_MNT_021】27位医保编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「27位医保编码」
- 自动化断言:规划与 CSV `PRODM-MNT-019` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-020】【TP_PRODM_MNT_021】医保通用名列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「医保通用名」
- 自动化断言:规划与 CSV `PRODM-MNT-020` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-021】【TP_PRODM_MNT_021】一级分类列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「一级分类」
- 自动化断言:规划与 CSV `PRODM-MNT-021` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-022】【TP_PRODM_MNT_021】二级分类列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「二级分类」
- 自动化断言:规划与 CSV `PRODM-MNT-022` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-023】【TP_PRODM_MNT_021】三级分类列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「三级分类」
- 自动化断言:规划与 CSV `PRODM-MNT-023` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-024】【TP_PRODM_MNT_021】阳采编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「阳采编码」
- 自动化断言:规划与 CSV `PRODM-MNT-024` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-025】【TP_PRODM_MNT_021】69码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「69码」
- 自动化断言:规划与 CSV `PRODM-MNT-025` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-026】【TP_PRODM_MNT_021】hrp编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「hrp编码」
- 自动化断言:规划与 CSV `PRODM-MNT-026` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-027】【TP_PRODM_MNT_021】招标文号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「招标文号」
- 自动化断言:规划与 CSV `PRODM-MNT-027` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-028】【TP_PRODM_MNT_021】单价列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「单价」
- 自动化断言:规划与 CSV `PRODM-MNT-028` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-029】【TP_PRODM_MNT_021】规格列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「规格」
- 自动化断言:规划与 CSV `PRODM-MNT-029` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-030】【TP_PRODM_MNT_021】型号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「型号」
- 自动化断言:规划与 CSV `PRODM-MNT-030` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-031】【TP_PRODM_MNT_021】专科专用耗材列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「专科专用耗材」
- 自动化断言:规划与 CSV `PRODM-MNT-031` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-032】【TP_PRODM_MNT_021】备注列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「备注」
- 自动化断言:规划与 CSV `PRODM-MNT-032` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-033】【TP_PRODM_MNT_021】是否RFID管理列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「是否RFID管理」
- 自动化断言:规划与 CSV `PRODM-MNT-033` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-034】【TP_PRODM_MNT_021】创建时间列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「创建时间」
- 自动化断言:规划与 CSV `PRODM-MNT-034` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-035】【TP_PRODM_MNT_021】默认DI列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「默认DI」
- 自动化断言:规划与 CSV `PRODM-MNT-035` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-036】【TP_PRODM_MNT_021】erp编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「erp编码」
- 自动化断言:规划与 CSV `PRODM-MNT-036` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-037】【TP_PRODM_MNT_021】运输条件列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「运输条件」
- 自动化断言:规划与 CSV `PRODM-MNT-037` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-038】【TP_PRODM_MNT_021】是否植入列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「是否植入」
- 自动化断言:规划与 CSV `PRODM-MNT-038` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-039】【TP_PRODM_MNT_021】默认二级供应商erp编码列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「默认二级供应商erp编码」
- 自动化断言:规划与 CSV `PRODM-MNT-039` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-040】【TP_PRODM_MNT_021】是否限量采购列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「是否限量采购」
- 自动化断言:规划与 CSV `PRODM-MNT-040` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-041】【TP_PRODM_MNT_021】默认销售商列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「默认销售商」
- 自动化断言:规划与 CSV `PRODM-MNT-041` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-042】【TP_PRODM_MNT_021】默认供应商列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「默认供应商」
- 自动化断言:规划与 CSV `PRODM-MNT-042` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-043】【TP_PRODM_MNT_021】物料名称列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「物料名称」
- 自动化断言:规划与 CSV `PRODM-MNT-043` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-044】【TP_PRODM_MNT_021】物料俗称列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料编号列升序降序切换」,列名为「物料俗称」
- 自动化断言:规划与 CSV `PRODM-MNT-044` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-MNT-045】【TP_PRODM_MNT_024】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:规划与 CSV `PRODM-MNT-009` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-045` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -175,13 +611,13 @@
---
##### 【P1】【TC-UI-PRODM-MNT-010】【TP_PRODM_MNT_023】无匹配空态(mock反例)
##### 【P1】【TC-UI-PRODM-MNT-046】【TP_PRODM_MNT_023】无匹配空态(mock反例)
- 前置条件:已进入产品维护页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-MNT-010` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-046` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -193,13 +629,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-MNT-011】【TP_PRODM_MNT_026】有数据时总条数
##### 【P0】【TC-UI-PRODM-MNT-047】【TP_PRODM_MNT_026】有数据时总条数
- 前置条件:已进入产品维护页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-MNT-011` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-047` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -207,14 +643,14 @@
---
##### 【P0】【TC-UI-PRODM-MNT-012】【TP_PRODM_MNT_027】切换至第 2 页
##### 【P0】【TC-UI-PRODM-MNT-048】【TP_PRODM_MNT_027】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-MNT-012` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-048` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -222,14 +658,14 @@
---
##### 【P1】【TC-UI-PRODM-MNT-013】【TP_PRODM_MNT_028】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-MNT-049】【TP_PRODM_MNT_028】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-MNT-013` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-049` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -241,63 +677,65 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-MNT-014】【TP_PRODM_MNT_033】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-MNT-050】【TP_PRODM_MNT_033】首行样本查询后导出
- 前置条件:已进入产品维护页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-MNT-014` 及 `tests/spd/prodm-maintain.spec.ts` 一致
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-MNT-050` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
### 产品维护 · 分类维护
### 产品维护 · 新增分类
#### 功能验证点
##### 【P0】【TC-UI-PRODM-MNT-015】【TP_PRODM_MNT_035】打开「分类维护」对应弹窗/抽屉
##### 【P0】【TC-UI-PRODM-MNT-051】【TP_PRODM_MNT_035】打开「新增分类」对应弹窗/抽屉
- 前置条件:已进入产品维护页
- 操作步骤:
1. 点击「分类维护」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-MNT-015` 及 `tests/spd/prodm-maintain.spec.ts` 一致
1. 点击左侧「新增分类」
2. 断言弹层打开,标题为「分类维护」(现网)
3. 断言「分类编码」「分类名称」等关键字段可交互,可见「取 消」「确 定」
- 自动化断言:规划与 CSV `PRODM-MNT-051` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
「分类维护」层打开;关键控件可见。
「新增分类」弹层打开;关键控件可见。
---
##### 【P1】【TC-UI-PRODM-MNT-016】【TP_PRODM_MNT_036】「分类维护」取消不落库
##### 【P1】【TC-UI-PRODM-MNT-052】【TP_PRODM_MNT_036】「新增分类」取消不落库
- 前置条件:已进入产品维护页
- 操作步骤:
1. 打开「分类维护」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-MNT-016` 及 `tests/spd/prodm-maintain.spec.ts` 一致
1. 记录当前左侧树可见节点
2. 打开「新增分类」,填写分类名称后点击「取 消」
3. 断言弹层关闭,树节点集合与打开前一致
- 自动化断言:规划与 CSV `PRODM-MNT-052` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
取消后树无新增节点;不落库。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-MNT-017】【TP_PRODM_MNT_037】「分类维护」必填为空拦截
##### 【P1】【TC-UI-PRODM-MNT-053】【TP_PRODM_MNT_037】「新增分类」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「分类维护」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-MNT-017` 及 `tests/spd/prodm-maintain.spec.ts` 一致
1. 打开「新增分类」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,树不新增节点
- 自动化断言:规划与 CSV `PRODM-MNT-053` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -305,32 +743,67 @@
---
### 产品维护 · 添加
### 产品维护 · 编辑分类
#### 功能验证点
##### 【P0】【TC-UI-PRODM-MNT-018】【TP_PRODM_MNT_041】打开「添加」对应弹窗/抽屉
##### 【P0】【TC-UI-PRODM-MNT-054】【TP_PRODM_MNT_051】打开「编辑分类」对应弹窗/抽屉
- 前置条件:已进入产品维护页
- 前置条件:左侧树至少 1 个带编辑图标的节点
- 操作步骤:
1. 点击「添加」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-MNT-018` 及 `tests/spd/prodm-maintain.spec.ts` 一致
1. 点击左侧树节点旁编辑图标(现网 anticon-form)
2. 断言弹层标题为「编辑医院产品分类」
3. 断言分类名称/分类编码与该树节点回填一致,可见「取 消」「确 定」
- 自动化断言:规划与 CSV `PRODM-MNT-054` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
「编辑分类」弹层打开;字段回填正确。
---
##### 【P1】【TC-UI-PRODM-MNT-055】【TP_PRODM_MNT_052】「编辑分类」取消不落库
- 前置条件:左侧树至少 1 个带编辑图标的节点
- 操作步骤:
1. 记录当前左侧树可见节点文案
2. 打开「编辑分类」,修改分类名称后点击「取 消」
3. 断言弹层关闭,树节点文案与打开前一致
- 自动化断言:规划与 CSV `PRODM-MNT-055` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
「添加」层打开;关键控件可见。
取消后树文案不变;不落库。
---
##### 【P1】【TC-UI-PRODM-MNT-019】【TP_PRODM_MNT_042】「添加」取消不落库
#### 边界验证点
##### 【P1】【TC-UI-PRODM-MNT-056】【TP_PRODM_MNT_053】「编辑分类」必填为空拦截
- 前置条件:左侧树至少 1 个带编辑图标的节点;该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「编辑分类」,清空分类名称后点击「确 定」
2. 断言出现必填提示,弹层仍打开,树文案不变
- 自动化断言:规划与 CSV `PRODM-MNT-056` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
---
### 产品维护 · 添加
#### 功能验证点
##### 【P1】【TC-UI-PRODM-MNT-057】【TP_PRODM_MNT_042】「添加」取消不落库
- 前置条件:已进入产品维护页
- 操作步骤:
1. 打开「添加」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-MNT-019` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-057` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
......@@ -340,25 +813,73 @@
#### 边界验证点
##### 【P1】【TC-UI-PRODM-MNT-020】【TP_PRODM_MNT_043】「添加」必填为空拦截
##### 【P1】【TC-UI-PRODM-MNT-058】【TP_PRODM_MNT_043】「添加」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「添加」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-MNT-020` 及 `tests/spd/prodm-maintain.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-MNT-058` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
---
##### 【P0】【TC-UI-PRODM-MNT-059】【TP_PRODM_MNT_054】添加产品列表组合查询
- 前置条件:左侧树存在可启用「添加」的分类节点
- 操作步骤:
1. 选中可添加的分类树节点,点击「添加」,断言弹层标题含「添加产品」且列表有数据
2. 按物料名称 + 耗材类型组合查询并点击「查询」
3. 断言列表有数据,抽样首行同时满足已填条件
4. 点击「取消」关闭,不落库
- 自动化断言:规划与 CSV `PRODM-MNT-059` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
组合查询生效;首行满足条件;取消不落库。
---
##### 【P0】【TC-UI-PRODM-MNT-060】【TP_PRODM_MNT_055】添加产品列表切换至第2页
- 前置条件:左侧树存在可启用「添加」的分类节点;添加产品列表至少 2 页
- 操作步骤:
1. 选中可添加的分类树节点,点击「添加」,断言弹层标题含「添加产品」且列表有数据
2. 记录第 1 页首行,点击分页「2」
3. 断言第 2 页高亮且首行与第 1 页不同
4. 点击「取消」关闭,不落库
- 自动化断言:规划与 CSV `PRODM-MNT-060` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
第 2 页高亮;首行变化;取消不落库。
---
##### 【P0】【TC-UI-PRODM-MNT-061】【TP_PRODM_MNT_056】勾选列表明细数量与确定按钮显示数量一致
- 前置条件:左侧树存在可启用「添加」的分类节点
- 操作步骤:
1. 选中可添加的分类树节点,点击「添加」,断言弹层标题含「添加产品」且列表有数据
2. 勾选 1~2 条明细
3. 断言底部「确定(N)」中的 N 与当前勾选明细数量一致
4. 点击「取消」关闭,不落库
- 自动化断言:规划与 CSV `PRODM-MNT-061` 及 `tests/spd/prodm-maintain.spec.ts` 一致
###### 预期结果
勾选数量与「确定(N)」显示一致;取消不落库。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **20** 条(P0=11 / P1=8 / P2=1) |
| 用例数 | **61** 条(P0=14 / P1=46 / P2=1) |
| 来源 | 从 50 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **36** 条 `{列名}列升序降序切换`(3.6;线上 audit:`prodm-maintain`) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -13,7 +13,7 @@
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 产品资质一览」;`openPath('/spd/basic/goods/product/overview')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
**写操作**:本页自动化不含写操作落库;导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`;mock:`__NOT_EXIST_PRODM__99999`。
---
......@@ -75,33 +75,37 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-QOV-004】【TP_PRODM_QOV_011】行内「详情」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-QOV-004】【TP_PRODM_QOV_011】追溯详情弹框器械注册人与列表一致
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「器械注册人」
2. 首行有数据时点击「追溯」
3. 断言进入详情弹框,可见返回/关闭
4. 断言弹框「器械注册人」与列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-QOV-004` 及 `tests/spd/prodm-qual-overview.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
追溯详情弹框器械注册人与列表一致;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-QOV-005】【TP_PRODM_QOV_012】行内「查看」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-QOV-005】【TP_PRODM_QOV_012】详情弹框页面物料编号与列表一致
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「查看」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「物料编号」(或「物料编码」)
2. 首行有数据时点击「查看」
3. 断言进入详情弹框,可见返回/关闭
4. 断言弹框「物料编号/物料编码」与列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-QOV-005` 及 `tests/spd/prodm-qual-overview.spec.ts` 一致
###### 预期结果
行内「查看」可达;关闭后回到列表。
详情弹框物料编号与列表一致;关闭后回到列表。
---
......@@ -175,75 +179,27 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-QOV-010】【TP_PRODM_QOV_025】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-QOV-010】【TP_PRODM_QOV_025】首行样本查询后导出
- 前置条件:已进入产品资质一览页
- 前置条件:列表至少 1 条,否则 skip
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-QOV-010` 及 `tests/spd/prodm-qual-overview.spec.ts` 一致
###### 预期结果
导出流程可启动。
---
### 产品资质一览 · 资质判断结果
#### 功能验证点
##### 【P0】【TC-UI-PRODM-QOV-011】【TP_PRODM_QOV_027】打开「资质判断结果」对应弹窗/抽屉
- 前置条件:已进入产品资质一览页
- 操作步骤:
1. 点击「资质判断结果」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-QOV-011` 及 `tests/spd/prodm-qual-overview.spec.ts` 一致
###### 预期结果
「资质判断结果」层打开;关键控件可见。
---
##### 【P1】【TC-UI-PRODM-QOV-012】【TP_PRODM_QOV_028】「资质判断结果」取消不落库
- 前置条件:已进入产品资质一览页
- 操作步骤:
1. 打开「资质判断结果」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-QOV-012` 及 `tests/spd/prodm-qual-overview.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-QOV-013】【TP_PRODM_QOV_029】「资质判断结果」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「资质判断结果」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-QOV-013` 及 `tests/spd/prodm-qual-overview.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **13** 条(P0=8 / P1=5) |
| 用例数 | **10** 条(P0=7 / P1=3) |
| 来源 | 从 36 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段、资质判断结果弹层 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -13,8 +13,8 @@
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 产品资质齐全规则」;`openPath('/spd/basic/goods/product/rules')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`;mock:`__NOT_EXIST_PRODM__99999`。
**写操作**:新增覆盖「选用列表已有产品性质填写后保存失败提示」;行内「编辑」只读核对「产品性质」后关闭返回(已删除详情/日志冒烟);导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`/`${sampleProperty}`;mock:`__NOT_EXIST_PRODM__99999`。
---
......@@ -71,70 +71,77 @@
---
### 产品资质齐全规则 · 行内操作
#### 功能验证点
##### 【P2】【TC-UI-PRODM-QRL-008】【TP_PRODM_QRL_036】列设置隐藏后再恢复
##### 【P0】【TC-UI-PRODM-QRL-004】【TP_PRODM_QRL_011】行内「详情」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 前置条件:列表表头已加载
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-QRL-004` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-QRL-008` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
勾选状态与表头一致。
---
##### 【P0】【TC-UI-PRODM-QRL-005】【TP_PRODM_QRL_012】行内「编辑」可达(只读冒烟)
#### 边界验证点
##### 【P1】【TC-UI-PRODM-QRL-004】【TP_PRODM_QRL_018】无匹配空态(mock反例)
- 前置条件:列表至少 1 条
- 前置条件:已进入产品资质齐全规则页
- 操作步骤:
1. 首行有数据时点击「编辑」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-QRL-005` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-QRL-004` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
行内「编辑」可达;关闭后回到列表。
无匹配不报错;不展示过期成功态数据。
---
##### 【P0】【TC-UI-PRODM-QRL-006】【TP_PRODM_QRL_013】行内「日志」可达(只读冒烟)
### 产品资质齐全规则 · 行内操作
#### 功能验证点
- 前置条件:列表至少 1 条
##### 【P0】【TC-UI-PRODM-QRL-009】【TP_PRODM_QRL_037】编辑页产品性质与主列表一致
- 前置条件:列表至少 1 条且首行「产品性质」非空
- 操作步骤:
1. 首行有数据时点击「日志」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-QRL-006` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
1. 记录首行「产品性质」
2. 首行有数据时点击「编辑」
3. 断言进入编辑页/弹层,可见取消/关闭/返回
4. 断言编辑页「产品性质」与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-QRL-009` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
行内「日志」可达;关闭后回到列表。
编辑页产品性质与主列表一致;关闭后回到列表。
---
### 产品资质齐全规则 · 列表
### 产品资质齐全规则 · 新增
#### 边界验证点
#### 功能验证点
##### 【P1】【TC-UI-PRODM-QRL-007】【TP_PRODM_QRL_018】无匹配空态(mock反例)
##### 【P0】【TC-UI-PRODM-QRL-010】【TP_PRODM_QRL_038】新增保存失败弹出提示弹框
- 前置条件:已进入产品资质齐全规则页
- 前置条件:列表至少 1 条且首行「产品性质」非空
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-QRL-007` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
1. 记录列表首行「产品性质」
2. 点击「新增」,进入产品资质规则新增页
3. 「产品性质」选择列表已有值;「境内/境外」「管理类别」随机选择;「规则名称」随机填写
4. 点击「新增规则」,随机填写「规则组名称」、选择「规则组类型」后确定
5. 点击「保存」
6. 断言保存失败并弹出对应提示弹框/错误提示;关闭后可返回列表
- 自动化断言:规划与 CSV `PRODM-QRL-010` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
保存失败;页面弹出对应提示弹框;不落库。
---
......@@ -142,13 +149,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-QRL-008】【TP_PRODM_QRL_019】有数据时总条数
##### 【P0】【TC-UI-PRODM-QRL-005】【TP_PRODM_QRL_019】有数据时总条数
- 前置条件:已进入产品资质齐全规则页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-QRL-008` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-QRL-005` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
......@@ -156,14 +163,14 @@
---
##### 【P0】【TC-UI-PRODM-QRL-009】【TP_PRODM_QRL_020】切换至第 2 页
##### 【P0】【TC-UI-PRODM-QRL-006】【TP_PRODM_QRL_020】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-QRL-009` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-QRL-006` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
......@@ -171,14 +178,14 @@
---
##### 【P1】【TC-UI-PRODM-QRL-010】【TP_PRODM_QRL_021】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-QRL-007】【TP_PRODM_QRL_021】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-QRL-010` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-QRL-007` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
......@@ -186,60 +193,13 @@
---
### 产品资质齐全规则 · 新增
#### 功能验证点
##### 【P0】【TC-UI-PRODM-QRL-011】【TP_PRODM_QRL_026】打开「新增」对应弹窗/抽屉
- 前置条件:已进入产品资质齐全规则页
- 操作步骤:
1. 点击「新增」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-QRL-011` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
「新增」层打开;关键控件可见。
---
##### 【P1】【TC-UI-PRODM-QRL-012】【TP_PRODM_QRL_027】「新增」取消不落库
- 前置条件:已进入产品资质齐全规则页
- 操作步骤:
1. 打开「新增」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-QRL-012` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-QRL-013】【TP_PRODM_QRL_028】「新增」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「新增」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-QRL-013` 及 `tests/spd/prodm-qual-rule.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **13** 条(P0=8 / P1=5) |
| 来源 | 从 35 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 用例数 | **10** 条(P0=6 / P1=3 / P2=1) |
| 来源 | 从测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段、新增必填为空、行内「详情」、行内「日志」 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -72,17 +72,35 @@
---
### 变更单明细查询 · 状态 Tab
#### 功能验证点
##### 【P0】【TC-UI-PRODM-CHD-004】【TP_PRODM_CHD_038】状态 Tab 正常切换
- 前置条件:已进入变更单明细查询页
- 操作步骤:
1. 依次切换状态 Tab:全部、暂存、待审核、待生效、已生效、生效失败、作废、退回
2. 每次切换后断言列表刷新且无报错;计数为 0 时为空态
- 自动化断言:规划与 CSV `PRODM-CHD-004` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
各状态 Tab 可正常切换;列表与当前 Tab 对应;无报错。
---
### 变更单明细查询 · 列表
#### 功能验证点
##### 【P0】【TC-UI-PRODM-CHD-004】【TP_PRODM_CHD_021】列表核心列完整
##### 【P0】【TC-UI-PRODM-CHD-005】【TP_PRODM_CHD_021】列表核心列完整
- 前置条件:已进入变更单明细查询页
- 操作步骤:
1. 断言表头含核心列(抽样):变更单号、产品、变更字段、时间等(以现网为准)
2. 若有数据,抽样首行关键字段非空
- 自动化断言:规划与 CSV `PRODM-CHD-004` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-CHD-005` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
......@@ -90,7 +108,7 @@
---
##### 【P1】【TC-UI-PRODM-CHD-005】【TP_PRODM_CHD_022】物料名称列升序降序切换
##### 【P1】【TC-UI-PRODM-CHD-006】【TP_PRODM_CHD_022】物料名称列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:
......@@ -98,7 +116,7 @@
2. 横向滚动使「物料名称」列表头可见(宽表时)
3. 第一次点击该列排序控件并校验升序指示器
4. 第二次点击并校验降序指示器
- 自动化断言:规划与 CSV `PRODM-CHD-005` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-CHD-006` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
......@@ -106,48 +124,217 @@
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-CHD-007】【TP_PRODM_CHD_022】物料编号列升序降序切换
##### 【P1】【TC-UI-PRODM-CHD-006】【TP_PRODM_CHD_023】无匹配空态(mock反例)
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「物料编号」
- 自动化断言:规划与 CSV `PRODM-CHD-007` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
- 前置条件:已进入变更单明细查询页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-CHD-006` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-008】【TP_PRODM_CHD_022】规格型号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「规格型号」
- 自动化断言:规划与 CSV `PRODM-CHD-008` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
排序指示器与方向一致;列表仍有数据。
---
### 变更单明细查询 · 分页
##### 【P1】【TC-UI-PRODM-CHD-009】【TP_PRODM_CHD_022】规格列升序降序切换
#### 功能验证点
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「规格」
- 自动化断言:规划与 CSV `PRODM-CHD-009` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
##### 【P0】【TC-UI-PRODM-CHD-007】【TP_PRODM_CHD_024】有数据时总条数
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-010】【TP_PRODM_CHD_022】型号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「型号」
- 自动化断言:规划与 CSV `PRODM-CHD-010` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-011】【TP_PRODM_CHD_022】器械注册人列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「器械注册人」
- 自动化断言:规划与 CSV `PRODM-CHD-011` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-012】【TP_PRODM_CHD_022】变更前列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「变更前」
- 自动化断言:规划与 CSV `PRODM-CHD-012` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-013】【TP_PRODM_CHD_022】变更后列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「变更后」
- 自动化断言:规划与 CSV `PRODM-CHD-013` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-014】【TP_PRODM_CHD_022】变更单号列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「变更单号」
- 自动化断言:规划与 CSV `PRODM-CHD-014` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-015】【TP_PRODM_CHD_022】状态列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「状态」
- 自动化断言:规划与 CSV `PRODM-CHD-015` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-016】【TP_PRODM_CHD_022】制单时间列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「制单时间」
- 自动化断言:规划与 CSV `PRODM-CHD-016` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-017】【TP_PRODM_CHD_022】计划生效时间列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「计划生效时间」
- 自动化断言:规划与 CSV `PRODM-CHD-017` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-018】【TP_PRODM_CHD_022】实际生效时间列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「实际生效时间」
- 自动化断言:规划与 CSV `PRODM-CHD-018` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-019】【TP_PRODM_CHD_022】备注列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「备注」
- 自动化断言:规划与 CSV `PRODM-CHD-019` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P1】【TC-UI-PRODM-CHD-020】【TP_PRODM_CHD_022】耗材类型列升序降序切换
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:同「物料名称列升序降序切换」,列名为「耗材类型」
- 自动化断言:规划与 CSV `PRODM-CHD-020` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
##### 【P2】【TC-UI-PRODM-CHD-021】【TP_PRODM_CHD_037】列设置隐藏后再恢复
- 前置条件:列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-CHD-021` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
勾选状态与表头一致。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-CHD-022】【TP_PRODM_CHD_023】无匹配空态(mock反例)
- 前置条件:已进入变更单明细查询页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-CHD-007` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-CHD-022` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
「共 N 条」与查询结果一致。
无匹配不报错;不展示过期成功态数据。
---
##### 【P0】【TC-UI-PRODM-CHD-008】【TP_PRODM_CHD_025】切换至第 2 页
### 变更单明细查询 · 分页
#### 功能验证点
##### 【P0】【TC-UI-PRODM-CHD-023】【TP_PRODM_CHD_025】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-CHD-008` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-CHD-023` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
......@@ -155,14 +342,14 @@
---
##### 【P1】【TC-UI-PRODM-CHD-009】【TP_PRODM_CHD_026】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-CHD-024】【TP_PRODM_CHD_026】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-CHD-009` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-CHD-024` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
......@@ -174,26 +361,27 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-CHD-010】【TP_PRODM_CHD_031】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-CHD-025】【TP_PRODM_CHD_031】首行样本查询后导出
- 前置条件:已进入变更单明细查询页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-CHD-010` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-CHD-025` 及 `tests/spd/prodm-change-detail.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **10** 条(P0=5 / P1=5) |
| 来源 | 从 36 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 用例数 | **25** 条(P0=5 / P1=19 / P2=1) |
| 来源 | 从测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **15** 条 `{列名}列升序降序切换`(线上 audit:`prodm-change-detail`) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -175,18 +175,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PPA-010】【TP_PRODM_PPA_026】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-PPA-010】【TP_PRODM_PPA_026】首行样本查询后导出
- 前置条件:已进入外围系统产品新增页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-PPA-010` 及 `tests/spd/prodm-peripheral-add.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......
......@@ -241,18 +241,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-MAT-014】【TP_PRODM_MAT_033】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-MAT-014】【TP_PRODM_MAT_033】首行样本查询后导出
- 前置条件:已进入物料信息管理页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-MAT-014` 及 `tests/spd/prodm-material.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......
......@@ -174,18 +174,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-MCD-010】【TP_PRODM_MCD_031】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-MCD-010】【TP_PRODM_MCD_031】首行样本查询后导出
- 前置条件:已进入物料变更单明细查询页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-MCD-010` 及 `tests/spd/prodm-material-chg-detail.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明
......
......@@ -125,117 +125,89 @@
---
### 结算点设置 · 行内操作
#### 功能验证点
##### 【P0】【TC-UI-PRODM-STL-007】【TP_PRODM_STL_020】行内「详情」可达(只读冒烟)
##### 【P2】【TC-UI-PRODM-STL-007】【TP_PRODM_STL_028】列设置隐藏后再恢复
- 前置条件:列表至少 1 条
- 前置条件:列表表头已加载
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-STL-007` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
勾选状态与表头一致。
---
##### 【P0】【TC-UI-PRODM-STL-008】【TP_PRODM_STL_021】行内「编辑」可达(只读冒烟)
#### 边界验证点
- 前置条件:列表至少 1 条
##### 【P1】【TC-UI-PRODM-STL-008】【TP_PRODM_STL_030】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 首行有数据时点击「编辑」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:规划与 CSV `PRODM-STL-008` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
行内「编辑」可达;关闭后回到列表。
远侧列可进入视口;表头与数据列对齐。
---
##### 【P0】【TC-UI-PRODM-STL-009】【TP_PRODM_STL_022】行内「日志」可达(只读冒烟)
##### 【P1】【TC-UI-PRODM-STL-009】【TP_PRODM_STL_029】无匹配空态(mock反例)
- 前置条件:列表至少 1 条
- 前置条件:已进入结算点设置页
- 操作步骤:
1. 首行有数据时点击「日志」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-STL-009` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
行内「日志」可达;关闭后回到列表。
无匹配不报错;不展示过期成功态数据。
---
### 结算点设置 · 列表
### 结算点设置 · 行内操作
#### 功能验证点
##### 【P2】【TC-UI-PRODM-STL-010】【TP_PRODM_STL_028】列设置隐藏后再恢复
##### 【P0】【TC-UI-PRODM-STL-010】【TP_PRODM_STL_022】日志弹框物料编号与主列表一致
- 前置条件:列表表头已加载
- 前置条件:列表至少 1 条
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
1. 记录首行「物料编号」(或「物料编码」)
2. 首行有数据时点击「日志」
3. 断言进入详情弹框/抽屉,可见取消/关闭/返回
4. 断言弹框「物料编号/物料编码」与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-STL-010` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
勾选状态与表头一致。
日志弹框物料编号与主列表一致;关闭后回到列表。
---
##### 【P1】【TC-UI-PRODM-STL-011】【TP_PRODM_STL_027】结算规则列升序降序切换
### 结算点设置 · 批量转移
- 前置条件:至少 2 条数据,否则 skip
- 操作步骤:
1. 默认查询后列表有数据
2. 横向滚动使「结算规则」列表头可见(宽表时)
3. 第一次点击该列排序控件并校验升序指示器
4. 第二次点击并校验降序指示器
- 自动化断言:规划与 CSV `PRODM-STL-011` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
排序指示器与方向一致;列表仍有数据。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-STL-012】【TP_PRODM_STL_030】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:规划与 CSV `PRODM-STL-012` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
远侧列可进入视口;表头与数据列对齐。
---
#### 功能验证点
##### 【P1】【TC-UI-PRODM-STL-013】【TP_PRODM_STL_029】无匹配空态(mock反例)
##### 【P0】【TC-UI-PRODM-STL-011】【TP_PRODM_STL_040】勾选列表明细数量与批量转移按钮显示数量一致
- 前置条件:已进入结算点设置页
- 前置条件:列表至少 1 条可勾选,否则 skip
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-STL-013` 及 `tests/spd/prodm-settle.spec.ts` 一致
1. 确认列表行均未勾选,断言「批量转移(0)」
2. 勾选 N 条列表明细(N≥1,抽样至多 2 条)
3. 断言工具栏按钮文案为「批量转移(N)」,N 与勾选条数一致
4. 取消勾选,不点击提交
- 自动化断言:规划与 CSV `PRODM-STL-011` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
勾选数量与「批量转移(N)」显示一致;不落库。
---
......@@ -243,13 +215,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-STL-014】【TP_PRODM_STL_031】有数据时总条数
##### 【P0】【TC-UI-PRODM-STL-012】【TP_PRODM_STL_031】有数据时总条数
- 前置条件:已进入结算点设置页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-STL-014` 及 `tests/spd/prodm-settle.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-STL-012` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
......@@ -257,14 +229,14 @@
---
##### 【P0】【TC-UI-PRODM-STL-015】【TP_PRODM_STL_032】切换至第 2 页
##### 【P0】【TC-UI-PRODM-STL-013】【TP_PRODM_STL_032】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-STL-015` 及 `tests/spd/prodm-settle.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-STL-013` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
......@@ -272,14 +244,14 @@
---
##### 【P1】【TC-UI-PRODM-STL-016】【TP_PRODM_STL_033】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-STL-014】【TP_PRODM_STL_033】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-STL-016` 及 `tests/spd/prodm-settle.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-STL-014` 及 `tests/spd/prodm-settle.spec.ts` 一致
###### 预期结果
......@@ -289,9 +261,8 @@
| 项 | 说明 |
|----|------|
| 用例数 | **16** 条(P0=10 / P1=5 / P2=1) |
| 来源 | 从 41 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 用例数 | **14** 条(P0=9 / P1=4 / P2=1) |
| 来源 | 从测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段、行内详情/编辑只读冒烟、列排序 |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -194,18 +194,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-STD-011】【TP_PRODM_STD_030】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-STD-011】【TP_PRODM_STD_030】首行样本查询后导出
- 前置条件:已进入缺货目录明细页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-STD-011` 及 `tests/spd/prodm-stockout-detail.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......
......@@ -175,18 +175,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-STO-010】【TP_PRODM_STO_025】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-STO-010】【TP_PRODM_STO_025】首行样本查询后导出
- 前置条件:已进入缺货目录维护页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-STO-010` 及 `tests/spd/prodm-stockout.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......
......@@ -255,18 +255,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-RCH-015】【TP_PRODM_RCH_034】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-RCH-015】【TP_PRODM_RCH_034】首行样本查询后导出
- 前置条件:已进入请领出库渠道设置页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-RCH-015` 及 `tests/spd/prodm-req-channel.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明
......
......@@ -13,7 +13,7 @@
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 调价管理」;`openPath('/spd/basic/goods/platform/price')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
**写操作**:写操作仅打开「新增」弹层后关闭,不提交成功落库;导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`;mock:`__NOT_EXIST_PRODM__99999`。
---
......@@ -95,48 +95,37 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PAD-005】【TP_PRODM_PAD_014】行内「再次调价」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-PAD-005】【TP_PRODM_PAD_015】详情页单号与主列表一致
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「再次调价」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「单号」
2. 首行有数据时点击「详情」
3. 断言进入详情页/弹层,可见取消/关闭/返回
4. 断言详情页「单号」与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PAD-005` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
行内「再次调价」可达;关闭后回到列表。
详情页单号与主列表一致;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-PAD-006】【TP_PRODM_PAD_015】行内「详情」可达(只读冒烟)
##### 【P0】【TC-UI-PRODM-PAD-006】【TP_PRODM_PAD_014】再次调价详情页销售商(自定义)与主列表一致
- 前置条件:列表至少 1 条
- 前置条件:列表至少 1 条且含「再次调价」
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
1. 记录首行「销售商(自定义)」
2. 首行有数据时点击「再次调价」
3. 断言进入详情页/弹层,可见取消/关闭/返回
4. 断言详情页「销售商(自定义)」名称与主列表该行一致
5. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PAD-006` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-PAD-007】【TP_PRODM_PAD_016】行内「打印」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「打印」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-PAD-007` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
行内「打印」可达;关闭后回到列表。
详情页销售商(自定义)与主列表一致;关闭后回到列表。
---
......@@ -144,14 +133,14 @@
#### 功能验证点
##### 【P2】【TC-UI-PRODM-PAD-008】【TP_PRODM_PAD_022】列设置隐藏后再恢复
##### 【P2】【TC-UI-PRODM-PAD-007】【TP_PRODM_PAD_022】列设置隐藏后再恢复
- 前置条件:列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-PAD-008` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-007` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -161,13 +150,13 @@
#### 边界验证点
##### 【P1】【TC-UI-PRODM-PAD-009】【TP_PRODM_PAD_024】横向滚动与列对齐
##### 【P1】【TC-UI-PRODM-PAD-008】【TP_PRODM_PAD_024】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:规划与 CSV `PRODM-PAD-009` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-008` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -175,13 +164,13 @@
---
##### 【P1】【TC-UI-PRODM-PAD-010】【TP_PRODM_PAD_023】无匹配空态(mock反例)
##### 【P1】【TC-UI-PRODM-PAD-009】【TP_PRODM_PAD_023】无匹配空态(mock反例)
- 前置条件:已进入调价管理页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-PAD-010` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-009` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -193,13 +182,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PAD-011】【TP_PRODM_PAD_025】有数据时总条数
##### 【P0】【TC-UI-PRODM-PAD-010】【TP_PRODM_PAD_025】有数据时总条数
- 前置条件:已进入调价管理页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-PAD-011` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-010` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -207,14 +196,14 @@
---
##### 【P0】【TC-UI-PRODM-PAD-012】【TP_PRODM_PAD_026】切换至第 2 页
##### 【P0】【TC-UI-PRODM-PAD-011】【TP_PRODM_PAD_026】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-PAD-012` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-011` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -222,14 +211,14 @@
---
##### 【P1】【TC-UI-PRODM-PAD-013】【TP_PRODM_PAD_027】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-PRODM-PAD-012】【TP_PRODM_PAD_027】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-PAD-013` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-012` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -241,13 +230,13 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PAD-014】【TP_PRODM_PAD_032】按当前条件打印
##### 【P0】【TC-UI-PRODM-PAD-013】【TP_PRODM_PAD_032】按当前条件打印
- 前置条件:已进入调价管理页
- 操作步骤:
1. 点击「打 印」或「打印产品码」等页面级打印入口
2. 断言可拉起对话框/预览/toast,无 error
- 自动化断言:规划与 CSV `PRODM-PAD-014` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-013` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
......@@ -259,54 +248,24 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-PAD-015】【TP_PRODM_PAD_035】打开「新增」对应弹窗/抽屉
##### 【P0】【TC-UI-PRODM-PAD-014】【TP_PRODM_PAD_035】打开「新增」对应弹窗/抽屉
- 前置条件:已进入调价管理页
- 操作步骤:
1. 点击「新增」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-PAD-015` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
- 自动化断言:规划与 CSV `PRODM-PAD-014` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
「新增」层打开;关键控件可见。
---
##### 【P1】【TC-UI-PRODM-PAD-016】【TP_PRODM_PAD_036】「新增」取消不落库
- 前置条件:已进入调价管理页
- 操作步骤:
1. 打开「新增」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-PAD-016` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-PAD-017】【TP_PRODM_PAD_037】「新增」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「新增」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-PAD-017` 及 `tests/spd/prodm-price-adj.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **17** 条(P0=10 / P1=6 / P2=1) |
| 用例数 | **14** 条(P0=9 / P1=4 / P2=1) |
| 来源 | 从 44 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
......
......@@ -241,18 +241,19 @@
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-014】【TP_PRODM_UPK_031】当前查询条件下导出
##### 【P0】【TC-UI-PRODM-UPK-014】【TP_PRODM_UPK_031】首行样本查询后导出
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-UPK-014` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
---
......
......@@ -364,7 +364,7 @@
#### 功能验证点
##### 【P0】【TC-UI-ADMIT-SUP-020】【ADMIT-SUP-020】当前查询条件下导出不报错
##### 【P0】【TC-UI-ADMIT-SUP-020】【ADMIT-SUP-020】首行样本查询后导出不报错
- 前置条件:测试环境可访问;已通过 auth.setup 写入 storageState 登录;已切换至供货目录申请明细查询 Tab;查询结果至少 1 条
- 操作步骤:
......
......@@ -71,7 +71,7 @@
---
##### 【P0】【TC-UI-VENDOR-QUL-004】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-004】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:已进入供应商资质管理页
- 操作步骤:
......@@ -210,7 +210,7 @@
---
##### 【P0】【TC-UI-VENDOR-QUL-012】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-012】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:授权链路效期预警 Tab;列表至少 1 条
- 操作步骤:
......@@ -311,7 +311,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-018】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-018】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:供应商三证 Tab;列表至少 1 条
- 操作步骤:
......@@ -413,7 +413,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-022】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-022】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:器械注册人 Tab;列表至少 1 条
- 操作步骤:
......@@ -515,7 +515,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-026】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-026】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:器械注册证号 Tab;列表至少 1 条
- 操作步骤:
......@@ -617,7 +617,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-030】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-030】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:授权书 Tab;列表至少 1 条
- 操作步骤:
......@@ -718,7 +718,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-034】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-034】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:承诺书 Tab;列表至少 1 条
- 操作步骤:
......@@ -819,7 +819,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-038】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-038】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:法人委托书 Tab;列表至少 1 条
- 操作步骤:
......@@ -920,7 +920,7 @@ Tab 计数与分页总数一致(可读时)。
---
##### 【P0】【TC-UI-VENDOR-QUL-042】【TP_VENDOR_QUL_015】查询后导出无报错
##### 【P0】【TC-UI-VENDOR-QUL-042】【TP_VENDOR_QUL_015】首行样本查询后导出
- 前置条件:二级供应商三证 Tab;列表至少 1 条
- 操作步骤:
......
......@@ -149,17 +149,19 @@ switch 与列表差异过滤一致。
#### 功能验证点
##### 【P1】【TC-UI-IFACE-HPR-008】【TP_IFACE_HPR_018】导出入口可触发
##### 【P1】【TC-UI-IFACE-HPR-008】【TP_IFACE_HPR_018】首行样本查询后导出
- 前置条件:已进入HIS价对照查询页
- 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」
2. 断言无未捕获异常(不校验文件内容)
1. 记录首行样本字段并填入筛选后查询
2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-HPR-008` 及 `tests/spd/iface-his-price.spec.ts` 一致
###### 预期结果
导出流程可启动。
按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明
......
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