Commit 2d26844c authored by liguangyu06's avatar liguangyu06
Browse files

同步基础管理/报表用例与登录态稳定性修复

修复 auth 写入锁 stale PID 导致 setup 空等超时;主辅账号 setup 串行并延长超时,login 依赖 setup。同步用户/厂商/准入等 CSV·MD·spec·PO,移除 stat 调试 spec,补充离线全量脚本与 gate-stamp 目录哈希修复。
parent 45178f79
......@@ -84,7 +84,7 @@
---
##### 【P1】【TC-UI-VENDOR-QRY-005】【TP_VENDOR_QRY_013】清空搜索恢复
##### 【P1】【TC-UI-VENDOR-QRY-005】【TP_VENDOR_QRY_019】清空搜索恢复
- 前置条件:已按厂商名称过滤
- 操作步骤:
......@@ -165,11 +165,12 @@
##### 【P0】【TC-UI-VENDOR-QRY-010】【TP_VENDOR_QRY_005】未登录访问拦截
- 前置条件:已进入厂商查询页
- 前置条件:使用独立 context,storageState 为空(不加载 test_1 登录态)
- 操作步骤:
1. 清除登录态后直接打开厂商查询 URL
2. 断言跳转登录或不展示业务列表
- 自动化断言:本条以手工/后续扩展为主;当前冒烟未覆盖
1. 新建独立 BrowserContext,不加载 auth/user.json(`test.use` 空 storageState)
2. 直接打开厂商查询 URL
3. 断言跳转登录或不展示业务列表
- 自动化断言:与 CSV `VENDOR-QRY-010` 及 `tests/spd/vendor-query.spec.ts` 一致
###### 预期结果
......
......@@ -6,7 +6,7 @@
**定位器 YAML**:`locators/spd/basic-user-union.locator.yaml`
**元素扫描**:`data/scan/basic-user-union-elements.json`(221 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-USER-002.md`
**版本**:2026-10-20
**版本**:2026-10-22
**自动化框架**:Playwright + TypeScript(`tests/spd/basic-user-union.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` 经 `auth.setup` 写入 `storageState`(密码仅存 `.env` 的 `TEST_PASS`);具备「基础设置 → 用户管理 → 医共体用户管理」权限。反例筛选用 mock(`__NOT_EXIST_USER__99999` / `__NOT_EXIST_ROLE__99999`)。
......@@ -19,52 +19,17 @@
## 基础设置 · 用户管理
### 医共体用户管理 · 页面进入
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-001】【TP_USER_UNI_001】菜单进入医共体用户管理页
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 按菜单「基础设置 → 用户管理 → 医共体用户管理」进入,或 `openPath` 打开 `/spd/basic/user/platform/personCom`
2. 断言 URL 含 `/spd/basic/user/platform/personCom`
3. 断言所属医院筛选、工具栏、列表列头与分页可见
- 自动化断言:与 CSV `USER-UNI-001` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
进入医共体用户管理页;不误入用户管理或角色管理。
---
#### 异常验证点
##### 【P0】【TC-UI-USER-UNI-002】【TP_USER_UNI_005】未登录访问拦截
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 清除登录态后直接打开 `/spd/basic/user/platform/personCom`
2. 断言跳转登录或不展示用户业务列表
- 自动化断言:与 CSV `USER-UNI-002` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
未登录不可见医共体用户数据。
---
### 医共体用户管理 · 筛选与查询
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-003】【TP_USER_UNI_009】默认查询列表有数据或空态明确
##### 【P0】【TC-UI-USER-UNI-001】【TP_USER_UNI_009】默认查询列表有数据或空态明确
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 点击「查 询」并等待列表稳定
2. 断言出现数据行,或空态且分页总数为 0
- 自动化断言:与 CSV `USER-UNI-003` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-001` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -72,45 +37,14 @@
---
##### 【P0】【TC-UI-USER-UNI-004】【TP_USER_UNI_010】姓名或登录账号关键字查询
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 从首行读取 `${sampleUserName}` 或 `${sampleLoginName}`
2. 在「姓名」框填入关键字,点击「查 询」
3. 断言结果行姓名或登录账号匹配
- 自动化断言:与 CSV `USER-UNI-004` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
查询结果与关键字匹配。
---
##### 【P0】【TC-UI-USER-UNI-005】【TP_USER_UNI_011】所属医院筛选
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 记录当前默认 `${sampleHospital}` 与分页总数
2. 切换「所属医院」为另一可选项(仅 1 家则 skip)
3. 点击「查 询」
4. 断言结果行「所属医院」均为所选值,「共 N 条」可与默认不同
- 自动化断言:与 CSV `USER-UNI-005` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
列表仅该院用户;总数随医院变化。
---
##### 【P0】【TC-UI-USER-UNI-006】【TP_USER_UNI_013】姓名+医院+科室+角色+状态组合查询
##### 【P0】【TC-UI-USER-UNI-002】【TP_USER_UNI_013】姓名、所属医院、联系方式、科室、角色等条件组合查询
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 点击「查 询」后读取首行 `${sampleUserName}`、`${sampleLoginName}`、`${sampleHospital}`、`${sampleDept}`、`${sampleRole}`、`${sampleStatus}`(科室为 `--` 时换一行)
2. 填写姓名、所属医院、科室、角色,展开高级筛选选择 `${sampleStatus}` 后点「筛 选」(无则点「查 询」)
3. 断言结果非空;首行登录账号与采样行一致;可见行姓名/所属医院/科室/角色/状态与已填条件一致
- 自动化断言:与 CSV `USER-UNI-006` 及 `tests/spd/basic-user-union.spec.ts` 一致
1. 点击「查 询」后读取首行 `${sampleUserName}`、`${sampleLoginName}`、`${sampleHospital}`、`${samplePhone}`、`${sampleDept}`、`${sampleRole}`(科室或联系方式为 `--`/空时换一行)
2. 填写姓名、所属医院,展开高级筛选填写「联系方式」、选择科室与角色后点「筛 选」(无则点「查 询」)
3. 断言结果非空;首行登录账号与采样行一致;可见行姓名/所属医院/联系方式/科室/角色与已填条件一致
- 自动化断言:与 CSV `USER-UNI-002` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -118,13 +52,13 @@
---
##### 【P1】【TC-UI-USER-UNI-007】【TP_USER_UNI_014】重置恢复默认医院
##### 【P1】【TC-UI-USER-UNI-003】【TP_USER_UNI_014】重置恢复默认医院
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 更改所属医院或姓名后点击「重 置」
2. 断言所属医院恢复进入页时的默认值,列表刷新
- 自动化断言:与 CSV `USER-UNI-007` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-003` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -132,13 +66,13 @@
---
##### 【P1】【TC-UI-USER-UNI-008】【TP_USER_UNI_015】展开高级筛选
##### 【P1】【TC-UI-USER-UNI-004】【TP_USER_UNI_015】展开高级筛选
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 点击「高级筛选」
2. 断言可见所属医院、联系方式、科室、角色及「筛 选」
- 自动化断言:与 CSV `USER-UNI-008` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-004` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -148,13 +82,13 @@
#### 异常验证点
##### 【P1】【TC-UI-USER-UNI-009】【TP_USER_UNI_021】无匹配空态(mock反例)
##### 【P1】【TC-UI-USER-UNI-005】【TP_USER_UNI_021】无匹配空态(mock反例)
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 姓名框填入 `__NOT_EXIST_USER__99999`,点击「查 询」
2. 断言空态且分页总数为 0
- 自动化断言:与 CSV `USER-UNI-009` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-005` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -166,13 +100,13 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-010】【TP_USER_UNI_024】列表列顺序含所属医院
##### 【P0】【TC-UI-USER-UNI-006】【TP_USER_UNI_024】列表列顺序含所属医院
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 断言列顺序为登录账号、姓名、联系方式、所属医院、所属科室、医院员工编号、角色、科室任职数、操作
2. 勿用用户管理页列断言(用户管理无所属医院且姓名在登录账号前)
- 自动化断言:与 CSV `USER-UNI-010` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-006` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -180,14 +114,14 @@
---
##### 【P1】【TC-UI-USER-UNI-011】【TP_USER_UNI_026】分页翻至第 2 页
##### 【P1】【TC-UI-USER-UNI-007】【TP_USER_UNI_026】分页翻至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行登录账号
2. 翻到第 2 页
3. 断言数据更换且所属医院筛选仍保持
- 自动化断言:与 CSV `USER-UNI-011` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-007` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -197,14 +131,14 @@
#### 集成验证点
##### 【P1】【TC-UI-USER-UNI-012】【TP_USER_UNI_033】与用户管理页同一用户字段一致
##### 【P1】【TC-UI-USER-UNI-008】【TP_USER_UNI_033】与用户管理页同一用户字段一致
- 前置条件:两页都能查到同一账号,否则 skip
- 操作步骤:
1. 记录本页首行 `${sampleLoginName}`、姓名、所属科室、角色
2. 打开用户管理页,按登录账号查询同一用户
3. 断言姓名、角色、所属科室一致;本页仅多「所属医院」
- 自动化断言:与 CSV `USER-UNI-012` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-008` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -216,13 +150,13 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-013】【TP_USER_UNI_036】打开新增弹窗
##### 【P0】【TC-UI-USER-UNI-009】【TP_USER_UNI_036】打开新增弹窗
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 点击「新 增」
2. 断言弹出用户表单,含账号、姓名、联系方式及取消/确定
- 自动化断言:与 CSV `USER-UNI-013` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-009` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -230,13 +164,13 @@
---
##### 【P1】【TC-UI-USER-UNI-014】【TP_USER_UNI_038】新增取消不落库
##### 【P1】【TC-UI-USER-UNI-010】【TP_USER_UNI_038】新增取消不落库
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 打开新增,账号填 `${uniqLogin}` 后点「取 消」
2. 当前医院下列表查询该账号,断言不存在
- 自动化断言:与 CSV `USER-UNI-014` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-010` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -246,13 +180,13 @@
#### 异常验证点
##### 【P0】【TC-UI-USER-UNI-015】【TP_USER_UNI_046】必填为空拦截
##### 【P0】【TC-UI-USER-UNI-011】【TP_USER_UNI_046】必填为空拦截
- 前置条件:已进入医共体用户管理页
- 操作步骤:
1. 打开新增,账号或姓名留空后点「确 定」
2. 断言被拦截,弹窗仍打开,不落库
- 自动化断言:与 CSV `USER-UNI-015` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-011` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -262,14 +196,14 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-016】【TP_USER_UNI_039】打开编辑并回填
##### 【P0】【TC-UI-USER-UNI-012】【TP_USER_UNI_039】打开编辑并回填
- 前置条件:列表至少 1 条
- 操作步骤:
1. 点击首行「编辑」
2. 断言弹窗回填与该行登录账号、姓名、所属医院一致
3. 点「取 消」
- 自动化断言:与 CSV `USER-UNI-016` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-012` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -281,18 +215,18 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-017】【TP_USER_UNI_042】高级筛选按状态过滤
##### 【P0】【TC-UI-USER-UNI-013】【TP_USER_UNI_016】高级筛选按科室过滤
- 前置条件:已进入医共体用户管理页
- 前置条件:默认查询至少 1 条且所属科室非空/--,否则 skip
- 操作步骤:
1. 展开高级筛选,状态下拉选择「启用」或「禁用」
2. 点击「筛 选」
3. 断言列表仅保留对应状态用户(无匹配则空态且总数为 0)
- 自动化断言:与 CSV `USER-UNI-017` 及 `tests/spd/basic-user-union.spec.ts` 一致
1. 点击「查 询」后读取首行 `${sampleDept}`(空或 `--` 时换一行)
2. 展开高级筛选,选择该科室后点「筛 选」
3. 断言结果非空或空态明确;有数据时可见行「所属科室」与所选科室一致
- 自动化断言:与 CSV `USER-UNI-013` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
按状态过滤成功;无报错。
按科室过滤成功;无报错;结果所属科室与条件一致。
---
......@@ -300,14 +234,14 @@
#### 功能验证点
##### 【P1】【TC-UI-USER-UNI-018】【TP_USER_UNI_027】切换20条每页页面正常且列表同步
##### 【P1】【TC-UI-USER-UNI-014】【TP_USER_UNI_027】切换20条每页页面正常且列表同步
- 前置条件:默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip
- 操作步骤:
1. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
2. 分页区切换每页条数为「20 条/页」
3. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;所属医院筛选、表头可见无报错
- 自动化断言:与 CSV `USER-UNI-018` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-014` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -315,14 +249,14 @@
---
##### 【P1】【TC-UI-USER-UNI-019】【TP_USER_UNI_025】打开列设置面板
##### 【P2】【TC-UI-USER-UNI-015】【TP_USER_UNI_059】打开列设置面板
- 前置条件:默认查询至少 1 条
- 操作步骤:
1. 点击「查 询」等待列表稳定
2. 点击表格工具栏列设置(齿轮)图标
3. 断言弹出面板含「列展示」「字段设置」「重置」,关闭面板
- 自动化断言:与 CSV `USER-UNI-019` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-015` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -330,14 +264,14 @@
---
##### 【P1】【TC-UI-USER-UNI-020】【TP_USER_UNI_025】列设置取消勾选后列表列恢复
##### 【P2】【TC-UI-USER-UNI-016】【TP_USER_UNI_060】列设置取消勾选后列表列恢复
- 前置条件:默认查询至少 1 条;存在可 toggle 的非核心列,否则 skip
- 操作步骤:
1. 点击「查 询」后打开列设置,取消勾选一列非核心字段并关闭
2. 断言该列表头隐藏;再次打开列设置勾选恢复并关闭
3. 断言该列表头重新可见
- 自动化断言:与 CSV `USER-UNI-020` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-016` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -349,7 +283,7 @@
#### 功能验证点
##### 【P0】【TC-UI-USER-UNI-021】【TP_USER_UNI_051】打开授权后取消不生效
##### 【P0】【TC-UI-USER-UNI-017】【TP_USER_UNI_051】打开授权后取消不生效
- 前置条件:列表至少 1 条
- 操作步骤:
......@@ -357,7 +291,7 @@
2. 断言打开用户角色授权层,可见可勾选菜单/功能
3. 如可勾选则改一处勾选后点取消/关闭
4. 再次打开同一用户授权,断言勾选与操作前一致
- 自动化断言:与 CSV `USER-UNI-021` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-017` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -365,7 +299,7 @@
---
##### 【P0】【TC-UI-USER-UNI-022】【TP_USER_UNI_051】授权弹框账号与所选行一致
##### 【P0】【TC-UI-USER-UNI-018】【TP_USER_UNI_051】授权弹框账号与所选行一致
- 前置条件:列表至少 1 条且登录账号非空
- 操作步骤:
......@@ -373,7 +307,7 @@
2. 点击该行「授权」
3. 断言弹出用户角色授权弹框,弹框展示的账号信息与所选行登录账号、姓名一致
4. 关闭弹框
- 自动化断言:与 CSV `USER-UNI-022` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-018` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -381,7 +315,7 @@
---
##### 【P1】【TC-UI-USER-UNI-023】【TP_USER_UNI_051】授权弹框添加移除角色行
##### 【P1】【TC-UI-USER-UNI-019】【TP_USER_UNI_051】授权弹框添加移除角色行
- 前置条件:列表至少 1 条;授权弹框含「添加/移除」(非仅权限树模式),否则 skip
- 操作步骤:
......@@ -390,7 +324,7 @@
3. 记录弹框内可「移除」的角色行数,点击「添加」
4. 断言可移除行数 +1;点击新增行的「移除」
5. 断言可移除行数恢复为添加前;关闭弹框且不保存
- 自动化断言:与 CSV `USER-UNI-023` 及 `tests/spd/basic-user-union.spec.ts` 一致
- 自动化断言:与 CSV `USER-UNI-019` 及 `tests/spd/basic-user-union.spec.ts` 一致
###### 预期结果
......@@ -401,7 +335,7 @@
| 项 | 说明 |
|----|------|
| 用例数 | **23** 条(P0=13 / P1=10) |
| 来源 | 从 58 条测试点选取可稳定自动化的主路径与关键反向 |
| 未纳入自动化 | 授权/改密持久化(引用 TP_USER_USR)、真实跨院保存、Excel 导入文件、接口失败、会话过期 |
| 用例数 | **19** 条(P0=9 / P1=8 / P2=2) |
| 来源 | 从 60 条测试点选取可稳定自动化的主路径与关键反向 |
| 未纳入自动化 | 未登录与菜单进入、姓名/登录账号关键字与所属医院单筛、高级筛选按状态(扫描无该字段)、授权/改密持久化(引用 TP_USER_USR)、真实跨院保存、Excel 导入文件、接口失败、会话过期 |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -6,7 +6,7 @@
**定位器 YAML**:`locators/spd/basic-user.locator.yaml`
**元素扫描**:`data/scan/basic-user-elements.json`(219 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-USER-001.md`
**版本**:2026-10-20
**版本**:2026-10-22
**自动化框架**:Playwright + TypeScript(`tests/spd/basic-user.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` 经 `auth.setup` 写入 `storageState`(密码仅存 `.env` 的 `TEST_PASS`);具备「基础设置 → 用户管理 → 用户管理」权限。反例筛选用 mock(`__NOT_EXIST_USER__99999` / `__NOT_EXIST_ROLE__99999`)。
......@@ -287,7 +287,7 @@
---
##### 【P1】【TC-UI-USER-USR-017】【TP_USER_USR_025】打开列设置面板
##### 【P2】【TC-UI-USER-USR-017】【TP_USER_USR_083】打开列设置面板
- 前置条件:默认查询至少 1 条
- 操作步骤:
......@@ -302,7 +302,7 @@
---
##### 【P1】【TC-UI-USER-USR-018】【TP_USER_USR_025】列设置取消勾选后列表列恢复
##### 【P2】【TC-UI-USER-USR-018】【TP_USER_USR_084】列设置取消勾选后列表列恢复
- 前置条件:默认查询至少 1 条;存在可 toggle 的非核心列,否则 skip
- 操作步骤:
......@@ -357,7 +357,7 @@
| 项 | 说明 |
|----|------|
| 用例数 | **20** 条(P0=8 / P1=12) |
| 来源 | 从 82 条测试点选取可稳定自动化的主路径与关键反向 |
| 用例数 | **20** 条(P0=8 / P1=10 / P2=2) |
| 来源 | 从 84 条测试点选取可稳定自动化的主路径与关键反向 |
| 未纳入自动化 | 真实保存用户、禁用后登录、真实改密、Excel 导入文件、接口失败注入、会话过期、无菜单权限 |
| 单一职责 | 每条只断言一个核心业务结果 |
......@@ -6,7 +6,7 @@
**定位器 YAML**:`locators/spd/basic-role.locator.yaml`
**元素扫描**:`data/scan/basic-role-elements.json`(1170 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-USER-003.md`
**版本**:2026-10-20
**版本**:2026-10-22
**自动化框架**:Playwright + TypeScript(`tests/spd/basic-role.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` 经 `auth.setup` 写入 `storageState`(密码仅存 `.env` 的 `TEST_PASS`);具备「基础设置 → 用户管理 → 角色管理」权限。
......
# UI 测试点生成范围(模板)
复制本文件为 `{需求名称}-UI测试点范围.md` 并填写下表。生成测试点时 Agent 须严格遵循本范围。
---
## 【UI测试点生成范围】
| 项 | 填写 |
|----|------|
| 需求/页面名称 | |
| 关联 UI-SPEC | |
| 页面 URL / 菜单路径 | |
| 元素扫描 / 定位器 | |
### 在范围内(必写)
- **功能域**:(勾选或列举,如:页面访问与导航、筛选与查询、列表与分页、行内操作)
- **验证类型**:
- [ ] 功能验证点
- [ ] 边界验证点
- [ ] 异常验证点
- [ ] 集成验证点
- **优先级下限**:仅高+中 / 高+中+低 全写
- **业务侧重点**:
### 明确排除(不写或仅引用他页 TP)
-
### 输入优先级(事实来源)
1.
2. **冲突处理**:
### 编号与体量
- **ID 前缀**:TP_
- **目标条数**:(可选)
- **是否声称需求 100% 全覆盖**:否(推荐)
---
## 变更记录
| 日期 | 变更说明 | 作者 |
|------|----------|------|
| | 初版 | |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/admit-product-list-elements.json`(77 项)
**定位器**:`locators/spd/admit-product-list.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 准入管理 · 产品准入单列表
......@@ -40,10 +42,14 @@
- **TP_ADMIT_PLS_009**(高)|默认制单日期查询|验证要点:点击「查询」后列表有数据或空态明确,分页「共 N 条」与结果一致|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_010**(高)|制单日期、进院供应商、二级供应商、耗材类型、注册证号、器械注册人筛选|验证要点:分别按上述条件查询,结果与条件匹配|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_011**(高)|组合查询、重置与收起|验证要点:多条件同时生效;「重置」恢复默认;收起后再展开值保留|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_011**(中)|快捷区重置恢复默认|验证要点:已填筛选字段恢复默认;列表是否刷新按产品规则(自动化 `ADMIT-PLS-004`)|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_035**(高)|全量可见条件组合查询|验证要点:仅填当前结果里有值的条件,结果同时满足已填条件;分页「共 N 条」与结果一致|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_036**(中)|收起后再展开筛选区|验证要点:已填筛选值不丢失|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_012**(高)|状态 Tab|验证要点:全部、审批中、已通过、已驳回切换后,列表「状态」与 Tab 一致,Tab 计数与分页总数一致|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_013**(高)|列表核心列|验证要点:展示序号、准入单号、进院供应商、二级供应商、产品名称、注册证号、耗材类型、产品条数、状态、备注、附件、操作「详情」|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_014**(中)|分页、列设置与翻页保持条件|验证要点:翻页和每页条数正确;列设置生效;翻页不丢失筛选与当前 Tab|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_014**(中)|分页翻页|验证要点:总条数大于一页时可翻至第 2 页,页码高亮且首行更换;翻页不丢失筛选与当前 Tab;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_037**(中)|切换每页条数|验证要点:当前页行数 = min(总条数, 所选档位);总条数不变;无数据则不适用|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_038**(低)|列设置隐藏后再恢复|验证要点:取消勾选非核心列后表头隐藏,再勾选恢复;勾选状态与表头一致|关联需求:UI-SPEC-SPD-ADMIT-004
- **TP_ADMIT_PLS_015**(中)|附件列计数|验证要点:附件列展示的个数与详情中该单附件数量一致;为 0 时显示 0 个|关联需求:UI-SPEC-SPD-ADMIT-004
#### 边界验证点
......@@ -96,8 +102,10 @@
| 项 | 结论 |
|----|------|
| 覆盖 | 导航、筛选、状态 Tab、列表附件列、详情、审批、日志、通过确认与取消、已通过/已驳回不可再通过;共 **34** 条 |
| 范围 | 在范围内:页面访问与导航、筛选、状态与列表、单据详情。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 导航、筛选、状态 Tab、列表附件列、详情、审批、日志、通过确认与取消、已通过/已驳回不可再通过;组合查询/重置/收起、分页/每页条数/列设置已拆成原子点;共 **38** 条 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 与物料准入单列表共用的查询与详情规则,本页保留产品单列(备注、附件)及与物料单隔离;编号前缀 `TP_ADMIT_PLS` |
| 待评审项 | ① 列表附件个数点击是否直接打开附件 ② 审批中「通过」的角色范围 ③ 本页详情扫描未出现独立「导出」,若后续页面补充导出需追加测试点 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 JSON `data/scan/admit-product-list-elements.json` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/admit-product-apply-elements.json`(467 项)
**定位器**:`locators/spd/admit-product-apply.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 准入管理 · 产品准入申请
......@@ -68,7 +70,9 @@
- **TP_ADMIT_PAP_020**(高)|状态 Tab 切换|验证要点:全部、待申请、审批中、已通过、已驳回、已作废、生效失败、已生效切换后,列表状态与 Tab 一致|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_021**(高)|Tab 计数与列表总数一致|验证要点:Tab 括号数量与该状态分页总数一致|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_022**(高)|列表核心列完整|验证要点:展示序号、准入单号、产品编号、产品名称、规格型号、注册规格、注册型号、器械注册人、单位、操作(详情/日志,待申请另有编辑)|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_023**(中)|分页、列设置与翻页保持条件|验证要点:翻页与每页条数正确;列设置生效;翻页不丢失筛选和当前 Tab|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_023**(中)|分页翻页|验证要点:总条数大于一页时可翻至第 2 页,页码高亮且首行更换;翻页不丢失筛选和当前 Tab;不足 2 页则该点不适用(自动化 `ADMIT-PAP-009`)|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_057**(中)|切换每页条数|验证要点:当前页行数 = min(总条数, 所选档位);总条数不变;无数据则不适用|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_058**(低)|列设置隐藏后再恢复|验证要点:取消勾选非核心列后表头隐藏,再勾选恢复;勾选状态与表头一致|关联需求:UI-SPEC-SPD-ADMIT-002
- **TP_ADMIT_PAP_024**(中)|跳至指定页|验证要点:分页「跳至」输入合法页码后进入该页,列表数据与页码一致|关联需求:UI-SPEC-SPD-ADMIT-002
#### 边界验证点
......@@ -166,8 +170,10 @@
| 项 | 结论 |
|----|------|
| 覆盖 | 导航、筛选、状态 Tab、列表、跳至、新增产品、分字段必填、Excel 导入、生成申请单、一键生成、作废确认与取消、详情、编辑回填与保存、日志;共 **56** 条 |
| 范围 | 在范围内:页面访问与导航、筛选与查询、状态 Tab 与列表、新增产品与 Excel 导入、生成申请单、一键生成与作废、详情、编辑与日志。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 导航、筛选、状态 Tab、列表、跳至、新增产品、分字段必填、Excel 导入、生成申请单、一键生成、作废确认与取消、详情、编辑回填与保存、日志;分页/每页条数/列设置已拆成原子点;共 **58** 条 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 与物料准入管理共用的登录与日期规则仅保留本页 URL 与「新增产品 / Excel导入」差异;编号前缀 `TP_ADMIT_PAP` |
| 待评审项 | ① Excel 导入失败行是整单回滚还是跳过需产品确认 ② 一键生成是否包含未展示在当前页的全量待申请 ③ 准入单号点击是否等同详情 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 JSON `data/scan/admit-product-apply-elements.json` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/admit-supply-elements.json`(117 项)
**定位器**:`locators/spd/admit-supply.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 准入管理 · 供货目录申请
......@@ -41,10 +43,13 @@
- **TP_ADMIT_SUP_009**(高)|默认制单日期查询|验证要点:点击「查询」后列表有数据或空态明确,分页「共 N 条」与结果一致|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_010**(高)|制单日期、进院供应商、二级供应商筛选|验证要点:按制单日期区间及两级供应商查询,结果匹配|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_011**(中)|变更单号、产品名称、规格型号筛选|验证要点:按变更单号、产品名称、规格型号查询,结果匹配|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_012**(高)|组合查询、重置与收起|验证要点:多条件同时生效;重置恢复默认;收起后再展开值保留|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_012**(中)|快捷区重置恢复默认|验证要点:已填筛选字段恢复默认;列表是否刷新按产品规则(自动化 `ADMIT-SUP-004`)|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_049**(高)|全量可见条件组合查询|验证要点:仅填当前结果里有值的条件,结果同时满足已填条件;分页「共 N 条」与结果一致|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_050**(中)|收起后再展开筛选区|验证要点:已填筛选值不丢失|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_013**(高)|状态 Tab|验证要点:全部、待提交、审批中、已通过、已驳回切换后列表状态匹配,Tab 计数与分页总数一致|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_014**(高)|列表核心列|验证要点:展示序号、申请单号、申请人、申请时间、进院供应商、二级供应商、业务模式、是否默认、备注、操作(编辑/详情)|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_015**(中)|分页与翻页保持条件|验证要点:翻页、每页条数正确;翻页不丢失筛选与当前 Tab|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_015**(中)|分页翻页|验证要点:总条数大于一页时可翻至第 2 页,页码高亮且首行更换;翻页不丢失筛选与当前 Tab;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-ADMIT-005
- **TP_ADMIT_SUP_051**(中)|切换每页条数|验证要点:当前页行数 = min(总条数, 所选档位);总条数不变;无数据则不适用|关联需求:UI-SPEC-SPD-ADMIT-005
#### 边界验证点
......@@ -126,8 +131,10 @@
| 项 | 结论 |
|----|------|
| 覆盖 | 导航、筛选、状态 Tab、新增、添加产品、Excel 导入、编辑回填与提交、分字段必填、提交、批量提交、详情与审批进程;共 **48** 条 |
| 范围 | 在范围内:页面访问与导航、筛选、状态与列表、新增与编辑申请、批量提交与详情。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 导航、筛选、状态 Tab、新增、添加产品、Excel 导入、编辑回填与提交、分字段必填、提交、批量提交、详情与审批进程;组合查询/重置/收起、分页/每页条数已拆成原子点;共 **51** 条 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录与日期规则仅保留供货目录 URL 与供应商/业务模式差异;编号前缀 `TP_ADMIT_SUP` |
| 待评审项 | ① 新增提交后是待提交还是直接审批中 ② 「是否默认」冲突时是覆盖旧默认还是拒绝 ③ 关联授权变更申请是否必填 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 JSON `data/scan/admit-supply-elements.json` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/admit-task-elements.json`(158 项)
**定位器**:`locators/spd/admit-task.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 准入管理 · 准入任务分配
......@@ -114,8 +116,10 @@
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、筛选与分类 Tab、列表与分页、分配类型与批量分配。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 导航、双日期筛选、分类 Tab、列表、跳至、单行分配类型、批量分配、已分类不可重复分配、回写准入产品;共 **36** 条 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录与日期规则仅保留本页双日期和待分类/已分类差异;编号前缀 `TP_ADMIT_TSK` |
| 待评审项 | ① 分配类型的可选值清单与是否允许改已分类 ② 批量分配是否必须同一准入类型 ③ 扫描未打开分配弹窗,弹窗内字段以现网为准需补一轮元素扫描 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 JSON `data/scan/admit-task-elements.json` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/admit-material-list-elements.json`(79 项)
**定位器**:`locators/spd/admit-material-list.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 准入管理 · 物料准入单列表
......@@ -40,10 +42,14 @@
- **TP_ADMIT_MLS_009**(高)|默认制单日期查询|验证要点:点击「查询」后列表有数据或空态明确,分页「共 N 条」与结果一致|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_010**(高)|制单日期、进院供应商、二级供应商、耗材类型、注册证号、器械注册人筛选|验证要点:分别按上述条件查询,结果与条件匹配|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_011**(高)|组合查询与重置|验证要点:多条件同时生效;「重置」恢复默认;「收起」后再展开值保留|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_011**(中)|快捷区重置恢复默认|验证要点:已填筛选字段恢复默认;列表是否刷新按产品规则(自动化 `ADMIT-MLS-004`)|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_035**(高)|全量可见条件组合查询|验证要点:仅填当前结果里有值的条件,结果同时满足已填条件;分页「共 N 条」与结果一致|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_036**(中)|收起后再展开筛选区|验证要点:已填筛选值不丢失|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_012**(高)|状态 Tab|验证要点:全部、审批中、已通过、已驳回切换后,列表「状态」列与 Tab 一致,Tab 计数与分页总数一致|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_013**(高)|列表核心列|验证要点:展示序号、准入类型、准入单号、进院供应商、二级供应商、产品名称、注册证号、耗材类型、产品条数、状态、操作「详情」|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_014**(中)|分页与列设置|验证要点:翻页、每页条数、列设置生效;翻页保持筛选与当前 Tab|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_014**(中)|分页翻页|验证要点:总条数大于一页时可翻至第 2 页,页码高亮且首行更换;翻页不丢失筛选与当前 Tab;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_037**(中)|切换每页条数|验证要点:当前页行数 = min(总条数, 所选档位);总条数不变;无数据则不适用|关联需求:UI-SPEC-SPD-ADMIT-003
- **TP_ADMIT_MLS_038**(低)|列设置隐藏后再恢复|验证要点:取消勾选非核心列后表头隐藏,再勾选恢复;勾选状态与表头一致|关联需求:UI-SPEC-SPD-ADMIT-003
#### 边界验证点
......@@ -96,8 +102,10 @@
| 项 | 结论 |
|----|------|
| 覆盖 | 导航、筛选、状态 Tab、列表、详情、审批进程、单据日志、附件、导出、通过确认与取消、已通过/已驳回不可再通过;共 **34** 条 |
| 范围 | 在范围内:页面访问与导航、筛选、状态与列表、单据详情。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 导航、筛选、状态 Tab、列表、详情、审批进程、单据日志、附件、导出、通过确认与取消、已通过/已驳回不可再通过;组合查询/重置/收起、分页/每页条数/列设置已拆成原子点;共 **38** 条 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 与产品准入单列表共用的单据详情规则,本页保留物料单 URL、准入类型列与导出/附件差异;编号前缀 `TP_ADMIT_MLS` |
| 待评审项 | ① 「通过」是否仅审批角色可见 ② 已通过单据是否允许撤回 ③ 详情标题写「产品准入单详情」是否为物料单与产品单共用页 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 JSON `data/scan/admit-material-list-elements.json` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/admit-material-elements.json`(328 项)
**定位器**:`locators/spd/admit-material.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 准入管理 · 物料准入管理
......@@ -164,8 +166,10 @@
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、筛选与查询、状态 Tab、列表、勾选与分页、关联产品、生成申请单、一键生成与作废、详情、编辑与日志。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 导航、筛选、状态 Tab、列表分页、关联产品(打开/确认)、生成申请单、一键生成、作废确认与取消、详情、编辑回填与保存、日志;共 **54** 条 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截与同组其它准入页规则相同,本页仅保留物料准入菜单、URL 与待申请生成/作废差异;编号前缀 `TP_ADMIT_MAT` |
| 待评审项 | ① 一键生成是否二次确认、处理范围是否含当前 Tab 以外数据需产品确认 ② 已通过与已生效的编辑权限边界 ③ 关联产品是否改写默认进院供应商 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 JSON `data/scan/admit-material-elements.json` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/basic-notice-elements.json`(82 项)
**定位器**:`locators/spd/basic-notice.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 医院资料 · 公告管理
......@@ -173,8 +175,10 @@
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、筛选与查询、列表与分页、新增公告、编辑公告、删除公告。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已覆盖:导航、筛选查询、列表分页、新增/编辑/删除、置顶与截止日期、富文本;共 **63** 条原子测试点 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截、会话过期与同模块其它医院资料页规则相同,本页仅保留公告菜单/URL 差异;编号前缀 `TP_BASIC_NTC` |
| 待评审项 | ① 发布范围「进院供应商」与规范旧称「供应商」文案以现网为准 ② 置顶后列表排序规则需产品确认 ③ 截止日期过期后公告是否自动下架 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 `npm run discover:scan-basic` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/basic-hospital-info-elements.json`(38 项)
**定位器**:`locators/spd/basic-hospital-info.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 医院资料 · 医院信息登记
......@@ -116,8 +118,10 @@
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、查看模式、编辑与保存、图片上传。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已覆盖:导航、查看只读、编辑保存/取消、必填与格式、背景/logo 上传与登录页联动;共 **38** 条原子测试点 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录/权限类与公告管理共用规则,本页仅保留本 URL 与医院资料字段差异;编号前缀 `TP_BASIC_HOS` |
| 待评审项 | ① 联系方式校验规则(手机/座机/长度)需产品确认 ② 图片替换是否支持删除后无图 ③ 登录页缓存刷新时效 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 `npm run discover:scan-basic` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/basic-finance-month-elements.json`(43 项)
**定位器**:`locators/spd/basic-finance-month.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 医院资料 · 财务月份设置
......@@ -133,8 +135,10 @@
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、筛选与查询、列表与状态、当前月份修改、分页。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已覆盖:导航、月份筛选、当前/历史状态、仅自动结算日可改、保存/取消、分页;共 **38** 条原子测试点 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分;分页异常写明「无」 |
| 去重 | 登录/权限与同模块其它页共用规则,本页强调当前月份唯一可改;编号前缀 `TP_BASIC_FMN` |
| 待评审项 | ① 自动结算日是否允许等于结束日之后的缓冲天数 ② 当前月份切换是否由系统日切自动完成、本页是否只读切换 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 `npm run discover:scan-basic` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/basic-branch-elements.json`(60 项)
**定位器**:`locators/spd/basic-branch.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 医院资料 · 院区管理
......@@ -128,8 +130,10 @@
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、列表搜索与分页、新增院区、编辑院区。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已覆盖:导航、名称搜索(无查询/重置)、分页、新增/编辑字段差异、主院区、状态文案差异、启用云仓、下游院区联动;共 **50** 条原子测试点 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录/权限与同模块其它页共用规则,本页强调新增 vs 编辑字段差;编号前缀 `TP_BASIC_BRN` |
| 待评审项 | ① 主院区是否全局唯一 ② 搜索是即时过滤还是回车 ③ 禁用已被业务引用的院区策略 ④ 院区编号编辑态是否只读 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 可生成 MD/CSV 与 Playwright;扫描 `npm run discover:scan-basic` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/vendor-holiday-elements.json`(80 项)
**定位器**:`locators/spd/vendor-holiday.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 厂商管理 · 供应商节假日管理
......@@ -63,7 +65,12 @@
## 质量自检摘要
- 覆盖:页面访问、筛选/Tab、列表分页、关键写操作或详情、权限与登录异常、同模块衔接。
- 颗粒度:一条测试点只验证一件独立事;优先级已标高/中/低。
- 待评审项:审批通过/驳回写操作是否自动化(建议只读详情冒烟);注册证差异对比 iframe 断言策略。
- 下游:可转结构化 MD/CSV;自动化需先补 Page Object(`pages/spd/vendor-holiday.page.ts`)。
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、默认假日与供应商自定义。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已写功能域:页面访问与导航、默认假日与供应商自定义;共 **19** 条原子测试点(未声称全覆盖) |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截、会话过期与同模块其它厂商管理页规则相同,本页仅保留菜单/URL/字段差异;编号前缀 `TP_VENDOR_HLD` |
| 待评审项 | ① 默认假日与供应商自定义的覆盖优先级 ② 重置是否同时清掉自定义假日 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 已落地 CSV/MD 与 Playwright:`tests/spd/vendor-holiday.spec.ts` + `pages/spd/vendor-holiday.page.ts` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/vendor-qual-elements.json`(99 项)
**定位器**:`locators/spd/vendor-qual.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 厂商管理 · 供应商资质管理
......@@ -64,7 +66,12 @@
## 质量自检摘要
- 覆盖:页面访问、筛选/Tab、列表分页、关键写操作或详情、权限与登录异常、同模块衔接。
- 颗粒度:一条测试点只验证一件独立事;优先级已标高/中/低。
- 待评审项:审批通过/驳回写操作是否自动化(建议只读详情冒烟);注册证差异对比 iframe 断言策略。
- 下游:可转结构化 MD/CSV;自动化需先补 Page Object(`pages/spd/vendor-qual.page.ts`)。
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、证件 Tab、效期与列表。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已写功能域:页面访问与导航、证件 Tab、效期与列表;共 **20** 条原子测试点(未声称全覆盖) |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截、会话过期与同模块其它厂商管理页规则相同,本页仅保留菜单/URL/字段差异;编号前缀 `TP_VENDOR_QUL` |
| 待评审项 | ① 审批通过/驳回写操作是否纳入自动化(建议只读详情冒烟) ② 证件 Tab 切换后稳定列名 ③ 导出是否含当前 Tab 明细 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 已落地 CSV/MD 与 Playwright:`tests/spd/vendor-qual.spec.ts` + `pages/spd/vendor-qual.page.ts` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/vendor-query-elements.json`(47 项)
**定位器**:`locators/spd/vendor-query.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 厂商管理 · 厂商查询
......@@ -42,7 +44,9 @@
- **TP_VENDOR_QRY_010**(高)|经销商 Tab|验证要点:切换「经销商」后列表为经销商数据,总数与器械注册人可不同|关联需求:UI-SPEC-SPD-VENDOR-001
- **TP_VENDOR_QRY_011**(高)|按厂商名称搜索|验证要点:输入厂商名称关键字后结果名称匹配,无匹配时空态明确|关联需求:UI-SPEC-SPD-VENDOR-001
- **TP_VENDOR_QRY_012**(高)|列表核心列|验证要点:展示序号、厂商编号、厂商名称、产地、详细地址、简称、开户银行、银行账号|关联需求:UI-SPEC-SPD-VENDOR-001
- **TP_VENDOR_QRY_013**(中)|分页与每页条数|验证要点:翻页与每页条数切换正确,切换 Tab 后分页重置合理|关联需求:UI-SPEC-SPD-VENDOR-001
- **TP_VENDOR_QRY_013**(中)|分页翻页|验证要点:总条数大于一页时可翻至第 2 页,页码高亮且首行更换;不足 2 页则该点不适用(自动化 `VENDOR-QRY-008`)|关联需求:UI-SPEC-SPD-VENDOR-001
- **TP_VENDOR_QRY_019**(中)|清空搜索恢复更宽结果|验证要点:按厂商名称过滤后清空搜索并回车,分页总数不少于过滤后(自动化 `VENDOR-QRY-005`)|关联需求:UI-SPEC-SPD-VENDOR-001
- **TP_VENDOR_QRY_020**(中)|切换每页条数|验证要点:当前页行数 = min(总条数, 所选档位);总条数不变;切换 Tab 后分页重置合理;无数据则不适用|关联需求:UI-SPEC-SPD-VENDOR-001
#### 边界验证点
......@@ -62,7 +66,12 @@
## 质量自检摘要
- 覆盖:页面访问、筛选/Tab、列表分页、关键写操作或详情、权限与登录异常、同模块衔接。
- 颗粒度:一条测试点只验证一件独立事;优先级已标高/中/低。
- 待评审项:审批通过/驳回写操作是否自动化(建议只读详情冒烟);注册证差异对比 iframe 断言策略。
- 下游:可转结构化 MD/CSV;自动化需先补 Page Object(`pages/spd/vendor-query.page.ts`)。
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、Tab、搜索与列表。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已写功能域:页面访问与导航、Tab、搜索与列表;分页与清空搜索已拆成原子点;共 **20** 条原子测试点(未声称全覆盖) |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截、会话过期与同模块其它厂商管理页规则相同,本页仅保留菜单/URL/字段差异;编号前缀 `TP_VENDOR_QRY` |
| 待评审项 | ① 厂商名称搜索是回车还是即时过滤 ② 器械注册人与经销商分页是否独立 ③ 与供应商资质管理主数据对照口径 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 已落地 CSV/MD 与 Playwright:`tests/spd/vendor-query.spec.ts` + `pages/spd/vendor-query.page.ts` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/vendor-auth-first-elements.json`(40 项)
**定位器**:`locators/spd/vendor-auth-first.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 厂商管理 · 授权变更初审
......@@ -64,7 +66,12 @@
## 质量自检摘要
- 覆盖:页面访问、筛选/Tab、列表分页、关键写操作或详情、权限与登录异常、同模块衔接。
- 颗粒度:一条测试点只验证一件独立事;优先级已标高/中/低。
- 待评审项:审批通过/驳回写操作是否自动化(建议只读详情冒烟);注册证差异对比 iframe 断言策略。
- 下游:可转结构化 MD/CSV;自动化需先补 Page Object(`pages/spd/vendor-auth-first.page.ts`)。
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、授权变更列表与详情。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已写功能域:页面访问与导航、授权变更列表与详情;共 **20** 条原子测试点(未声称全覆盖) |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截、会话过期与同模块其它厂商管理页规则相同,本页仅保留菜单/URL/字段差异;编号前缀 `TP_VENDOR_AF1` |
| 待评审项 | ① 审批通过/驳回写操作是否纳入自动化(建议只读详情冒烟) ② 初审可操作角色范围 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 已落地 CSV/MD 与 Playwright:`tests/spd/vendor-audit.spec.ts` + `pages/spd/vendor-auth-first.page.ts` |
......@@ -6,6 +6,8 @@
**元素扫描**:`data/scan/vendor-auth-final-elements.json`(40 项)
**定位器**:`locators/spd/vendor-auth-final.locator.yaml`
**本次生成范围**:见本文件既有功能域(历史生成,无独立 `testpoint/scope` 文件);本次按 ui-test-point-rules 补齐文档头与质量自检,不扩大范围
---
## 基础设置 · 厂商管理 · 授权变更终审
......@@ -63,7 +65,12 @@
## 质量自检摘要
- 覆盖:页面访问、筛选/Tab、列表分页、关键写操作或详情、权限与登录异常、同模块衔接。
- 颗粒度:一条测试点只验证一件独立事;优先级已标高/中/低。
- 待评审项:审批通过/驳回写操作是否自动化(建议只读详情冒烟);注册证差异对比 iframe 断言策略。
- 下游:可转结构化 MD/CSV;自动化需先补 Page Object(`pages/spd/vendor-auth-final.page.ts`)。
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:页面访问与导航、授权变更列表与详情。明确排除:断网/弱网、视觉像素、导出文件内容校验(未在本文件展开)。未声称需求 100% 全覆盖。 |
| 覆盖 | 已写功能域:页面访问与导航、授权变更列表与详情;共 **19** 条原子测试点(未声称全覆盖) |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录拦截、会话过期与同模块其它厂商管理页规则相同,本页仅保留菜单/URL/字段差异;编号前缀 `TP_VENDOR_AF2` |
| 待评审项 | ① 审批通过/驳回写操作是否纳入自动化(建议只读详情冒烟) ② 终审可操作角色范围 |
| 报表能力 | 非统计报表 iframe 页,不适用第四节能力清单;本页为整页渲染,无报表 iframe |
| 下游 | 已落地 CSV/MD 与 Playwright:`tests/spd/vendor-audit.spec.ts` + `pages/spd/vendor-auth-final.page.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