Commit 97840769 authored by liguangyu06's avatar liguangyu06
Browse files

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

紧急放行原因:用户要求立即推送今日改动备份,门禁用例待后续补跑。
parent 3dbf401d
...@@ -162,17 +162,19 @@ ...@@ -162,17 +162,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-IFACE-LBL-009】【TP_IFACE_LBL_017】导出入口可触发 ##### 【P1】【TC-UI-IFACE-LBL-009】【TP_IFACE_LBL_017】首行样本查询后导出
- 前置条件:已进入低值计费接口查询页 - 前置条件:已进入低值计费接口查询页
- 操作步骤: - 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件内容) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-LBL-009` 及 `tests/spd/iface-low-billing.spec.ts` 一致 - 自动化断言:规划与 CSV `IFACE-LBL-009` 及 `tests/spd/iface-low-billing.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
...@@ -148,17 +148,19 @@ ...@@ -148,17 +148,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-IFACE-PER-008】【TP_IFACE_PER_019】导出变更明细 ##### 【P1】【TC-UI-IFACE-PER-008】【TP_IFACE_PER_019】首行样本查询后导出
- 前置条件:已进入外围产品变更页 - 前置条件:已进入外围产品变更页
- 操作步骤: - 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件内容) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-PER-008` 及 `tests/spd/iface-peripheral.spec.ts` 一致 - 自动化断言:规划与 CSV `IFACE-PER-008` 及 `tests/spd/iface-peripheral.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
...@@ -110,17 +110,19 @@ ...@@ -110,17 +110,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-IFACE-EXT-006】【TP_IFACE_EXT_012】导出入口可触发 ##### 【P1】【TC-UI-IFACE-EXT-006】【TP_IFACE_EXT_012】首行样本查询后导出
- 前置条件:已进入外部变更明细信息查询页 - 前置条件:已进入外部变更明细信息查询页
- 操作步骤: - 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件内容) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-EXT-006` 及 `tests/spd/iface-ext-detail.spec.ts` 一致 - 自动化断言:规划与 CSV `IFACE-EXT-006` 及 `tests/spd/iface-ext-detail.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
...@@ -110,17 +110,19 @@ ...@@ -110,17 +110,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-IFACE-PPD-006】【TP_IFACE_PPD_012】导出入口可触发 ##### 【P1】【TC-UI-IFACE-PPD-006】【TP_IFACE_PPD_012】首行样本查询后导出
- 前置条件:已进入平台产品价格差异查询页 - 前置条件:已进入平台产品价格差异查询页
- 操作步骤: - 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件内容) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-PPD-006` 及 `tests/spd/iface-platform-diff.spec.ts` 一致 - 自动化断言:规划与 CSV `IFACE-PPD-006` 及 `tests/spd/iface-platform-diff.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
...@@ -168,17 +168,19 @@ ...@@ -168,17 +168,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-IFACE-LOG-009】【TP_IFACE_LOG_015】导出明细可触发 ##### 【P1】【TC-UI-IFACE-LOG-009】【TP_IFACE_LOG_015】首行样本查询后导出
- 前置条件:已进入接口日志页 - 前置条件:已进入接口日志页
- 操作步骤: - 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件内容) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-LOG-009` 及 `tests/spd/iface-api-log.spec.ts` 一致 - 自动化断言:规划与 CSV `IFACE-LOG-009` 及 `tests/spd/iface-api-log.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
...@@ -145,17 +145,19 @@ ...@@ -145,17 +145,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-IFACE-CZN-008】【TP_IFACE_CZN_012】导出入口可触发 ##### 【P1】【TC-UI-IFACE-CZN-008】【TP_IFACE_CZN_012】首行样本查询后导出
- 前置条件:已进入智能柜与库区对码页 - 前置条件:已进入智能柜与库区对码页
- 操作步骤: - 操作步骤:
1. 点击「导 出」或「导出」或「导出明细」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件内容) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `IFACE-CZN-008` 及 `tests/spd/iface-cabinet-zone.spec.ts` 一致 - 自动化断言:规划与 CSV `IFACE-CZN-008` 及 `tests/spd/iface-cabinet-zone.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
--- ---
......
...@@ -190,17 +190,19 @@ ...@@ -190,17 +190,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-DEPTM-MNM-011】【TP_DEPTM_MNM_012】导出入口可触发 ##### 【P1】【TC-UI-DEPTM-MNM-011】【TP_DEPTM_MNM_012】首行样本查询后导出
- 前置条件:已进入科室上下限建议页 - 前置条件:已进入科室上下限建议页
- 操作步骤: - 操作步骤:
1. 点击「导 出」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `DEPTM-MNM-011` 及 `tests/spd/deptm-minmax.spec.ts` 一致 - 自动化断言:规划与 CSV `DEPTM-MNM-011` 及 `tests/spd/deptm-minmax.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
--- ---
......
...@@ -180,17 +180,19 @@ ...@@ -180,17 +180,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-DEPTM-PRA-010】【TP_DEPTM_PRA_021】导出入口可触发 ##### 【P1】【TC-UI-DEPTM-PRA-010】【TP_DEPTM_PRA_021】首行样本查询后导出
- 前置条件:已进入科室产品分配页 - 前置条件:已进入科室产品分配页
- 操作步骤: - 操作步骤:
1. 点击「导 出」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `DEPTM-PRA-010` 及 `tests/spd/deptm-product-alloc.spec.ts` 一致 - 自动化断言:规划与 CSV `DEPTM-PRA-010` 及 `tests/spd/deptm-product-alloc.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
--- ---
......
...@@ -257,17 +257,19 @@ ...@@ -257,17 +257,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-DEPTM-CAT-015】【TP_DEPTM_CAT_030】导出入口可触发 ##### 【P1】【TC-UI-DEPTM-CAT-015】【TP_DEPTM_CAT_030】首行样本查询后导出
- 前置条件:已进入科室分类维护页 - 前置条件:已进入科室分类维护页
- 操作步骤: - 操作步骤:
1. 点击「导 出」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `DEPTM-CAT-015` 及 `tests/spd/deptm-category.spec.ts` 一致 - 自动化断言:规划与 CSV `DEPTM-CAT-015` 及 `tests/spd/deptm-category.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
...@@ -175,17 +175,19 @@ ...@@ -175,17 +175,19 @@
#### 功能验证点 #### 功能验证点
##### 【P1】【TC-UI-DEPTM-ZON-010】【TP_DEPTM_ZON_018】导出入口可触发 ##### 【P1】【TC-UI-DEPTM-ZON-010】【TP_DEPTM_ZON_018】首行样本查询后导出
- 前置条件:已进入科室库区产品设置页 - 前置条件:已进入科室库区产品设置页
- 操作步骤: - 操作步骤:
1. 点击「导 出」 1. 记录首行样本字段并填入筛选后查询
2. 断言无未捕获异常(不校验文件) 2. 查询后列表无数据则 skip
3. 点击导出相关按钮
4. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `DEPTM-ZON-010` 及 `tests/spd/deptm-zone-product.spec.ts` 一致 - 自动化断言:规划与 CSV `DEPTM-ZON-010` 及 `tests/spd/deptm-zone-product.spec.ts` 一致
###### 预期结果 ###### 预期结果
导出流程可启动。 按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明 ## 质量与覆盖说明
......
# 期初管理-快速盘点记录 UI 自动化测试用例
**来源测试点**:`testpoint/期初管理-快速盘点记录-测试点分析-01.md`
**执行 CSV**:`testcase/期初管理-快速盘点记录-UI自动化测试用例-01.csv`
**页面 URL**:`/spd/start/init/scanRecord`
**定位器 YAML**:`locators/spd/open-scan.locator.yaml`
**元素扫描**:`data/scan/open-scan-elements.json`(42 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-OPEN-003.md`
**版本**:2026-11-06
**自动化框架**:Playwright + TypeScript(`tests/spd/open-scan.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` + `storageState`;具备「期初管理 → 快速盘点记录」权限;**扫码日期默认为 2026-05-06 至 2026-11-06**(自动化 `open()` 写入后查询)。
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「期初管理 → 快速盘点记录」;`openPath('/spd/start/init/scanRecord')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出不校验文件内容。
**动态取数**:查询后从首行读取样本字段;mock:`__NOT_EXIST_OPEN__99999`。
---
## 期初管理
### 快速盘点记录 · 快捷筛选查询
#### 功能验证点
##### 【P1】【TC-UI-OPEN-SCN-001】【TP_OPEN_SCN_005】快捷区重置恢复默认
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;已进入快速盘点记录页
- 操作步骤:
1. 展开筛选后填写科室名称、条码号、扫码人
2. 点击「重 置」
3. 断言科室名称/条码号/扫码人为空;扫码日期恢复产品默认(近一个月至当天);页面无报错
- 自动化断言:与 CSV `OPEN-SCN-001` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
重置后文本条件清空;扫码日期恢复产品默认近一个月区间;页面无报错。
---
##### 【P0】【TC-UI-OPEN-SCN-002】【TP_OPEN_SCN_006】全量可见条件组合查询
- 前置条件:默认查询至少 1 条,否则 skip
- 操作步骤:
1. 默认查询 → 从首行提取全量样本(只填当前结果里有值的条件)
2. 快捷区可见非空条件全部填入后查询
3. 抽样首行同时满足全部已填条件;无未捕获异常
- 自动化断言:与 CSV `OPEN-SCN-002` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
查询正常无报错;查询结果与查询条件一致。
---
### 快速盘点记录 · 查询条件展开收起
#### 功能验证点
##### 【P1】【TC-UI-OPEN-SCN-003】【TP_OPEN_SCN_011】展开后更多条件可见
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;已进入快速盘点记录页
- 操作步骤:
1. 点击「展开」
2. 断言额外筛选字段进入可视区且可填写
3. 按钮文案变为「收起」
- 自动化断言:与 CSV `OPEN-SCN-003` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
展开后更多条件可见并可交互。
---
### 快速盘点记录 · 列表
#### 功能验证点
##### 【P0】【TC-UI-OPEN-SCN-004】【TP_OPEN_SCN_016】列表核心列完整
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;已进入快速盘点记录页
- 操作步骤:
1. 断言表头含核心列(抽样):序号、扫码时间、科室名称、条码号、扫码人
2. 若有数据,抽样首行关键字段非空
- 自动化断言:与 CSV `OPEN-SCN-004` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
核心列完整;列表结构正确。
---
##### 【P2】【TC-UI-OPEN-SCN-010】【TP_OPEN_SCN_031】列设置隐藏后再恢复
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:与 CSV `OPEN-SCN-010` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
勾选状态与表头一致。
---
#### 边界验证点
##### 【P1】【TC-UI-OPEN-SCN-005】【TP_OPEN_SCN_017】无匹配空态(mock反例)
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;已进入快速盘点记录页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_OPEN__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:与 CSV `OPEN-SCN-005` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
---
### 快速盘点记录 · 分页
#### 功能验证点
##### 【P0】【TC-UI-OPEN-SCN-006】【TP_OPEN_SCN_018】有数据时总条数
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;已进入快速盘点记录页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:与 CSV `OPEN-SCN-006` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
「共 N 条」与查询结果一致。
---
##### 【P0】【TC-UI-OPEN-SCN-007】【TP_OPEN_SCN_019】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:与 CSV `OPEN-SCN-007` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
翻页成功;数据更换。
---
##### 【P1】【TC-UI-OPEN-SCN-008】【TP_OPEN_SCN_020】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:与 CSV `OPEN-SCN-008` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
---
### 快速盘点记录 · 导出
#### 功能验证点
##### 【P0】【TC-UI-OPEN-SCN-009】【TP_OPEN_SCN_025】首行样本查询后导出
- 前置条件:扫码日期默认为 2026-05-06 至 2026-11-06;已进入快速盘点记录页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
- 自动化断言:与 CSV `OPEN-SCN-009` 及 `tests/spd/open-scan.spec.ts` 严格一致
###### 预期结果
按首行样本查询后导出流程可启动;无数据则跳过。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **9** 条(P0=5 / P1=4) |
| 来源 | 从 30 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条**(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
# 期初管理-期初录入 UI 自动化测试用例
**来源测试点**:`testpoint/期初管理-期初录入-测试点分析-01.md`
**执行 CSV**:`testcase/期初管理-期初录入-UI自动化测试用例-01.csv`
**页面 URL**:`/spd/start/init/import`
**定位器 YAML**:`locators/spd/open-entry.locator.yaml`
**元素扫描**:`data/scan/open-entry-elements.json`(128 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-OPEN-001.md`
**版本**:2026-11-06
**自动化框架**:Playwright + TypeScript(`tests/spd/open-entry.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` + `storageState`;具备「期初管理 → 期初录入」权限。
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「期初管理 → 期初录入」;`openPath('/spd/start/init/import')` 并断言 URL,勿误入兄弟页。
**写操作**:默认仅打开弹层后取消或做必填拦截;**例外**含「新增确定成功落库」与「针对新增待生成单据删除成功」(OPEN-ENT-019/020)。导出不校验文件内容。
**动态取数**:查询后从首行读取样本字段;新增下拉取首个可选值,不写死库房/库区/耗材主数据;mock:`__NOT_EXIST_OPEN__99999`。
---
## 期初管理
### 期初录入 · 快捷筛选查询
#### 功能验证点
##### 【P1】【TC-UI-OPEN-ENT-001】【TP_OPEN_ENT_005】快捷区重置恢复默认
- 前置条件:已进入期初录入页
- 操作步骤:
1. 任意填写快捷区可见字段后点击「重 置」
2. 断言条件恢复默认;列表是否刷新按产品规则(未定则记待评审)
- 自动化断言:与 CSV `OPEN-ENT-001` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
重置后条件恢复默认;页面无报错。
---
### 期初录入 · 高级筛选抽屉
#### 功能验证点
##### 【P0】【TC-UI-OPEN-ENT-002】【TP_OPEN_ENT_012】全量查询条件组合查询
- 前置条件:默认查询至少 1 条,否则 skip
- 操作步骤:
1. 默认查询 → 从首行提取全量样本(不写死业务数据,见 rules 3.4)
2. 快捷区填入样本中有值的可见字段
3. 高级筛选抽屉填入样本中所有非空字段(文本直接填、下拉选同值;禁用字段记录默认)
4. 「查询/筛选」后抽样首行;首行同时满足样本中全部已填字段
- 自动化断言:与 CSV `OPEN-ENT-002` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
查询正常无报错;查询条件写值正常;查询结果与查询条件一致。
---
##### 【P0】【TC-UI-OPEN-ENT-003】【TP_OPEN_ENT_010】点击高级筛选打开抽屉
- 前置条件:已进入期初录入页
- 操作步骤:
1. 点击「高级筛选」
2. 断言抽屉标题为「高级筛选」,关键字段可交互
3. 关闭抽屉,快捷区条件不被误清空(以现网为准)
- 自动化断言:与 CSV `OPEN-ENT-003` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
高级筛选抽屉可打开并关闭。
---
### 期初录入 · 列表
#### 功能验证点
##### 【P0】【TC-UI-OPEN-ENT-004】【TP_OPEN_ENT_020】列表核心列完整
- 前置条件:已进入期初录入页
- 操作步骤:
1. 断言表头含核心列(抽样):期初单号、库房、库区、耗材类型、品规数、库存总数、制单人、制单时间、生成时间、状态、操作
2. 若有数据,抽样首行关键字段非空
- 自动化断言:与 CSV `OPEN-ENT-004` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
核心列完整;列表结构正确。
---
### 期初录入 · 行内操作
#### 功能验证点
##### 【P0】【TC-UI-OPEN-ENT-005】【TP_OPEN_ENT_014】行内「录入」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「录入」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:与 CSV `OPEN-ENT-005` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
行内「录入」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-OPEN-ENT-006】【TP_OPEN_ENT_015】行内「删除」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「删除」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:与 CSV `OPEN-ENT-006` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
行内「删除」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-OPEN-ENT-007】【TP_OPEN_ENT_016】行内「查看详情」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「查看详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:与 CSV `OPEN-ENT-007` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
行内「查看详情」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-OPEN-ENT-020】【TP_OPEN_ENT_047】针对新增待生成单据删除成功
- 前置条件:与 OPEN-ENT-019 串行;读取 019 产出的期初单号 S;**019 未成功则本例 skip**;本例**不自行新增**
- 操作步骤:
1. 读取 OPEN-ENT-019 产出的期初单号 S(无 S 则 skip)
2. 用期初单号 S 查询,定位待生成行
3. 点击该行「删除」
4. 若出现二次确认弹窗,点击确认/确定
5. 再次按 S 查询,断言列表不再出现该期初单号
- 自动化断言:与 CSV `OPEN-ENT-020` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
删除 OPEN-ENT-019 生成的待生成单据成功;019 未成功则 skip 不执行。
---
### 期初录入 · 列表
#### 功能验证点
##### 【P2】【TC-UI-OPEN-ENT-008】【TP_OPEN_ENT_021】列设置隐藏后再恢复
- 前置条件:列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:与 CSV `OPEN-ENT-008` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
勾选状态与表头一致。
---
#### 边界验证点
##### 【P1】【TC-UI-OPEN-ENT-009】【TP_OPEN_ENT_023】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:与 CSV `OPEN-ENT-009` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
远侧列可进入视口;表头与数据列对齐。
---
##### 【P1】【TC-UI-OPEN-ENT-010】【TP_OPEN_ENT_022】无匹配空态(mock反例)
- 前置条件:已进入期初录入页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_OPEN__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:与 CSV `OPEN-ENT-010` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
---
### 期初录入 · 分页
#### 功能验证点
##### 【P0】【TC-UI-OPEN-ENT-011】【TP_OPEN_ENT_024】有数据时总条数
- 前置条件:已进入期初录入页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:与 CSV `OPEN-ENT-011` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
「共 N 条」与查询结果一致。
---
##### 【P0】【TC-UI-OPEN-ENT-012】【TP_OPEN_ENT_025】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:与 CSV `OPEN-ENT-012` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
翻页成功;数据更换。
---
##### 【P1】【TC-UI-OPEN-ENT-013】【TP_OPEN_ENT_026】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:与 CSV `OPEN-ENT-013` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
---
### 期初录入 · 单据状态与行操作
#### 功能验证点
##### 【P0】【TC-UI-OPEN-ENT-014】【TP_OPEN_ENT_031】待生成行操作匹配
- 前置条件:当前页存在待生成行,否则 skip
- 操作步骤:
1. 默认查询后定位状态为「待生成」的行(无则 skip)
2. 断言该行可见「录入」和/或「删除」
- 自动化断言:与 CSV `OPEN-ENT-014` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
待生成行操作与状态匹配。
---
##### 【P0】【TC-UI-OPEN-ENT-015】【TP_OPEN_ENT_032】已生成行操作匹配
- 前置条件:当前页存在已生成行,否则 skip
- 操作步骤:
1. 默认查询后定位状态为「已生成」的行(无则 skip)
2. 断言该行可见「查看详情」
- 自动化断言:与 CSV `OPEN-ENT-015` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
已生成行操作与状态匹配。
---
### 期初录入 · 新增
#### 功能验证点
##### 【P0】【TC-UI-OPEN-ENT-016】【TP_OPEN_ENT_036】打开「新增」对应弹窗/抽屉
- 前置条件:已进入期初录入页
- 操作步骤:
1. 点击「新增」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:与 CSV `OPEN-ENT-016` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
「新增」层打开;关键控件可见。
---
##### 【P1】【TC-UI-OPEN-ENT-017】【TP_OPEN_ENT_037】「新增」取消不落库
- 前置条件:已进入期初录入页
- 操作步骤:
1. 打开「新增」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:与 CSV `OPEN-ENT-017` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
取消后列表无新增/无修改。
---
#### 边界验证点
##### 【P1】【TC-UI-OPEN-ENT-018】【TP_OPEN_ENT_038】「新增」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「新增」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:与 CSV `OPEN-ENT-018` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
确定被拦截;不落库。
---
##### 【P0】【TC-UI-OPEN-ENT-019】【TP_OPEN_ENT_046】新增选择库房库区耗材类型并勾选后确定成功
- 前置条件:库房/库区/耗材类型下拉均有可选值,否则 skip
- 操作步骤:
1. 记录当前「共 N 条」为 N0
2. 点击「新增」,断言弹窗标题为「新增」
3. 选择「库房」下拉中首个可选值,记录为库房样本
4. 选择「库区」下拉中首个可选值(级联后可用),记录为库区样本
5. 选择「耗材类型」下拉中首个可选值,记录为耗材类型样本
6. 勾选复选框「导入后使用原系统唯一码做新系统UDI」
7. 点击「确 定」
8. 断言弹窗关闭;现网进入录入明细页,页头可见期初单号及所选库房/库区/耗材类型;记录期初单号 S
9. 点「返回」回到主列表
10. 用期初单号 S 查询(或列表定位),断言列表中的期初单号与 S 完全一致
- 自动化断言:与 CSV `OPEN-ENT-019` 及 `tests/spd/open-entry.spec.ts` 严格一致
###### 预期结果
新增成功;确定后进入录入明细页展示新单号;返回主列表后,列表期初单号与新增数据一致。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **20** 条(P0=13 / P1=6 / P2=1) |
| 来源 | 从测试点选取可稳定自动化场景;H3 与测试点同名;019/020 为用户明确要求的写操作落库场景 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、录入明细写回、弹窗全字段组合穷举 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条**(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果;020 自带新增步骤以保证用例独立可执行 |
# 期初管理-期初明细查询 UI 自动化测试用例
**来源测试点**:`testpoint/期初管理-期初明细查询-测试点分析-01.md`
**执行 CSV**:`testcase/期初管理-期初明细查询-UI自动化测试用例-01.csv`
**页面 URL**:`/spd/start/init/detail`
**定位器 YAML**:`locators/spd/open-detail.locator.yaml`
**元素扫描**:`data/scan/open-detail-elements.json`(62 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-OPEN-002.md`
**版本**:2026-11-06
**自动化框架**:Playwright + TypeScript(`tests/spd/open-detail.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` + `storageState`;具备「期初管理 → 期初明细查询」权限。
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「期初管理 → 期初明细查询」;`openPath('/spd/start/init/detail')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出不校验文件内容。
**动态取数**:查询后从首行读取样本字段;mock:`__NOT_EXIST_OPEN__99999`。
---
## 期初管理
### 期初明细查询 · 快捷筛选查询
#### 功能验证点
##### 【P1】【TC-UI-OPEN-DTL-001】【TP_OPEN_DTL_005】快捷区重置恢复默认
- 前置条件:已进入期初明细查询页
- 操作步骤:
1. 填写快捷区可见字段(期初单号等文本;可选点选耗材类型)
2. 点击快捷区「重 置」
3. 断言文本条件清空、下拉无选中项;列表是否刷新按产品规则(未定则记待评审)
- 自动化断言:与 CSV `OPEN-DTL-001` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
重置后条件恢复默认;页面无报错。
---
### 期初明细查询 · 高级筛选抽屉
#### 功能验证点
##### 【P0】【TC-UI-OPEN-DTL-002】【TP_OPEN_DTL_012】全量查询条件组合查询
- 前置条件:默认查询至少 1 条,否则 skip
- 操作步骤:
1. 默认查询 → 从首行提取全量样本(不写死业务数据,见 rules 3.4)
2. 快捷区填入样本中有值的可见字段
3. 高级筛选抽屉填入样本中所有非空字段(文本直接填、下拉选同值;禁用字段记录默认)
4. 「查询/筛选」后抽样首行;首行同时满足样本中全部已填字段
- 自动化断言:与 CSV `OPEN-DTL-002` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
查询正常无报错;查询条件写值正常;查询结果与查询条件一致。
---
##### 【P0】【TC-UI-OPEN-DTL-003】【TP_OPEN_DTL_010】点击高级筛选打开抽屉
- 前置条件:已进入期初明细查询页
- 操作步骤:
1. 点击「高级筛选」
2. 断言抽屉标题为「高级筛选」,关键字段可交互
3. 关闭抽屉,快捷区条件不被误清空(以现网为准)
- 自动化断言:与 CSV `OPEN-DTL-003` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
高级筛选抽屉可打开并关闭。
---
##### 【P1】【TC-UI-OPEN-DTL-004】【TP_OPEN_DTL_011】抽屉内重置恢复默认
- 前置条件:已进入期初明细查询页
- 操作步骤:
1. 快捷区填写期初单号(与抽屉同源表单探针)
2. 打开高级筛选抽屉,填写抽屉字段(物料名称等)
3. 点击抽屉内「重 置」
4. 断言抽屉字段(物料名称等)恢复默认;关闭抽屉后同源快捷字段亦恢复默认
- 说明:现网高级筛选与快捷区共用同一表单(抽屉含库房/期初单号/耗材类型),抽屉重置会同步清空同源快捷字段;与通用 TP「快捷区不被清空」口径以现网为准记入待评审
- 自动化断言:与 CSV `OPEN-DTL-004` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
抽屉字段恢复默认;现网同源快捷字段一并恢复默认;页面无报错。
---
### 期初明细查询 · 列表
#### 功能验证点
##### 【P0】【TC-UI-OPEN-DTL-005】【TP_OPEN_DTL_014】列表核心列完整
- 前置条件:已进入期初明细查询页
- 操作步骤:
1. 断言表头含核心列(抽样):期初单号、库房、库区、制单人、生成时间、规格型号、赋码管理、耗材类型、单位、库存数量、结算方式、批号
2. 若有数据,抽样首行关键字段非空
- 自动化断言:与 CSV `OPEN-DTL-005` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
核心列完整;列表结构正确。
---
##### 【P2】【TC-UI-OPEN-DTL-006】【TP_OPEN_DTL_015】列设置隐藏后再恢复
- 前置条件:列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:与 CSV `OPEN-DTL-006` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
勾选状态与表头一致。
---
#### 边界验证点
##### 【P1】【TC-UI-OPEN-DTL-007】【TP_OPEN_DTL_017】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:与 CSV `OPEN-DTL-007` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
远侧列可进入视口;表头与数据列对齐。
---
##### 【P1】【TC-UI-OPEN-DTL-008】【TP_OPEN_DTL_016】无匹配空态(mock反例)
- 前置条件:已进入期初明细查询页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_OPEN__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:与 CSV `OPEN-DTL-008` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
---
### 期初明细查询 · 分页
#### 功能验证点
##### 【P0】【TC-UI-OPEN-DTL-009】【TP_OPEN_DTL_018】有数据时总条数
- 前置条件:已进入期初明细查询页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:与 CSV `OPEN-DTL-009` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
「共 N 条」与查询结果一致。
---
##### 【P0】【TC-UI-OPEN-DTL-010】【TP_OPEN_DTL_019】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:与 CSV `OPEN-DTL-010` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
翻页成功;数据更换。
---
##### 【P1】【TC-UI-OPEN-DTL-011】【TP_OPEN_DTL_020】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:与 CSV `OPEN-DTL-011` 及 `tests/spd/open-detail.spec.ts` 严格一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **11** 条(P0=5 / P1=5 / P2=1) |
| 来源 | 从 28 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条**(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
## 【UI测试点生成范围】
| 项 | 填写 |
|----|------|
| 需求/页面名称 | 期初管理(3 个子页面:期初录入 / 期初明细查询 / 快速盘点记录,见 UI-SPEC OPEN-001~003) |
| 关联 UI-SPEC | `knowledge-base/08-UI专项规范库/UI-SPEC-SPD-OPEN-*.md` |
| 页面 URL / 菜单路径 | **期初管理** → {页面名};`/spd/start/init/import`、`/detail`、`/scanRecord`(见 `data/scan/open-menu-urls.json`) |
| 元素扫描 / 定位器 | `data/scan/open-*-elements.json`、`locators/spd/open-*.locator.yaml` |
### 在范围内(必写)
- 功能域(有则写):
- **期初录入**:页面访问与导航、快捷筛选查询、高级筛选抽屉、列表、分页、新增、行内录入/删除/查看详情
- **期初明细查询**:页面访问与导航、快捷筛选查询、高级筛选抽屉、列表、分页
- **快速盘点记录**:页面访问与导航、快捷筛选查询、查询条件展开收起、列表、分页、导出
- 验证类型:功能、边界、异常、集成
- 优先级下限:高 + 中 + 低
- 业务侧重点:三页 URL/列集不串;录入单号与明细可对应;盘点记录勿与期初单号体系混淆;状态与行操作匹配(待生成↔录入/删除,已生成↔查看详情)
### 明确排除(不写或仅一行引用)
- 断网/弱网、视觉像素、导出文件字节内容
- 新增/录入弹窗全字段组合穷举(多字段排列组合);录入明细写回落库不在本范围
- **例外(用户已明确要求)**:期初录入允许「新增选择库房/库区/耗材类型+勾选 UDI 后确定成功」与「针对新增待生成单据删除成功」两条写操作落库验证
- 登录/改密/未登录/菜单进入:引用用户管理;自动化不写「菜单进入」「未登录访问拦截」(3.5)
### 输入优先级(事实来源)
1. 现网元素扫描 > UI-SPEC 截图说明 > 本范围表
2. 冲突写入各页「待评审项」,按扫描可见控件写判定
### 编号与体量
- ID 前缀:`TP_OPEN_ENT`(录入)、`TP_OPEN_DTL`(明细)、`TP_OPEN_SCN`(盘点)
- 目标条数:按功能域穷尽原子点(约 25~40 条/页)
- 是否声称「需求 100% 全覆盖」:**否**
...@@ -77,6 +77,26 @@ ...@@ -77,6 +77,26 @@
--- ---
### 状态 Tab
#### 功能验证点
- **TP_PRODM_DIC_037**(高)|状态 Tab 切换且计数与列表一致|验证要点:依次切换 全部、待提交、待审核、已完成、已驳回;每次可正常切换且无报错;Tab 括号数量与列表「共 N 条」一致(0 时为空态)|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
无
#### 异常验证点
无
#### 集成验证点
无
---
### 列表 ### 列表
#### 功能验证点 #### 功能验证点
...@@ -126,7 +146,7 @@ ...@@ -126,7 +146,7 @@
#### 功能验证点 #### 功能验证点
- **TP_PRODM_DIC_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023 - **TP_PRODM_DIC_016**(高)|详情页变更单号与主列表一致|验证要点:记录首行变更单号后点「详情」,详情页变更单号与主列表该行一致,再关闭返回(只读,不提交)|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_017**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023 - **TP_PRODM_DIC_017**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_018**(高)|行内「日志」可达|验证要点:首行有数据时点「日志」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023 - **TP_PRODM_DIC_018**(高)|行内「日志」可达|验证要点:首行有数据时点「日志」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023
...@@ -171,7 +191,7 @@ ...@@ -171,7 +191,7 @@
|----|------| |----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、详情页。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 | | 范围 | 在范围内:导航、筛选展开、列表分页、详情页。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 | | 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **36** 条原子测试点;扫描元素约 109 项 | | 覆盖 | 已写功能域见正文 H3;共 **37** 条原子测试点;扫描元素约 109 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 | | 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_DIC` | | 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_DIC` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 | | 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
#### 集成验证点 #### 集成验证点
- **TP_PRODM_DIQ_018**(高)|行内操作可达|验证要点:首行存在数据时,行操作 详情 可点击并进入预期弹窗/详情(只读冒烟)|关联需求:UI-SPEC-SPD-PRODM-018 - **TP_PRODM_DIQ_018**(高)|行内操作可达|验证要点:记录首行物料编号/编码后点「详情」,详情页物料编号/编码与主列表该行一致,再关闭返回(只读冒烟,不提交)|关联需求:UI-SPEC-SPD-PRODM-018
--- ---
......
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
#### 边界验证点 #### 边界验证点
- **TP_PRODM_FAU_035**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-004 - **TP_PRODM_FAU_035**(中)|必填为空拦截|验证要点:必填项为空时点击「驳 回」被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_036**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-004 - **TP_PRODM_FAU_036**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点 #### 异常验证点
...@@ -202,6 +202,148 @@ ...@@ -202,6 +202,148 @@
- **TP_PRODM_FAU_042**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-004 - **TP_PRODM_FAU_042**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-004
---
### 状态 Tab
#### 功能验证点
- **TP_PRODM_FAU_043**(高)|切换至「全部产品」|验证要点:点击「全部产品」后 Tab 高亮;列表刷新且无报错,计数为 0 时为空态|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量:仅补切换至全部产品)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 快捷筛选查询
#### 功能验证点
- **TP_PRODM_FAU_044**(高)|全量可见条件组合查询|验证要点:在「全部产品」Tab 只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_046**(中)|快捷区重置恢复默认|验证要点:在「全部产品」已填字段恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 查询条件展开收起
#### 功能验证点
- **TP_PRODM_FAU_045**(中)|展开后更多条件可见|验证要点:在「全部产品」点击展开后额外字段进入可视区且可填写;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 列表
#### 功能验证点
- **TP_PRODM_FAU_047**(低)|列设置隐藏后再恢复|验证要点:在「全部产品」打开列设置 → 取消勾选非核心列 → 表头隐藏 → 再勾选恢复|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 分页
#### 功能验证点
- **TP_PRODM_FAU_048**(高)|切换至第 2 页|验证要点:在「全部产品」总条数大于一页时翻至第 2 页,页码高亮且首行更换|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_049**(中)|切换每页条数|验证要点:在「全部产品」由默认档位切至「20 条/页」;N 不变;当前页行数=min(N,20)|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 导出
#### 功能验证点
- **TP_PRODM_FAU_050**(高)|当前查询条件下导出|验证要点:在「全部产品」先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 行内操作
#### 功能验证点
- **TP_PRODM_FAU_051**(高)|行内「详情」可达|验证要点:在「全部产品」首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
--- ---
...@@ -209,15 +351,15 @@ ...@@ -209,15 +351,15 @@
| 项 | 结论 | | 项 | 结论 |
|----|------| |----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、审核弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 | | 范围 | 在范围内:导航、筛选展开、列表分页、导出、审核弹窗;**本次增量**补「全部产品」Tab 切换与该 Tab 下组合查询/展开/重置/列设置/分页/导出/详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 | | 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **42** 条原子测试点;扫描元素约 125 项 | | 覆盖 | 已写功能域见正文 H3;共 **51** 条原子测试点(原 42 + 增量 9);扫描元素约 125 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 | | 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_FAU` | | 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_FAU` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 | | 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);「全部产品」列设置候选列为规格型号/单位;页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 | | 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名;全部产品能力按 Tab 前缀拆 H3 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 | | 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` | | 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 | | 分页每页条数 | 有每页条数下拉:待审核与全部产品均写「切换每页条数」/「切换20条每页…」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` | | 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
...@@ -182,6 +182,27 @@ ...@@ -182,6 +182,27 @@
--- ---
### 批量重新审核
#### 功能验证点
- **TP_PRODM_CHK_039**(中)|未勾选时「批量重新审核」置灰不可点击|验证要点:列表行均未勾选时,「批量重新审核」按钮置灰(disabled),不可点击|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_040**(高)|勾选后点击「批量重新审核」弹出提示弹框|验证要点:勾选至少 1 条列表明细后点击「批量重新审核」,页面正常弹出提示弹框/确认层;关闭或取消不落库|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- 无
#### 异常验证点
- 无
#### 集成验证点
- 无
---
### 与同组产品管理页差异 ### 与同组产品管理页差异
#### 功能验证点 #### 功能验证点
...@@ -209,7 +230,7 @@ ...@@ -209,7 +230,7 @@
|----|------| |----|------|
| 范围 | 在范围内:导航、状态 Tab、筛选展开、列表分页、导出、行内编辑弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 | | 范围 | 在范围内:导航、状态 Tab、筛选展开、列表分页、导出、行内编辑弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 | | 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **38** 条原子测试点;扫描元素约 102 项 | | 覆盖 | 已写功能域见正文 H3;共 **40** 条原子测试点;扫描元素约 102 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 | | 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CHK` | | 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CHK` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 | | 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
......
...@@ -103,6 +103,7 @@ ...@@ -103,6 +103,7 @@
- **TP_PRODM_PRC_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-006 - **TP_PRODM_PRC_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-006 - **TP_PRODM_PRC_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_048**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点 #### 边界验证点
...@@ -124,7 +125,8 @@ ...@@ -124,7 +125,8 @@
#### 功能验证点 #### 功能验证点
- **TP_PRODM_PRC_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006 - **TP_PRODM_PRC_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_017**(高)|行内「审核」可达|验证要点:首行有数据时点「审核」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006 - **TP_PRODM_PRC_017**(高)|审核页面物料编号与主列表一致|验证要点:记录首行物料编号后点「审核」,审核页物料编号/编码与主列表该行一致,再关闭返回(只读,不提交)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_058**(高)|行内「调整是否收费」打开后关闭|验证要点:首行有数据时点「调整是否收费」弹窗/抽屉打开;点击弹框「关闭」后弹层关闭、列表仍可见(不提交)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_018**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006 - **TP_PRODM_PRC_018**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点 #### 边界验证点
...@@ -223,6 +225,148 @@ ...@@ -223,6 +225,148 @@
- **TP_PRODM_PRC_047**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-006 - **TP_PRODM_PRC_047**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-006
---
### 状态 Tab
#### 功能验证点
- **TP_PRODM_PRC_049**(高)|切换至「全部产品」|验证要点:点击「全部产品」后 Tab 高亮;列表刷新且无报错,计数为 0 时为空态|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量:仅补切换至全部产品)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 快捷筛选查询
#### 功能验证点
- **TP_PRODM_PRC_050**(高)|全量可见条件组合查询|验证要点:在「全部产品」Tab 只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_052**(中)|快捷区重置恢复默认|验证要点:在「全部产品」已填字段恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 查询条件展开收起
#### 功能验证点
- **TP_PRODM_PRC_051**(中)|展开后更多条件可见|验证要点:在「全部产品」点击展开后额外字段进入可视区且可填写;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 列表
#### 功能验证点
- **TP_PRODM_PRC_053**(低)|列设置隐藏后再恢复|验证要点:在「全部产品」打开列设置 → 取消勾选非核心列 → 表头隐藏 → 再勾选恢复|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 分页
#### 功能验证点
- **TP_PRODM_PRC_054**(高)|切换至第 2 页|验证要点:在「全部产品」总条数大于一页时翻至第 2 页,页码高亮且首行更换|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_055**(中)|切换每页条数|验证要点:在「全部产品」由默认档位切至「20 条/页」;N 不变;当前页行数=min(N,20)|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 导出
#### 功能验证点
- **TP_PRODM_PRC_056**(高)|当前查询条件下导出|验证要点:在「全部产品」先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
---
### 全部产品 · 行内操作
#### 功能验证点
- **TP_PRODM_PRC_057**(高)|详情页面物料编号与列表一致|验证要点:在「全部产品」记录首行物料编号后点「详情」,详情页物料编号/编码与列表该行一致,再返回列表|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- 无(本次增量)
#### 异常验证点
- 无(本次增量)
#### 集成验证点
- 无(本次增量)
--- ---
...@@ -230,15 +374,15 @@ ...@@ -230,15 +374,15 @@
| 项 | 结论 | | 项 | 结论 |
|----|------| |----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、批量审核工具栏。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 | | 范围 | 在范围内:导航、筛选展开、列表分页、导出、批量审核/批量是否收费工具栏;**本次增量**对齐初审核对:补「切换每页条数」、「全部产品」Tab 切换与该 Tab 下组合查询/展开/重置/列设置/分页/导出/详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 | | 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **47** 条原子测试点;扫描元素约 74 项 | | 覆盖 | 已写功能域见正文 H3;共 **58** 条原子测试点(原 47 + 增量 11);扫描元素约 74 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 | | 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_PRC` | | 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_PRC` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);页面无 size-changer,未写切换每页条数(自检) | | 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);「全部产品」列设置候选列为耗材类型/品牌;页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 | | 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名;全部产品能力按 Tab 前缀拆 H3 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 | | 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` | | 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 页面无 size-changer,未写切换每页条数(自检) | | 分页每页条数 | 有每页条数下拉:待审核与全部产品均写「切换每页条数」/「切换20条每页…」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` | | 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
...@@ -165,25 +165,46 @@ ...@@ -165,25 +165,46 @@
--- ---
### 分类维护 ### 新增分类
#### 功能验证点 #### 功能验证点
- **TP_PRODM_MNT_035**(高)|打开对应弹窗/抽屉|验证要点:触发「分类维护」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_035**(高)|打开对应弹窗/抽屉|验证要点:触发左侧「新增分类」后弹层可见,现网标题为「分类维护」;分类编码/分类名称等关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_036**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_036**(中)|取消不落库|验证要点:填写分类名称后取消或关闭,左侧树不新增节点|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点 #### 边界验证点
- **TP_PRODM_MNT_037**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_037**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库、树不新增|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_038**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_038**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点 #### 异常验证点
- **TP_PRODM_MNT_039**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_039**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且树保持原状|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点 #### 集成验证点
- **TP_PRODM_MNT_040**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_040**(低)|弹窗字段与树分类一致|验证要点:弹窗内分类编码/名称与左侧耗材分类树语义一致|关联需求:UI-SPEC-SPD-PRODM-002
---
### 编辑分类
#### 功能验证点
- **TP_PRODM_MNT_051**(高)|打开对应弹窗/抽屉|验证要点:点击左侧树节点旁编辑图标(现网 anticon-form)后弹层可见,标题为「编辑医院产品分类」;分类名称/分类编码与该节点回填一致|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_052**(中)|取消不落库|验证要点:修改分类名称后取消或关闭,左侧树节点文案不变|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_053**(中)|必填为空拦截|验证要点:清空分类名称后确定被拦截并提示,不落库、树文案不变|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- 无(范围排除:编辑保存接口失败注入)
#### 集成验证点
- 无(范围排除:编辑成功落库与主数据联动)
--- ---
...@@ -193,6 +214,9 @@ ...@@ -193,6 +214,9 @@
- **TP_PRODM_MNT_041**(高)|打开对应弹窗/抽屉|验证要点:触发「添加」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_041**(高)|打开对应弹窗/抽屉|验证要点:触发「添加」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_042**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-002 - **TP_PRODM_MNT_042**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_054**(高)|添加产品列表组合查询|验证要点:在「添加产品」弹层按物料名称+耗材类型组合查询后列表有数据,抽样首行同时满足已填条件;取消不落库|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_055**(高)|添加产品列表切换至第2页|验证要点:添加产品列表至少 2 页时,切至第 2 页后页码高亮且首行更换;取消不落库|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_056**(高)|勾选明细与确定数量一致|验证要点:在「添加产品」弹层勾选明细后,「确定(N)」中的 N 与勾选条数一致;取消不落库|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点 #### 边界验证点
...@@ -234,9 +258,9 @@ ...@@ -234,9 +258,9 @@
| 项 | 结论 | | 项 | 结论 |
|----|------| |----|------|
| 范围 | 在范围内:导航、分类树、快捷/高级筛选、列表分页、导出导入、分类维护弹窗、详情页。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 | | 范围 | 在范围内:导航、分类树、快捷/高级筛选、列表分页、导出导入、新增分类弹窗(现网标题「分类维护」)、编辑分类弹窗(现网标题「编辑医院产品分类」)、详情页。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 | | 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **50** 条原子测试点;扫描元素约 360 项 | | 覆盖 | 已写功能域见正文 H3;共 **53** 条原子测试点;扫描元素约 360 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 | | 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_MNT` | | 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_MNT` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 | | 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
......
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