Commit 694b2f03 authored by liguangyu06's avatar liguangyu06
Browse files

新增科室管理与接口管理自动化资产,并同步加固基础管理用例与 PO。

SKIP_GIT_GATE=1:批量资产入库,本地暂不重跑相关 Playwright 门禁凭证。
parent 01540e6e
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
ADMIT-MAT-001,基础设置 · 准入管理,物料准入管理 · 页面进入,菜单进入物料准入管理页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录(已登录);具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 按菜单「基础设置 → 准入管理 → 物料准入管理」进入
2. 断言 URL 含 `/spd/basic/dataSync/dataSync/productApply/ZRlist`
3. 断言筛选区、「查 询」、状态 Tab、「关联产品」「生成申请单」「一键生成」「作 废」及列表表头可见
4. 断言当前高亮不是「产品准入申请」或「物料准入单列表」",进入物料准入管理页;不误入同组其它准入页;筛选、状态 Tab 与工具栏可见。,
ADMIT-MAT-002,基础设置 · 准入管理,物料准入管理 · 筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 点击「查 询」并等待列表稳定
ADMIT-MAT-001,基础设置 · 准入管理,物料准入管理 · 快捷筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 点击「查 询」并等待列表稳定
2. 断言出现数据行,或「暂无数据」且分页总数为 0",查询无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。,
ADMIT-MAT-003,基础设置 · 准入管理,物料准入管理 · 筛选查询,物料名称筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据,"1. 从首行读取 `${sampleProductName}`
2. 填入「物料名称」,新增日期保持页面默认,点击「查 询」
3. 断言结果行「物料名称」均包含该关键字",查询结果物料名称与已填关键字匹配;无未捕获异常。,
ADMIT-MAT-004,基础设置 · 准入管理,物料准入管理 · 筛选查询,耗材类型筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条且首行耗材类型非空,"1. 从首行读取 `${sampleConsumableType}`
2. 在耗材类型下拉选择该值,点击「查 询」
3. 断言结果行「耗材类型」与所选值一致",耗材类型列与所选条件一致。首行类型为空则 skip。,
ADMIT-MAT-005,基础设置 · 准入管理,物料准入管理 · 筛选查询,名称与耗材类型组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据,"1. 读取首行 `${sampleProductName}`、`${sampleConsumableType}`
ADMIT-MAT-002,基础设置 · 准入管理,物料准入管理 · 快捷筛选查询,名称与耗材类型组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据,"1. 读取首行 `${sampleProductName}`、`${sampleConsumableType}`
2. 同时填入名称与耗材类型(新增日期保持默认,勿改成单日)
3. 点击「查 询」
4. 断言结果同时满足两个条件",组合查询无报错;结果同时满足物料名称与耗材类型。,
ADMIT-MAT-006,基础设置 · 准入管理,物料准入管理 · 筛选查询,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 填入 `${sampleProductName}`
ADMIT-MAT-003,基础设置 · 准入管理,物料准入管理 · 快捷筛选查询,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 填入 `${sampleProductName}`
2. 点击「重 置」
3. 断言物料名称等筛选恢复默认",筛选字段恢复默认;列表按默认规则刷新。,
ADMIT-MAT-007,基础设置 · 准入管理,物料准入管理 · 筛选查询,收起后再展开保留条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 填入 `${sampleProductName}`
2. 点击「收起」,再展开筛选区
3. 断言物料名称仍为已填值",收起不丢失已填条件;展开后值仍在。,
ADMIT-MAT-008,基础设置 · 准入管理,物料准入管理 · 筛选查询,无匹配结果空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 物料名称填入 mock 值 `__NOT_EXIST_GOODS__99999`
ADMIT-MAT-004,基础设置 · 准入管理,物料准入管理 · 快捷筛选查询,新增日期与销售商(自定义)等七项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条且存在含「新增日期」与物料名称/耗材类型的首行样本,否则 skip,"1. 默认查询后从首行读取 `${sampleCreateDate}`、`${sampleCustomSeller}`、`${sampleConsumableType}`、`${sampleProductName}`、`${sampleSpec}`、`${sampleCertNo}`、`${sampleRegistrant}`
2. 点击「重 置」后展开筛选区
3. 「新增日期」区间设为 `${sampleCreateDate}` 单日
4. 「销售商(自定义)」填入 `${sampleCustomSeller}`(列表列为默认进院供应商/销售商(自定义)时同源取值)
5. 「耗材类型」选择 `${sampleConsumableType}`
6. 「物料名称」填入 `${sampleProductName}` 关键字
7. 「规格型号」「注册证号」「器械注册人」分别填入对应样本(为空则跳过该项)
8. 点击「查 询」
9. 断言结果行同时满足已填各条件",组合查询无报错;结果与新增日期、销售商(自定义)、耗材类型、物料名称及已填扩展条件一致。,
ADMIT-MAT-005,基础设置 · 准入管理,物料准入管理 · 快捷筛选查询,无匹配结果空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 物料名称填入 mock 值 `__NOT_EXIST_GOODS__99999`
2. 点击「查 询」
3. 断言空态或「暂无数据」,分页总数为 0",无匹配时不报错;空态明确;总数为 0。,
ADMIT-MAT-009,基础设置 · 准入管理,物料准入管理 · 状态与列表,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据,"1. 点击「查 询」
2. 断言表头含准入类型、产品编号、物料名称、规格型号、器械注册人、单位、耗材类型、默认进院供应商、操作",核心列可见;操作列含「详情」「日志」,待申请行另可见「编辑」。,
ADMIT-MAT-010,基础设置 · 准入管理,物料准入管理 · 状态与列表,切换待申请 Tab,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 点击状态 Tab「待申请」
ADMIT-MAT-006,基础设置 · 准入管理,物料准入管理 · 状态与列表,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据,"1. 点击「查 询」
2. 断言表头含准入类型、物料编号、物料名称、规格型号、器械注册人、单位、耗材类型、默认进院供应商、操作",核心列可见;操作列含「详情」「日志」,待申请行另可见「编辑」。,
ADMIT-MAT-007,基础设置 · 准入管理,物料准入管理 · 状态与列表,切换待申请 Tab,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),"1. 点击状态 Tab「待申请」
2. 断言列表刷新;若有数据,行状态属于待申请(不出现已生效、已作废)
3. 再点「全部」,断言列表不再只限定待申请",待申请 Tab 只展示待申请数据;「全部」不额外收窄。计数为 0 时为空态且不报错。,
ADMIT-MAT-011,基础设置 · 准入管理,物料准入管理 · 详情与编辑,详情关键字段不可直接改写,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);已打开首行详情,"1. 断言物料名称等主数据无可用的保存按钮,或输入框为只读
ADMIT-MAT-008,基础设置 · 准入管理,物料准入管理 · 详情与编辑,详情关键字段不可直接改写,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);已打开首行详情,"1. 断言物料名称等主数据无可用的保存按钮,或输入框为只读
2. 返回列表,断言首行名称仍为 `${sampleProductName}`",详情态不能把物料名称改写入库。,
ADMIT-MAT-012,基础设置 · 准入管理,物料准入管理 · 详情与编辑,待申请行编辑回填,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);待申请 Tab 至少 1 行含「编辑」,"1. 在待申请列表读取首行 `${sampleProductName}`、`${sampleSpec}`
ADMIT-MAT-009,基础设置 · 准入管理,物料准入管理 · 详情与编辑,待申请行编辑回填,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);待申请 Tab 至少 1 行含「编辑」,"1. 在待申请列表读取首行 `${sampleProductName}`、`${sampleSpec}`
2. 点击「编辑」
3. 断言物料名称、规格型号与该行一致
4. 返回且不保存",编辑页回填与列表行一致。无「编辑」则 skip。,
ADMIT-MAT-013,基础设置 · 准入管理,物料准入管理 · 详情与编辑,已生效行不提供编辑,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);已生效 Tab 计数大于 0,"1. 切换到「已生效」
ADMIT-MAT-010,基础设置 · 准入管理,物料准入管理 · 详情与编辑,已生效行不提供编辑,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);已生效 Tab 计数大于 0,"1. 切换到「已生效」
2. 断言首行操作无「编辑」,或点击后保存被拒绝",已生效行不能改写成新的物料名称。计数为 0 则 skip。,
ADMIT-MAT-011,基础设置 · 准入管理,物料准入管理 · 分页,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
ADMIT-MAT-012,基础设置 · 准入管理,物料准入管理 · 列表,物料编号列升序降序切换,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;至少 2 条数据,否则 skip,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 默认查询后列表有数据
3. 横向滚动使「物料编号」列表头可见(宽表时)
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表仍有数据。,
ADMIT-MAT-013,基础设置 · 准入管理,物料准入管理 · 列表,物料名称列升序降序切换,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;至少 2 条数据,否则 skip,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 默认查询后列表有数据
3. 横向滚动使「物料名称」列表头可见(宽表时)
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表仍有数据。,
ADMIT-MAT-014,基础设置 · 准入管理,物料准入管理 · 列表,规格型号列升序降序切换,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;至少 2 条数据,否则 skip,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 默认查询后列表有数据
3. 横向滚动使「规格型号」列表头可见(宽表时)
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表仍有数据。,
ADMIT-MAT-015,基础设置 · 准入管理,物料准入管理 · 列表,器械注册人列升序降序切换,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;至少 2 条数据,否则 skip,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 默认查询后列表有数据
3. 横向滚动使「器械注册人」列表头可见(宽表时)
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表仍有数据。,
ADMIT-MAT-016,基础设置 · 准入管理,物料准入管理 · 列表,单位列升序降序切换,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;至少 2 条数据,否则 skip,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 默认查询后列表有数据
3. 横向滚动使「单位」列表头可见(宽表时)
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表仍有数据。,
ADMIT-MAT-017,基础设置 · 准入管理,物料准入管理 · 列表,耗材类型列升序降序切换,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;至少 2 条数据,否则 skip,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 默认查询后列表有数据
3. 横向滚动使「耗材类型」列表头可见(宽表时)
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表仍有数据。,
ADMIT-MAT-018,基础设置 · 准入管理,物料准入管理 · 列表,列设置隐藏后再恢复,低,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 准入管理」权限;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);列表表头已加载;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 打开列设置,取消勾选一列非核心字段并关闭,断言表头隐藏
4. 再次打开列设置勾选恢复并关闭,断言表头恢复",勾选状态与表头一致。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
BASIC-NTC-001,基础设置 · 医院资料,公告管理 · 页面进入,菜单进入公告管理页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录(已登录);具备医院资料权限;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 按菜单「基础设置 → 医院资料 → 公告管理」进入
2. 检查当前 URL 是否含 /spd/basic/hospital/paltform/notice
3. 检查筛选区、新增按钮、列表表头是否可见",进入公告管理页;不误入医院信息登记/院区管理/财务月份设置;筛选区与列表可见。,
BASIC-NTC-002,基础设置 · 医院资料,公告管理 · 筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 点击「查 询」并等待列表稳定
BASIC-NTC-001,基础设置 · 医院资料,公告管理 · 快捷筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 点击「查 询」并等待列表稳定
2. 检查是否出现数据行,或「暂无数据」且分页总数为 0",查询无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。,
BASIC-NTC-003,基础设置 · 医院资料,公告管理 · 筛选查询,公告标题模糊查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询至少 1 条数据,"1. 从首行读取 ${sampleNoticeTitle}(禁止写死业务标题)
BASIC-NTC-002,基础设置 · 医院资料,公告管理 · 快捷筛选查询,公告标题模糊查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询至少 1 条数据,"1. 从首行读取 ${sampleNoticeTitle}(禁止写死业务标题)
2. 填入筛选「公告标题」,点击「查 询」
3. 检查结果行「公告标题」均包含该关键字(或与产品模糊规则一致)",查询结果标题与已填关键字匹配;无未捕获异常。,
BASIC-NTC-004,基础设置 · 医院资料,公告管理 · 筛选查询,发布范围下拉查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 打开发布范围下拉,选择与首行 ${samplePublishScope} 相同的选项(勿写死)
BASIC-NTC-003,基础设置 · 医院资料,公告管理 · 快捷筛选查询,发布范围下拉查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 打开发布范围下拉,选择与首行 ${samplePublishScope} 相同的选项(勿写死)
2. 点击「查 询」
3. 检查结果行「发布范围」列与所选值一致(选「全部」时不额外收窄)",下拉选项含全部/全院/中心库/进院供应商;查询结果范围列与条件一致。,
BASIC-NTC-005,基础设置 · 医院资料,公告管理 · 筛选查询,标题与范围组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询至少 1 条数据,"1. 读取首行 ${sampleNoticeTitle}、${samplePublishScope}
BASIC-NTC-004,基础设置 · 医院资料,公告管理 · 快捷筛选查询,标题与范围组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询至少 1 条数据,"1. 读取首行 ${sampleNoticeTitle}、${samplePublishScope}
2. 填入标题与范围(发布日期保持页面默认,勿 fallback 单日)
3. 点击「查 询」
4. 检查结果同时满足两个已填条件",组合查询无报错;结果同时满足标题与发布范围。,
BASIC-NTC-006,基础设置 · 医院资料,公告管理 · 筛选查询,快捷区重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 填入 ${sampleNoticeTitle} 等筛选条件
BASIC-NTC-005,基础设置 · 医院资料,公告管理 · 快捷筛选查询,快捷区重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 填入 ${sampleNoticeTitle} 等筛选条件
2. 点击「重 置」
3. 检查标题/范围/日期是否恢复默认",筛选字段恢复默认;列表按默认规则刷新。,
BASIC-NTC-007,基础设置 · 医院资料,公告管理 · 筛选查询,无匹配结果空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 公告标题填入 mock 值 __NOT_EXIST_NOTICE__99999(唯一写死的反例 mock)
BASIC-NTC-006,基础设置 · 医院资料,公告管理 · 快捷筛选查询,无匹配结果空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 公告标题填入 mock 值 __NOT_EXIST_NOTICE__99999(唯一写死的反例 mock)
2. 点击「查 询」
3. 检查空态或暂无数据,分页总数为 0",无匹配时不报错;空态明确;总数为 0。,
BASIC-NTC-008,基础设置 · 医院资料,公告管理 · 列表分页,查询后核心列展示,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 点击「查 询」
BASIC-NTC-007,基础设置 · 医院资料,公告管理 · 列表,查询后核心列展示,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 点击「查 询」
2. 检查表头是否含公告编号、公告标题、发布范围、发布科室、发布人、操作",核心列完整;操作列可见「编辑」「删除」。,
BASIC-NTC-009,基础设置 · 医院资料,公告管理 · 列表分页,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询总条数大于一页,"1. 记录第 1 页首行公告编号
BASIC-NTC-008,基础设置 · 医院资料,公告管理 · 分页,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询总条数大于一页,"1. 记录第 1 页首行公告编号
2. 点击页码「2」或「下一页」
3. 检查页码高亮为 2,首行编号与第 1 页不同",翻页成功;数据更换;筛选条件保持。总条数不足一页则 skip。,
BASIC-NTC-010,基础设置 · 医院资料,公告管理 · 列表分页,跳至指定页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);总页数≥2,"1. 在分页「跳至」输入 2 并回车
BASIC-NTC-009,基础设置 · 医院资料,公告管理 · 分页,跳至指定页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);总页数≥2,"1. 在分页「跳至」输入 2 并回车
2. 检查当前页为 2",跳转至指定页;列表刷新为该页数据。无 jumper 或仅 1 页则 skip。,
BASIC-NTC-011,基础设置 · 医院资料,公告管理 · 新增公告,打开新增公告弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 点击「新 增」
BASIC-NTC-010,基础设置 · 医院资料,公告管理 · 新增公告,打开新增公告弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 点击「新 增」
2. 检查弹窗标题是否为「新增公告」
3. 检查是否可见标题、发布范围、置顶、截止日期、富文本、取消、发布",新增弹窗可见;必填/选填控件齐全;富文本容器 .ql-editor 可见。,
BASIC-NTC-012,基础设置 · 医院资料,公告管理 · 新增公告,新增取消不落库,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 打开新增,标题填 ${uniqNoticeTitle}(建议 AUTO-NTC-${timestamp}),内容填简短正文
BASIC-NTC-011,基础设置 · 医院资料,公告管理 · 新增公告,新增取消不落库,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe),"1. 打开新增,标题填 ${uniqNoticeTitle}(建议 AUTO-NTC-${timestamp}),内容填简短正文
2. 点击「取 消」
3. 按标题查询,检查无该记录",弹窗关闭;列表不出现 ${uniqNoticeTitle}。,
BASIC-NTC-013,基础设置 · 医院资料,公告管理 · 编辑与删除,打开编辑公告并回填,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据,"1. 点击首行「编辑」
BASIC-NTC-012,基础设置 · 医院资料,公告管理 · 编辑与删除,打开编辑公告并回填,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据,"1. 点击首行「编辑」
2. 检查弹窗标题是否为「编辑公告」
3. 检查标题输入框值与该行 ${sampleNoticeTitle} 一致(允许规范化空白)",编辑弹窗可见;标题/范围/内容回填正确。,
BASIC-NTC-014,基础设置 · 医院资料,公告管理 · 编辑与删除,编辑取消不保存,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据,"1. 打开首行编辑,记录原标题
BASIC-NTC-013,基础设置 · 医院资料,公告管理 · 编辑与删除,编辑取消不保存,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据,"1. 打开首行编辑,记录原标题
2. 将标题改为 ${uniqNoticeTitle} 后点「取 消」
3. 再次打开编辑,检查标题仍为原值",取消后列表与回看均为修改前标题。,
BASIC-NTC-015,基础设置 · 医院资料,公告管理 · 编辑与删除,删除弹出确认框,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据,"1. 点击首行「删除」
BASIC-NTC-014,基础设置 · 医院资料,公告管理 · 编辑与删除,删除弹出确认框,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据,"1. 点击首行「删除」
2. 检查出现确认框(标题含「提示」),可见「取 消」「确 定」
3. 点击「取 消」
4. 检查该行仍在",删除需二次确认;取消后记录仍在。本条不断言真实删除,避免污染数据。,
BASIC-NTC-015,基础设置 · 医院资料,公告管理 · 分页,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备医院资料权限;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
BASIC-NTC-016,基础设置 · 医院资料,公告管理 · 列表,列设置隐藏后再恢复,低,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备医院资料权限;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表表头已加载;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 打开列设置,取消勾选一列非核心字段并关闭,断言表头隐藏
4. 再次打开列设置勾选恢复并关闭,断言表头恢复",勾选状态与表头一致。,
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"BASIC-HOS-001","基础设置 · 医院资料","医院信息登记 · 页面进入与查看","菜单进入医院信息登记页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录(已登录);具备医院资料权限;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe)","1. 按菜单进入「医院信息登记」
2. 检查当前 URL 是否含 /spd/basic/hospital/paltform/info
3. 检查可见「编 辑」及医院编码/名称/地址等详情标签","进入详情页;不误入公告/院区/财务月份页;查看态「编辑」可见。",""
"BASIC-HOS-002","基础设置 · 医院资料","医院信息登记 · 页面进入与查看","查看态只读字段不可改","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);未点编辑","1. 检查医院编码、医院名称、地址区域无可用输入框
2. 检查「保 存」「取 消」不可见","查看模式下编码/名称/地址只读;不出现保存按钮。",""
"BASIC-HOS-003","基础设置 · 医院资料","医院信息登记 · 页面进入与查看","已上传图片可预览","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前医院已有登录页背景或 logo","1. 点击「预览文件」(背景或 logo 任一可见项)
2. 检查预览打开或新预览层可见","预览可打开;不报错。均无预览入口则 skip。",""
"BASIC-HOS-004","基础设置 · 医院资料","医院信息登记 · 编辑保存","进入编辑模式","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 点击「编 辑」
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
BASIC-HOS-001,基础设置 · 医院资料,医院信息登记 · 页面进入与查看,查看态只读字段不可改,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);未点编辑,"1. 检查医院编码、医院名称、地址区域无可用输入框
2. 检查「保 存」「取 消」不可见",查看模式下编码/名称/地址只读;不出现保存按钮。,
BASIC-HOS-002,基础设置 · 医院资料,医院信息登记 · 页面进入与查看,已上传图片可预览,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前医院已有登录页背景或 logo,"1. 点击「预览文件」(背景或 logo 任一可见项)
2. 检查预览打开或新预览层可见",预览可打开;不报错。均无预览入口则 skip。,
BASIC-HOS-003,基础设置 · 医院资料,医院信息登记 · 编辑保存,进入编辑模式,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态,"1. 点击「编 辑」
2. 检查「保 存」「取 消」可见
3. 检查 #form_item_linkman、#form_item_contactWay、#form_item_anotherName 可编辑","进入编辑态;三个可改文本框可输入;编码/名称/地址仍不可改。",""
"BASIC-HOS-005","基础设置 · 医院资料","医院信息登记 · 编辑保存","编辑态只读字段仍不可改","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);已进入编辑模式","1. 点击「编 辑」
2. 检查医院编码、医院名称、地址仍无可用输入框","编辑模式下系统分配字段保持只读。",""
"BASIC-HOS-006","基础设置 · 医院资料","医院信息登记 · 编辑保存","取消不保存","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 点击「编 辑」,读取原联系人 ${sampleLinkman}
3. 检查 #form_item_linkman、#form_item_contactWay、#form_item_anotherName 可编辑",进入编辑态;三个可改文本框可输入;编码/名称/地址仍不可改。,
BASIC-HOS-004,基础设置 · 医院资料,医院信息登记 · 编辑保存,编辑态只读字段仍不可改,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);已进入编辑模式,"1. 点击「编 辑」
2. 检查医院编码、医院名称、地址仍无可用输入框",编辑模式下系统分配字段保持只读。,
BASIC-HOS-005,基础设置 · 医院资料,医院信息登记 · 编辑保存,取消不保存,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态,"1. 点击「编 辑」,读取原联系人 ${sampleLinkman}
2. 将联系人改为 ${uniqLinkman} 后点「取 消」
3. 检查回到查看态,联系人展示仍为 ${sampleLinkman}","取消后不落库;查看态为修改前值。",""
"BASIC-HOS-007","基础设置 · 医院资料","医院信息登记 · 编辑保存","保存后字段持久化","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);允许写医院资料","1. 记录原联系人 ${sampleLinkman}
2. 编辑为 ${uniqLinkman} 并「保 存」
3. 刷新或重新打开本页,检查联系人为 ${uniqLinkman}
4. 后置:再编辑回 ${sampleLinkman} 并保存","保存后刷新仍为新值;用例结束恢复原值。环境禁止写则 skip。",""
"BASIC-HOS-008","基础设置 · 医院资料","医院信息登记 · 编辑保存","联系人为空保存拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 点击「编 辑」,将联系人清空为 mock 空值 """"
3. 检查回到查看态,联系人展示仍为 ${sampleLinkman}",取消后不落库;查看态为修改前值。,
BASIC-HOS-006,基础设置 · 医院资料,医院信息登记 · 编辑保存,联系人为空保存拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态,"1. 点击「编 辑」,将联系人清空为 mock 空值 """"
2. 点击「保 存」
3. 检查必填提示,仍停留编辑态","保存被拦截;原联系人不被写成空。",""
"BASIC-HOS-009","基础设置 · 医院资料","医院信息登记 · 编辑保存","联系方式为空保存拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 进入编辑态,将联系方式清空为 mock 空值 """"
3. 检查必填提示,仍停留编辑态",保存被拦截;原联系人不被写成空。,
BASIC-HOS-007,基础设置 · 医院资料,医院信息登记 · 编辑保存,联系方式为空保存拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态,"1. 进入编辑态,将联系方式清空为 mock 空值 """"
2. 点击「保 存」
3. 检查必填提示,编辑态保持","保存被拦截;联系方式不被清空落库。",""
"BASIC-HOS-010","基础设置 · 医院资料","医院信息登记 · 编辑保存","医院简称为空保存拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 进入编辑态,将医院简称清空为 mock 空值 """"
3. 检查必填提示,编辑态保持",保存被拦截;联系方式不被清空落库。,
BASIC-HOS-008,基础设置 · 医院资料,医院信息登记 · 编辑保存,医院简称为空保存拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态,"1. 进入编辑态,将医院简称清空为 mock 空值 """"
2. 点击「保 存」
3. 检查必填提示","保存被拦截;简称不被写成空。",""
"BASIC-HOS-011","基础设置 · 医院资料","医院信息登记 · 图片上传","编辑态存在背景与 logo 上传控件","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 点击「编 辑」
3. 检查必填提示",保存被拦截;简称不被写成空。,
BASIC-HOS-009,基础设置 · 医院资料,医院信息登记 · 图片上传,编辑态存在背景与 logo 上传控件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态,"1. 点击「编 辑」
2. 检查存在登录页背景、医院 logo 对应 input[type=file](loginBgUploadInput / logoUploadInput)
3. 点「取 消」,不实际上传","编辑态两个上传控件可定位;本条不强制替换线上图片。",""
3. 点「取 消」,不实际上传",编辑态两个上传控件可定位;本条不强制替换线上图片。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
BASIC-FMN-001,基础设置 · 医院资料,财务月份设置 · 页面进入,菜单进入财务月份设置页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录(已登录);具备医院资料权限;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe),"1. 按菜单「基础设置 → 医院资料 → 财务月份设置」进入
2. 检查当前 URL 是否含 /spd/basic/hospital/balance/month
3. 检查筛选区(#form_item_settleMonthDate)、查询/重置、列表列头是否可见",进入财务月份设置页;不误入公告/医院信息/院区页;筛选与列表可见。,
BASIC-FMN-002,基础设置 · 医院资料,财务月份设置 · 筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe),"1. 点击「查 询」并等待列表稳定
BASIC-FMN-001,基础设置 · 医院资料,财务月份设置 · 快捷筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe),"1. 点击「查 询」并等待列表稳定
2. 检查是否出现数据行,或「暂无数据」且分页总数为 0",查询无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。,
BASIC-FMN-003,基础设置 · 医院资料,财务月份设置 · 筛选查询,按财务月份筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询至少 1 条数据,"1. 从首行或当前月份行读取 ${sampleFinanceMonth}(禁止写死月份)
BASIC-FMN-002,基础设置 · 医院资料,财务月份设置 · 快捷筛选查询,按财务月份筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询至少 1 条数据,"1. 从首行或当前月份行读取 ${sampleFinanceMonth}(禁止写死月份)
2. 在 #form_item_settleMonthDate 选择该月份,点击「查 询」
3. 检查结果行「财务月份」均等于该月份(或与产品筛选规则一致)",结果仅含所选财务月份;无未捕获异常。,
BASIC-FMN-004,基础设置 · 医院资料,财务月份设置 · 筛选查询,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe),"1. 选择 ${sampleFinanceMonth} 并查询
BASIC-FMN-003,基础设置 · 医院资料,财务月份设置 · 快捷筛选查询,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe),"1. 选择 ${sampleFinanceMonth} 并查询
2. 点击「重 置」
3. 检查月份筛选恢复默认,列表按默认规则刷新",重置后筛选清空或回到默认;列表可再查询。,
BASIC-FMN-005,基础设置 · 医院资料,财务月份设置 · 列表与状态,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询至少 1 条数据,1. 检查表头是否包含财务月份、开始日期、结束日期、自动结算日期、状态、操作,核心列均可见,不缺「状态」「操作」。,
BASIC-FMN-006,基础设置 · 医院资料,财务月份设置 · 列表与状态,仅当前月份行可修改,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);列表同时存在当前月份与历史月份(若仅一行当前月份则只断言该行),"1. 定位状态为「当前月份」的行,检查操作列可见「修 改」(modifyBtn)
BASIC-FMN-004,基础设置 · 医院资料,财务月份设置 · 列表与状态,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询至少 1 条数据,1. 检查表头是否包含财务月份、开始日期、结束日期、自动结算日期、状态、操作,核心列均可见,不缺「状态」「操作」。,
BASIC-FMN-005,基础设置 · 医院资料,财务月份设置 · 列表与状态,仅当前月份行可修改,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);列表同时存在当前月份与历史月份(若仅一行当前月份则只断言该行),"1. 定位状态为「当前月份」的行,检查操作列可见「修 改」(modifyBtn)
2. 对「历史月份」行检查无「修 改」或操作为「--」",可修改入口只出现在当前月份行。无历史月份则只校验当前月份入口。,
BASIC-FMN-007,基础设置 · 医院资料,财务月份设置 · 列表与状态,当前月份至多一行,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询已出列表,"1. 统计状态为「当前月份」的行数
BASIC-FMN-006,基础设置 · 医院资料,财务月份设置 · 列表与状态,当前月份至多一行,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询已出列表,"1. 统计状态为「当前月份」的行数
2. 检查行数 ≤ 1",同一时点至多一行「当前月份」。,
BASIC-FMN-008,基础设置 · 医院资料,财务月份设置 · 列表与状态,历史月份无法进入编辑,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);列表至少 1 条历史月份,"1. 对历史月份行尝试点击操作区
BASIC-FMN-007,基础设置 · 医院资料,财务月份设置 · 列表与状态,历史月份无法进入编辑,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);列表至少 1 条历史月份,"1. 对历史月份行尝试点击操作区
2. 检查不出现行内「保 存」「取 消」,自动结算日期仍为文本",历史月份不能改开始/结束/自动结算日期。无历史月份则 skip。,
BASIC-FMN-009,基础设置 · 医院资料,财务月份设置 · 当前月份修改,修改进入行内编辑,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在状态为「当前月份」的行,"1. 点击该行「修 改」
BASIC-FMN-008,基础设置 · 医院资料,财务月份设置 · 当前月份修改,修改进入行内编辑,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在状态为「当前月份」的行,"1. 点击该行「修 改」
2. 检查出现「保 存」「取 消」
3. 检查自动结算日期变为日期框(autoSettleDateInput)",进入行内编辑;仅自动结算日可改。,
BASIC-FMN-010,基础设置 · 医院资料,财务月份设置 · 当前月份修改,取消不保存自动结算日,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在当前月份行,"1. 读取 ${sampleAutoSettleDate}
BASIC-FMN-009,基础设置 · 医院资料,财务月份设置 · 当前月份修改,取消不保存自动结算日,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在当前月份行,"1. 读取 ${sampleAutoSettleDate}
2. 点「修 改」,将自动结算日改为当月区间内另一天 ${uniqAutoSettleDate}
3. 点击「取 消」
4. 检查该行自动结算日仍为 ${sampleAutoSettleDate}",取消后不落库;日期恢复修改前值。,
BASIC-FMN-010,基础设置 · 医院资料,财务月份设置 · 分页,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备医院资料权限;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
BASIC-FMN-011,基础设置 · 医院资料,财务月份设置 · 列表,列设置隐藏后再恢复,低,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备医院资料权限;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);列表表头已加载;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 打开列设置,取消勾选一列非核心字段并关闭,断言表头隐藏
4. 再次打开列设置勾选恢复并关闭,断言表头恢复",勾选状态与表头一致。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
BASIC-BRN-001,基础设置 · 医院资料,院区管理 · 页面进入,菜单进入院区管理页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录(已登录);具备医院资料权限;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 按菜单「基础设置 → 医院资料 → 院区管理」进入
2. 检查当前 URL 是否含 /spd/basic/hospital/paltform/area
3. 检查「新 增」、院区名称搜索框(campusNameInput)、列表列头可见
4. 检查页面无独立「查 询」「重 置」按钮",进入院区管理页;不误入公告/医院信息/财务月份页;搜索框与新增可见,无查询/重置。,
BASIC-BRN-002,基础设置 · 医院资料,院区管理 · 列表搜索,默认列出院区或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 等待列表稳定
BASIC-BRN-001,基础设置 · 医院资料,院区管理 · 列表搜索,默认列出院区或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 等待列表稳定
2. 检查是否出现数据行,或「暂无数据」且分页总数为 0",加载无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。,
BASIC-BRN-003,基础设置 · 医院资料,院区管理 · 列表搜索,院区名称搜索过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 ${sampleCampusName}(禁止写死院区名称)
BASIC-BRN-002,基础设置 · 医院资料,院区管理 · 列表搜索,院区名称搜索过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 ${sampleCampusName}(禁止写死院区名称)
2. 在 campusNameInput 填入该关键字(即时过滤或回车,以现网为准)
3. 检查结果行「院区名称」均包含该关键字",过滤结果名称与已填关键字匹配;无未捕获异常。,
BASIC-BRN-004,基础设置 · 医院资料,院区管理 · 列表搜索,清空搜索恢复全量,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已用 ${sampleCampusName} 过滤,"1. 记录过滤后条数
BASIC-BRN-003,基础设置 · 医院资料,院区管理 · 列表搜索,清空搜索恢复全量,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已用 ${sampleCampusName} 过滤,"1. 记录过滤后条数
2. 清空 campusNameInput 并等待列表刷新
3. 检查条数回到未过滤的默认集合(或不少于过滤后条数)",清空后列表恢复默认集合。,
BASIC-BRN-005,基础设置 · 医院资料,院区管理 · 列表搜索,搜索无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 在院区名称框输入 mock 值 __NOT_EXIST_CAMPUS__99999(唯一写死的反例 mock)
BASIC-BRN-004,基础设置 · 医院资料,院区管理 · 列表搜索,搜索无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 在院区名称框输入 mock 值 __NOT_EXIST_CAMPUS__99999(唯一写死的反例 mock)
2. 检查「暂无数据」且分页总数为 0",无匹配时空态明确,不白屏。,
BASIC-BRN-006,基础设置 · 医院资料,院区管理 · 新增院区,打开新增院区弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 点击「新 增」
BASIC-BRN-005,基础设置 · 医院资料,院区管理 · 新增院区,打开新增院区弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 点击「新 增」
2. 检查弹窗标题是否为「新增院区」
3. 检查可见院区名称、所在地区、详细地址、主院区标志、状态、取消/确定
4. 检查无 #form_item_id、无启用云仓
5. 点击「取 消」关闭",新增弹窗字段完整;不含院区编号与启用云仓。,
BASIC-BRN-007,基础设置 · 医院资料,院区管理 · 新增院区,新增取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 记录当前分页总数 ${sampleTotal}
BASIC-BRN-006,基础设置 · 医院资料,院区管理 · 新增院区,新增取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe),"1. 记录当前分页总数 ${sampleTotal}
2. 打开新增,填写名称 ${uniqCampusName}(建议 AUTO-BRN-${timestamp})后点「取 消」
3. 检查列表总数不变,且无该名称行",取消后不新增院区。,
BASIC-BRN-008,基础设置 · 医院资料,院区管理 · 新增院区,院区名称为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗,"1. 名称填 mock 空值 """",补齐地区与地址后点「确 定」
BASIC-BRN-007,基础设置 · 医院资料,院区管理 · 新增院区,院区名称为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗,"1. 名称填 mock 空值 """",补齐地区与地址后点「确 定」
2. 检查必填提示,弹窗仍在,列表无新行",确定被拦截;不落库。,
BASIC-BRN-009,基础设置 · 医院资料,院区管理 · 新增院区,所在地区为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗,"1. 名称填 mock 值 __MOCK_CAMPUS_NO_REGION__,地址填 __MOCK_ADDR__,不选所在地区
BASIC-BRN-008,基础设置 · 医院资料,院区管理 · 新增院区,所在地区为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗,"1. 名称填 mock 值 __MOCK_CAMPUS_NO_REGION__,地址填 __MOCK_ADDR__,不选所在地区
2. 点击「确 定」
3. 检查必填提示,弹窗仍在",确定被拦截;不落库。,
BASIC-BRN-010,基础设置 · 医院资料,院区管理 · 新增院区,详细地址为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗,"1. 名称填 mock 值 __MOCK_CAMPUS_NO_ADDR__ 并选择地区,地址留空 """"
BASIC-BRN-009,基础设置 · 医院资料,院区管理 · 新增院区,详细地址为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗,"1. 名称填 mock 值 __MOCK_CAMPUS_NO_ADDR__ 并选择地区,地址留空 """"
2. 点击「确 定」
3. 检查必填提示,弹窗仍在",确定被拦截;不落库。,
BASIC-BRN-011,基础设置 · 医院资料,院区管理 · 编辑院区,编辑态院区编号不可换号,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开首行编辑,"1. 检查 #form_item_id 可见且值等于列表「院区编号」
BASIC-BRN-010,基础设置 · 医院资料,院区管理 · 编辑院区,编辑态院区编号不可换号,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开首行编辑,"1. 检查 #form_item_id 可见且值等于列表「院区编号」
2. 若编号只读则直接检查 disabled/readonly;若可输入则改写为 mock 值 __MOCK_CAMPUS_ID__ 后点确定,刷新后编号仍为原值
3. 未改其它字段时点「取 消」",院区编号与列表一致;保存后编号不变。,
BASIC-BRN-012,基础设置 · 医院资料,院区管理 · 编辑院区,编辑取消不保存,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据,"1. 打开首行编辑,记录原名称
BASIC-BRN-011,基础设置 · 医院资料,院区管理 · 编辑院区,编辑取消不保存,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据,"1. 打开首行编辑,记录原名称
2. 将名称改为 ${uniqCampusName} 后点「取 消」
3. 再次打开编辑,检查名称仍为原值",取消后列表与回看均为修改前名称。,
BASIC-BRN-013,基础设置 · 医院资料,院区管理 · 编辑院区,编辑状态为禁用启用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开编辑弹窗,"1. 检查状态选项文案为「禁用 / 启用」(不是新增弹窗的「停用 / 启用」)
BASIC-BRN-012,基础设置 · 医院资料,院区管理 · 编辑院区,编辑状态为禁用启用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开编辑弹窗,"1. 检查状态选项文案为「禁用 / 启用」(不是新增弹窗的「停用 / 启用」)
2. 点「取 消」,不改状态",编辑态状态文案与新增不同;本条不真实切换生产院区状态。,
BASIC-BRN-014,基础设置 · 医院资料,院区管理 · 编辑院区,编辑可见启用云仓,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开编辑弹窗,"1. 检查「启用云仓」单选「是 / 否」可见
BASIC-BRN-013,基础设置 · 医院资料,院区管理 · 编辑院区,编辑可见启用云仓,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开编辑弹窗,"1. 检查「启用云仓」单选「是 / 否」可见
2. 点「取 消」,不改云仓标志",编辑可看到启用云仓;本条不真实改生产院区云仓开关。,
BASIC-BRN-015,基础设置 · 医院资料,院区管理 · 编辑院区,编辑清空必填拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据,"1. 打开首行编辑,将院区名称清空为 mock 空值 """" 后点「确 定」
BASIC-BRN-014,基础设置 · 医院资料,院区管理 · 编辑院区,编辑清空必填拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据,"1. 打开首行编辑,将院区名称清空为 mock 空值 """" 后点「确 定」
2. 检查必填提示,弹窗仍在
3. 点「取 消」后再打开,检查名称仍为原值",确定被拦截;原记录不被写成空。,
BASIC-BRN-015,基础设置 · 医院资料,院区管理 · 分页,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备医院资料权限;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
BASIC-BRN-016,基础设置 · 医院资料,院区管理 · 列表,列设置隐藏后再恢复,低,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备医院资料权限;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表表头已加载;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 打开列设置,取消勾选一列非核心字段并关闭,断言表头隐藏
4. 再次打开列设置勾选恢复并关闭,断言表头恢复",勾选状态与表头一致。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-HLD-001,基础设置 · 厂商管理,供应商节假日管理 · 左右分栏,选中左侧节假日展示详情,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;左侧有数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击左侧首行
3. 断言默认假日详情或自定义列表区可见",详情联动成功。,
3. 断言默认假日详情或自定义列表区可见",详情联动成功。,
VENDOR-HLD-002,基础设置 · 厂商管理,供应商节假日管理 · 左右分栏,左侧搜索无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 左侧搜索框填 mock 并回车
3. 断言左侧列表空态",无匹配空态明确。,
3. 断言左侧列表空态",无匹配空态明确。,
VENDOR-HLD-003,基础设置 · 厂商管理,供应商节假日管理 · 维护,点击左侧新增弹出新增弹框,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击左侧「新增」
3. 断言新增弹框或表单层可见
4. 取消或关闭不保存",新增弹框正常弹出。,
4. 取消或关闭不保存",新增弹框正常弹出。,
VENDOR-HLD-004,基础设置 · 厂商管理,供应商节假日管理 · 维护,选中首行点击编辑弹出编辑弹框,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 选中左侧节假日设置列表首行
3. 点击该行「编辑」
4. 断言编辑弹框或表单层可见
5. 取消或关闭不保存",编辑弹框正常弹出。,
5. 取消或关闭不保存",编辑弹框正常弹出。,
VENDOR-HLD-005,基础设置 · 厂商管理,供应商节假日管理 · 左右分栏,首行名称或年度搜索验证,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 选中左侧节假日设置列表首行
3. 读取首行「名称」或「年度」作为关键字
4. 在左侧搜索框输入关键字并查询
5. 断言左侧列表结果行匹配该关键字",按首行名称或年度搜索成功。,
5. 断言左侧列表结果行匹配该关键字",按首行名称或年度搜索成功。,
VENDOR-HLD-006,基础设置 · 厂商管理,供应商节假日管理 · 左右分栏,切换列表行右侧详情名称年度一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击左侧节假日设置列表首行,断言右侧默认假日详情可见
3. 切换选中另一行(与首行名称或年度不同)
4. 分别断言右侧详情「名称」「年度」与当前选中行一致",切换行后右侧详情与选中行名称、年度一致。,
4. 分别断言右侧详情「名称」「年度」与当前选中行一致",切换行后右侧详情与选中行名称、年度一致。,
VENDOR-HLD-007,基础设置 · 厂商管理,供应商节假日管理 · 维护,默认假日详情区点击右侧新增弹出弹框,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 选中左侧首行,断言右侧默认假日详情可见
3. 点击右侧「新增」(供应商自定义节假日列表工具栏)
4. 断言新增弹框或表单层可见
5. 取消或关闭不保存",右侧新增弹框正常弹出。,
5. 取消或关闭不保存",右侧新增弹框正常弹出。,
VENDOR-HLD-008,基础设置 · 厂商管理,供应商节假日管理 · 列设置,右侧自定义列表打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 选中左侧首行,断言右侧默认假日详情可见
3. 点击右侧供应商自定义列表工具栏列设置(setting 齿轮,非 column-height 密度)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
5. 关闭面板",列设置面板可正常打开与关闭。,
......@@ -40,8 +40,9 @@ VENDOR-QUL-009,基础设置 · 厂商管理,供应商资质管理 · 查看,首
VENDOR-QUL-010,基础设置 · 厂商管理,供应商资质管理 · 授权链路效期预警,首行选中授权书名称、授权单位、被授权单位组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权链路效期预警 Tab;首行三项非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「授权链路效期预警」Tab 并点击「查 询」
3. 点选列表首行
4. 取首行「授权书名称」「授权单位」「被授权单位」写入筛选并「查 询」
5. 断言结果行与三项条件一致",组合查询命中;分页与结果一致。,
4. 点击首行「查看」,在详情取「授权书名称」「授权单位」「被授权单位」(授权链路首级)后关闭详情
5. 将三项写入筛选并「查 询」
6. 断言结果行与三项条件一致",组合查询命中;分页与结果一致。,
VENDOR-QUL-011,基础设置 · 厂商管理,供应商资质管理 · 授权链路效期预警,填写销售商(自定义)名称后重置清空条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权链路效期预警 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并填写销售商(自定义)名称
3. 点击重置
......@@ -75,12 +76,12 @@ VENDOR-QUL-018,基础设置 · 厂商管理,供应商资质管理 · 供应商
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-019,基础设置 · 厂商管理,供应商资质管理 · 查看,供应商三证·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-044,基础设置 · 厂商管理,供应商资质管理 · 供应商三证,列表子 Tab 全部/未过期/已过期/已缺失可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
3. 读取详情左上角标题作为销售商(自定义),与列表首行核对
4. 关闭详情",详情可打开;标题销售商(自定义)与列表一致。,
VENDOR-QUL-042,基础设置 · 厂商管理,供应商资质管理 · 供应商三证,列表子 Tab 全部/未过期/已过期/已缺失可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/未过期/已过期/已缺失)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-045,基础设置 · 厂商管理,供应商资质管理 · 供应商三证,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-043,基础设置 · 厂商管理,供应商资质管理 · 供应商三证,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-020,基础设置 · 厂商管理,供应商资质管理 · 器械注册人,首行五项组合查询(器械注册人、状态、全国总代理及展开区类别、销售商(自定义)名称),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;首行五项样本非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
......@@ -97,20 +98,20 @@ VENDOR-QUL-022,基础设置 · 厂商管理,供应商资质管理 · 器械注
2. 查询并点选首行
3. 点击导出
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-023,基础设置 · 厂商管理,供应商资质管理 · 查看,器械注册人·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-023,基础设置 · 厂商管理,供应商资质管理 · 查看,器械注册人·首行查看详情注册人名称与列表器械注册人一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-046,基础设置 · 厂商管理,供应商资质管理 · 器械注册人,列表子 Tab 全部/已维护/未维护可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
3. 读取详情「注册人名称」,与列表首行「器械注册人」核对
4. 关闭详情",详情可打开;注册人名称与列表器械注册人一致。,
VENDOR-QUL-044,基础设置 · 厂商管理,供应商资质管理 · 器械注册人,列表子 Tab 全部/已维护/未维护可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/已维护/未维护)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-047,基础设置 · 厂商管理,供应商资质管理 · 器械注册人,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-045,基础设置 · 厂商管理,供应商资质管理 · 器械注册人,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-024,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号,首行八项组合查询(器械注册人、销售商(自定义)名称、状态及展开区注册证号等五项),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;首行八项样本非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换 Tab 并查询
3. 点选首行
4. 填写器械注册人、销售商(自定义)名称、状态
4. 取列表「器械注册人」「销售商(自定义)」填筛选「器械注册人」「销售商(自定义)名称」及「状态」
5. 点击展开并填写注册证号、是否有附件、注册产品名称、是否新证、产品名称
6. 断言结果与八项条件一致",组合查询命中;分页与结果一致。,
VENDOR-QUL-025,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号,填写销售商(自定义)名称后重置清空条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
......@@ -121,14 +122,14 @@ VENDOR-QUL-026,基础设置 · 厂商管理,供应商资质管理 · 器械注
2. 查询并点选首行
3. 点击导出
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-027,基础设置 · 厂商管理,供应商资质管理 · 查看,器械注册证号·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-027,基础设置 · 厂商管理,供应商资质管理 · 查看,器械注册证号·首行查看详情注册人名称与列表器械注册人一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-048,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
3. 读取详情「注册人名称」,与列表首行「器械注册人」核对
4. 关闭详情",详情可打开;注册人名称与列表器械注册人一致。,
VENDOR-QUL-046,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/未过期/已过期)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-049,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-047,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-028,基础设置 · 厂商管理,供应商资质管理 · 授权书,首行选中器械注册人、销售商(自定义)名称、状态及展开区授权书名称、注册证号、被授权单位组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;首行六项样本非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
......@@ -145,14 +146,14 @@ VENDOR-QUL-030,基础设置 · 厂商管理,供应商资质管理 · 授权书,
2. 查询并点选首行
3. 点击导出
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-031,基础设置 · 厂商管理,供应商资质管理 · 查看,授权书·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-031,基础设置 · 厂商管理,供应商资质管理 · 查看,授权书·首行查看详情注册人名称与列表器械注册人一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-050,基础设置 · 厂商管理,供应商资质管理 · 授权书,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
3. 读取详情「注册人名称」,与列表首行「器械注册人」核对
4. 关闭详情",详情可打开;注册人名称与列表器械注册人一致。,
VENDOR-QUL-048,基础设置 · 厂商管理,供应商资质管理 · 授权书,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/未过期/已过期)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-051,基础设置 · 厂商管理,供应商资质管理 · 授权书,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-049,基础设置 · 厂商管理,供应商资质管理 · 授权书,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-032,基础设置 · 厂商管理,供应商资质管理 · 承诺书,首行选中销售商(自定义)名称、承诺类型、状态组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;首行承诺类型、状态非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
......@@ -168,145 +169,137 @@ VENDOR-QUL-034,基础设置 · 厂商管理,供应商资质管理 · 承诺书,
2. 查询并点选首行
3. 点击导出
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-035,基础设置 · 厂商管理,供应商资质管理 · 查看,承诺书·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-052,基础设置 · 厂商管理,供应商资质管理 · 承诺书,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-050,基础设置 · 厂商管理,供应商资质管理 · 承诺书,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/未过期/已过期)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-053,基础设置 · 厂商管理,供应商资质管理 · 承诺书,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-051,基础设置 · 厂商管理,供应商资质管理 · 承诺书,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-036,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,首行选中销售商(自定义)名称、业务员、状态组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;首行业务员、状态非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-035,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,首行选中销售商(自定义)名称、业务员、状态组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;首行业务员、状态非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换 Tab 并查询
3. 点选首行
4. 取销售商(自定义)名称、业务员、状态组合查询
5. 断言结果与三项条件一致",组合查询命中;分页与结果一致。,
VENDOR-QUL-037,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,填写销售商(自定义)名称后重置清空条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-036,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,填写销售商(自定义)名称后重置清空条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并填写销售商(自定义)名称
3. 点击重置
4. 断言输入框为空",重置后销售商(自定义)名称条件被清空。,
VENDOR-QUL-038,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,查询后导出无报错,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-037,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,查询后导出无报错,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 查询并点选首行
3. 点击导出
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-039,基础设置 · 厂商管理,供应商资质管理 · 查看,法人委托书·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-054,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-052,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/未过期/已过期)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-055,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-053,基础设置 · 厂商管理,供应商资质管理 · 法人委托书,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-040,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,首行选中销售商(自定义)名称、供应商名称、数据来源类型组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;首行三项非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-038,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,首行选中销售商(自定义)名称、供应商名称、数据来源类型组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;首行三项非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换 Tab 并查询
3. 点选首行
4. 取销售商(自定义)名称、供应商名称、数据来源类型组合查询
5. 断言结果与三项条件一致",组合查询命中;分页与结果一致。,
VENDOR-QUL-041,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,填写销售商(自定义)名称后重置清空条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-039,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,填写销售商(自定义)名称后重置清空条件,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并填写销售商(自定义)名称
3. 点击重置
4. 断言输入框为空",重置后销售商(自定义)名称条件被清空。,
VENDOR-QUL-042,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,查询后导出无报错,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-040,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,查询后导出无报错,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 查询并点选首行
3. 点击导出
4. 断言无业务错误",导出入口可用且无报错。,
VENDOR-QUL-043,基础设置 · 厂商管理,供应商资质管理 · 查看,二级供应商三证·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-041,基础设置 · 厂商管理,供应商资质管理 · 查看,二级供应商三证·首行查看详情销售商(自定义)与列表一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表至少 1 行含查看,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行并点击查看
3. 断言详情销售商(自定义)与列表一致
4. 关闭详情",详情可打开;销售商(自定义)与列表一致。,
VENDOR-QUL-056,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-054,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,列表子 Tab 全部/未过期/已过期可切换,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次切换列表子 Tab(全部/未过期/已过期)
3. 断言列表有数据或空态",列表子 Tab 均可切换且列表正常。,
VENDOR-QUL-057,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-055,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证,列表子 Tab 计数与列表总数一致,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;子 Tab 标签可读计数,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换列表子 Tab
3. Tab 计数等于分页共 N 条(可读时)",Tab 计数与分页总数一致(可读时)。,
VENDOR-QUL-058,基础设置 · 厂商管理,供应商资质管理 · 授权链路效期预警 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权链路效期预警 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-056,基础设置 · 厂商管理,供应商资质管理 · 授权链路效期预警 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权链路效期预警 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「授权链路效期预警」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-059,基础设置 · 厂商管理,供应商资质管理 · 授权链路效期预警 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权链路效期预警 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-057,基础设置 · 厂商管理,供应商资质管理 · 授权链路效期预警 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权链路效期预警 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「授权链路效期预警」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-060,基础设置 · 厂商管理,供应商资质管理 · 供应商三证 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-058,基础设置 · 厂商管理,供应商资质管理 · 供应商三证 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「供应商三证」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-061,基础设置 · 厂商管理,供应商资质管理 · 供应商三证 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-059,基础设置 · 厂商管理,供应商资质管理 · 供应商三证 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);供应商三证 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「供应商三证」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-062,基础设置 · 厂商管理,供应商资质管理 · 器械注册人 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-060,基础设置 · 厂商管理,供应商资质管理 · 器械注册人 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「器械注册人」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-063,基础设置 · 厂商管理,供应商资质管理 · 器械注册人 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-061,基础设置 · 厂商管理,供应商资质管理 · 器械注册人 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册人 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「器械注册人」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-064,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-062,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「器械注册证号」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-065,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-063,基础设置 · 厂商管理,供应商资质管理 · 器械注册证号 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);器械注册证号 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「器械注册证号」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-066,基础设置 · 厂商管理,供应商资质管理 · 授权书 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-064,基础设置 · 厂商管理,供应商资质管理 · 授权书 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「授权书」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-067,基础设置 · 厂商管理,供应商资质管理 · 授权书 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-065,基础设置 · 厂商管理,供应商资质管理 · 授权书 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);授权书 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「授权书」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-068,基础设置 · 厂商管理,供应商资质管理 · 承诺书 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-066,基础设置 · 厂商管理,供应商资质管理 · 承诺书 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「承诺书」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-069,基础设置 · 厂商管理,供应商资质管理 · 承诺书 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-067,基础设置 · 厂商管理,供应商资质管理 · 承诺书 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);承诺书 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「承诺书」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-070,基础设置 · 厂商管理,供应商资质管理 · 法人委托书 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-068,基础设置 · 厂商管理,供应商资质管理 · 法人委托书 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「法人委托书」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-071,基础设置 · 厂商管理,供应商资质管理 · 法人委托书 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-069,基础设置 · 厂商管理,供应商资质管理 · 法人委托书 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);法人委托书 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「法人委托书」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
VENDOR-QUL-072,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-070,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「二级供应商三证」Tab 并点击「查 询」
3. 点击列表工具栏列设置(setting 齿轮)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QUL-073,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
VENDOR-QUL-071,基础设置 · 厂商管理,供应商资质管理 · 二级供应商三证 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);二级供应商三证 Tab;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「二级供应商三证」Tab 并点击「查 询」
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
......
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-QRY-001,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,切换经销商 Tab,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「经销商」
3. 断言 Tab 激活,列表有数据或空态明确",经销商列表加载成功;总数可与器械注册人不同。,
3. 断言 Tab 激活,列表有数据或空态明确",经销商列表加载成功;总数可与器械注册人不同。,
VENDOR-QRY-002,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,按厂商名称搜索,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);器械注册人至少 1 条且厂商名称非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 从首行读取 `${sampleMfrsName}` 取关键字
3. 在厂商名称搜索框填入关键字并回车
4. 断言结果行「厂商名称」包含关键字",厂商名称列与关键字匹配。,
4. 断言结果行「厂商名称」包含关键字",厂商名称列与关键字匹配。,
VENDOR-QRY-003,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,清空搜索恢复,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);已按厂商名称过滤,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 在已过滤状态下清空搜索框并回车
3. 断言分页总数不少于过滤后",恢复更宽结果集。,
3. 断言分页总数不少于过滤后",恢复更宽结果集。,
VENDOR-QRY-004,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 厂商名称填入 `__NOT_EXIST_MFRS__99999` 并回车
3. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
3. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-QRY-005,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);器械注册人总数足够翻页,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 总数足够时翻到第 2 页
3. 断言列表可加载;不足两页则 skip",第 2 页可加载。,
3. 断言列表可加载;不足两页则 skip",第 2 页可加载。,
VENDOR-QRY-006,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,经销商选首行验证厂商名称查询条件,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);经销商至少 1 条且厂商名称非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 切换至「经销商」Tab
3. 点选列表首行并断言行选中
4. 取首行厂商名称关键字写入「厂商名称」搜索并回车
5. 断言列表「厂商名称」列命中且搜索框已写入关键字",首行选中后按厂商名称条件查询结果正确。,
5. 断言列表「厂商名称」列命中且搜索框已写入关键字",首行选中后按厂商名称条件查询结果正确。,
VENDOR-QRY-007,基础设置 · 厂商管理,厂商查询 · Tab 与搜索,切换20条每页页面正常且列表同步,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);列表有数据且总条数大于 20(页面上可选 20/50/100/200 条/页),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 停留或切换「器械注册人」Tab
3. 分页区打开每页条数下拉,选择「20 条/页」
4. 断言分页器显示 20 条/页、当前页行数为 min(总条数,20)、「共 N 条」总条数不变",每页条数切换后列表与分页展示同步更新。,
4. 断言分页器显示 20 条/页、当前页行数为 min(总条数,20)、「共 N 条」总条数不变",每页条数切换后列表与分页展示同步更新。,
VENDOR-QRY-008,基础设置 · 厂商管理,厂商查询 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击列表工具栏列设置(setting 齿轮,非 column-height 密度)
3. 断言弹出列设置面板,含字段设置/列展示与「重置」
4. 关闭面板",列设置面板可正常打开与关闭。,
4. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-QRY-009,基础设置 · 厂商管理,厂商查询 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);存在可隐藏的非核心列(如简称),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 打开列设置,取消勾选一列非核心字段并关闭
3. 断言表头该列隐藏
4. 再次打开列设置,勾选恢复并关闭
5. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
5. 断言表头该列恢复显示",列隐藏与恢复与勾选状态一致。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-AF1-001,基础设置 · 厂商管理,授权变更初审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);进页「状态」筛选默认值为「通过」(本用例保留进页默认以验证重置),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 确认「状态」筛选默认值为「通过」
3. 填写其它筛选项后点击「重 置」
VENDOR-AF1-001,基础设置 · 厂商管理,授权变更初审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页;状态筛选默认值为「通过」,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 确认「状态」筛选默认值为「通过」
3. 填写其它筛选项后点击「重 置」
4. 断言文本条件清空、「状态」恢复为「通过」、列表按默认规则刷新",重置成功;状态仍为「通过」。,
VENDOR-AF1-002,基础设置 · 厂商管理,授权变更初审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
VENDOR-AF1-002,基础设置 · 厂商管理,授权变更初审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);已进入授权变更初审页;状态筛选默认值为「通过」,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 确认「状态」筛选默认值为「通过」
3. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
4. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-AF1-003,基础设置 · 厂商管理,授权变更初审 · 列设置,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);右侧列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 打开列设置,取消勾选一列非核心列后确认表头隐藏
4. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
VENDOR-AF1-004,基础设置 · 厂商管理,授权变更初审 · 筛选与列表,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);页面具备展开/收起按钮,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值
3. 点击展开/收起切换筛选区
4. 断言收起区字段隐藏、展开后可见,且收起后再展开保留已填单号",筛选区展开收起正常且条件不丢失。,
VENDOR-AF1-005,基础设置 · 厂商管理,授权变更初审 · 详情,点击详情进入详情页后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击行内「详 情」
4. 断言详情层可见且含单号片段
5. 返回/关闭且不提交审批",详情只读可返回;列表状态不变。,
VENDOR-AF1-006,基础设置 · 厂商管理,授权变更初审 · 组合查询,首行九项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表至少有 1 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点选首行
4. 用首行制单日期、单号、筛选项「销售商(自定义)」(列「销售商(自定义)名称」)、预转供应商、状态、变更类型、原供应商、医院ID、医院名称填入筛选并查询
5. 断言结果行单号与首行一致",组合查询结果与首行关键字段匹配。,
VENDOR-AF1-003,基础设置 · 厂商管理,授权变更初审 · 列设置,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);已进入授权变更初审页;状态筛选默认值为「通过」;列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 打开列设置,取消勾选一列非核心列后确认表头隐藏
3. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
VENDOR-AF1-004,基础设置 · 厂商管理,授权变更初审 · 筛选与列表,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);已进入授权变更初审页;状态筛选默认值为「通过」;页面具备展开/收起按钮,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击展开/收起切换筛选区
3. 断言收起区字段隐藏、展开后可见,且收起后再展开保留已填单号",筛选区展开收起正常且条件不丢失。,
VENDOR-AF1-005,基础设置 · 厂商管理,授权变更初审 · 详情,点击详情进入详情页后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);已进入授权变更初审页;状态默认「通过」;存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击行内「详 情」
3. 断言详情层可见且含单号片段
4. 返回/关闭且不提交审批",详情只读可返回;列表状态不变。,
VENDOR-AF1-006,基础设置 · 厂商管理,授权变更初审 · 组合查询,首行九项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);已进入授权变更初审页;状态默认「通过」;列表至少有 1 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点选首行
3. 用首行制单日期、单号、筛选项「销售商(自定义)」(列「销售商(自定义)名称」)、预转供应商、状态、变更类型、原供应商、医院ID、医院名称填入筛选并查询
4. 断言结果行单号与首行一致",组合查询结果与首行关键字段匹配。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-AF2-001,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);保留进页默认查询条件(本用例验证重置恢复默认),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 填写筛选项后点击「重 置」
VENDOR-AF2-001,基础设置 · 厂商管理,授权变更终审 · 页面进入,菜单进入授权变更终审页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已登录且具备厂商管理权限,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按菜单「基础设置 → 厂商管理 → 授权变更终审」进入
3. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/authAuditFinal`
4. 断言可见「查 询」「重 置」及制单日期筛选",进入授权变更终审页;不误入其它变更审批菜单。,
VENDOR-AF2-002,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 断言出现数据行或空态明确",查询无报错;有数据时分页 N≥1。,
VENDOR-AF2-003,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,按单号筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);列表至少 1 条且单号非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 从首行读取 `${sampleOrderNo}` 取关键字
3. 单号填入关键字并「查 询」
4. 断言结果行「单号」包含关键字",单号列与条件一致。,
VENDOR-AF2-004,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,按进院供应商筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按样本填写或选择「进院供应商」并查询
3. 断言结果列与条件匹配",筛选条件生效。,
VENDOR-AF2-005,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 填写筛选项后点击「重 置」
3. 断言文本条件清空、列表按默认规则刷新",重置成功。,
VENDOR-AF2-002,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);已先清空查询条件默认值(含制单日期区间、下拉默认项等),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
4. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-AF2-003,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页;已先清空查询条件默认值(含制单日期区间、下拉默认项等);页面具备展开/收起按钮,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值
3. 点击展开/收起切换筛选区
4. 断言收起区字段隐藏、展开后可见,且收起后再展开保留已填单号",筛选区展开收起正常且条件不丢失。,
VENDOR-AF2-004,基础设置 · 厂商管理,授权变更终审 · 列设置,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页;已先清空查询条件默认值(含制单日期区间、下拉默认项等);右侧列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 打开列设置,取消勾选一列非核心列后确认表头隐藏
4. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
VENDOR-AF2-005,基础设置 · 厂商管理,授权变更终审 · 详情,点击详情进入详情页后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页;已先清空查询条件默认值(含制单日期区间、下拉默认项等);列表存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击行内「详 情」
4. 断言详情层可见且含单号片段
5. 返回/关闭且不提交审批",详情只读可返回;列表状态不变。,
VENDOR-AF2-006,基础设置 · 厂商管理,授权变更终审 · 组合查询,首行七项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页;已先清空查询条件默认值(含制单日期区间、下拉默认项等);列表至少有 1 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点选首行
4. 用首行制单日期、单号、筛选项「销售商(自定义)」(列「销售商(自定义)名称」)、预转供应商、状态、变更类型、原供应商填入筛选并查询
5. 断言结果行单号与首行一致",组合查询结果与首行关键字段匹配。,
VENDOR-AF2-007,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页;已先清空查询条件默认值(含制单日期区间、下拉默认项等);列表总条数足够翻页,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 总数足够时翻到第 2 页
4. 断言当前页为 2 且列表有数据;不足两页则 skip",第 2 页可加载。,
VENDOR-AF2-008,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,切换20条每页页面正常且列表同步,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页;已先清空查询条件默认值(含制单日期区间、下拉默认项等);列表有数据且总条数大于 20,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 分页区打开每页条数下拉,选择「20 条/页」
4. 断言分页器显示 20 条/页、当前页行数为 min(总条数,20)、总条数不变",每页条数切换后列表与分页展示同步更新。,
VENDOR-AF2-006,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
3. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-AF2-007,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、原供应商、预转供应商、操作
3. 断言存在「详情」操作",核心列与详情入口可见。,
VENDOR-AF2-008,基础设置 · 厂商管理,授权变更终审 · 详情,打开详情后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击行内「详 情」
3. 断言详情层可见且含单号片段
4. 返回/关闭,不提交审批",详情只读可返回;列表状态不变。,
VENDOR-AF2-009,基础设置 · 厂商管理,授权变更终审 · 筛选与列表,制单日期起止同一天,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 制单日期起止选同一天并查询
3. 断言仅返回该日单据或空态明确",同日区间行为明确。,
VENDOR-AF2-010,基础设置 · 厂商管理,授权变更终审 · 详情,与初审单据衔接不串单,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 记录本页某单号后切换到对应初审菜单
3. 断言同业务单据状态流转合理、不串到非本业务菜单",初审/终审衔接正确。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-CF1-001,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);进页筛选保留默认值(含「状态」=通过、制单日期区间等,本用例验证重置恢复默认),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 确认「状态」筛选默认值为「通过」
3. 填写其它筛选项后点击「重 置」
4. 断言文本条件清空、「状态」恢复为「通过」、列表按默认规则刷新",重置成功;状态仍为「通过」。,
VENDOR-CF1-002,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
4. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-CF1-003,基础设置 · 厂商管理,注册证变更初审 · 列设置,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 打开列设置,取消勾选一列非核心列后确认表头隐藏
4. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
VENDOR-CF1-004,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);页面具备展开/收起按钮,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值
3. 点击展开/收起切换筛选区
4. 断言收起区字段隐藏、展开后可见,且收起后再展开保留已填单号",筛选区展开收起正常且条件不丢失。,
VENDOR-CF1-005,基础设置 · 厂商管理,注册证变更初审 · 详情,点击详情进入详情页后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击行内「详 情」
4. 断言详情层可见且含单号片段
5. 返回/关闭且不提交审批",详情只读可返回;列表状态不变。,
VENDOR-CF1-006,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表总条数足够翻页,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击分页页码 2(或下一页)
4. 断言当前页为第 2 页且本页有数据",第 2 页展示正常;数据不足时 skip。,
VENDOR-CF1-007,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,切换20条每页页面正常且列表同步,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表有数据且总条数大于 20,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 分页区打开每页条数下拉,选择「20 条/页」
4. 断言分页器显示 20 条/页、当前页行数为 min(总条数,20)、总条数不变",每页条数切换后列表与分页展示同步更新。,
VENDOR-CF1-008,基础设置 · 厂商管理,注册证变更初审 · 组合查询,首行六项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表至少有 1 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点选首行
4. 用首行制单日期、单号、变更类型、注册证号(新)、状态、变更情况具体说明填入筛选并查询
5. 断言结果行单号与首行一致",组合查询结果与首行关键字段匹配。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-CF1-001,基础设置 · 厂商管理,注册证变更初审 · 页面进入,菜单进入注册证变更初审页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已登录且具备厂商管理权限,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按菜单「基础设置 → 厂商管理 → 注册证变更初审」进入
3. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/regCertAudit`
4. 断言可见「查 询」「重 置」及制单日期筛选",进入注册证变更初审页;不误入其它变更审批菜单。,
VENDOR-CF1-002,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 断言出现数据行或空态明确",查询无报错;有数据时分页 N≥1。,
VENDOR-CF1-003,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,按单号筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);列表至少 1 条且单号非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 从首行读取 `${sampleOrderNo}` 取关键字
3. 单号填入关键字并「查 询」
4. 断言结果行「单号」包含关键字",单号列与条件一致。,
VENDOR-CF1-004,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,按注册证号(新)筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按样本填写或选择「注册证号(新)」并查询
3. 断言结果列与条件匹配",筛选条件生效。,
VENDOR-CF1-005,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 填写筛选项后点击「重 置」
3. 断言文本条件清空、列表按默认规则刷新",重置成功。,
VENDOR-CF1-006,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
3. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-CF1-007,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、注册证号(新)、操作
3. 断言存在「详情」操作",核心列与详情入口可见。,
VENDOR-CF1-008,基础设置 · 厂商管理,注册证变更初审 · 详情,打开详情后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击行内「详 情」
3. 断言详情层可见且含单号片段
4. 返回/关闭,不提交审批",详情只读可返回;列表状态不变。,
VENDOR-CF1-009,基础设置 · 厂商管理,注册证变更初审 · 筛选与列表,制单日期起止同一天,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 制单日期起止选同一天并查询
3. 断言仅返回该日单据或空态明确",同日区间行为明确。,
VENDOR-CF1-010,基础设置 · 厂商管理,注册证变更初审 · 详情,与终审单据衔接不串单,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 记录本页某单号后切换到对应终审菜单
3. 断言同业务单据状态流转合理、不串到非本业务菜单",初审/终审衔接正确。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-CF2-001,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);进页筛选保留默认值(含「状态」=通过、制单日期区间等,本用例验证重置恢复默认),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 确认「状态」筛选默认值为「通过」
3. 填写其它筛选项后点击「重 置」
4. 断言文本条件清空、「状态」恢复为「通过」、列表按默认规则刷新",重置成功;状态仍为「通过」。,
VENDOR-CF2-002,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
4. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-CF2-003,基础设置 · 厂商管理,注册证变更终审 · 列设置,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 打开列设置,取消勾选一列非核心列后确认表头隐藏
4. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
VENDOR-CF2-004,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);页面具备展开/收起按钮,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值
3. 点击展开/收起切换筛选区
4. 断言收起区字段隐藏、展开后可见,且收起后再展开保留已填单号",筛选区展开收起正常且条件不丢失。,
VENDOR-CF2-005,基础设置 · 厂商管理,注册证变更终审 · 详情,点击详情进入详情页后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击行内「详 情」
4. 断言详情层可见且含单号片段
5. 返回/关闭且不提交审批",详情只读可返回;列表状态不变。,
VENDOR-CF2-006,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表总条数足够翻页,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击分页页码 2(或下一页)
4. 断言当前页为第 2 页且本页有数据",第 2 页展示正常;数据不足时 skip。,
VENDOR-CF2-007,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,切换20条每页页面正常且列表同步,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表有数据且总条数大于 20,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 分页区打开每页条数下拉,选择「20 条/页」
4. 断言分页器显示 20 条/页、当前页行数为 min(总条数,20)、总条数不变",每页条数切换后列表与分页展示同步更新。,
VENDOR-CF2-008,基础设置 · 厂商管理,注册证变更终审 · 组合查询,首行六项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表至少有 1 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点选首行
4. 用首行制单日期、单号、变更类型、注册证号(新)、状态、变更情况具体说明填入筛选并查询
5. 断言结果行单号与首行一致",组合查询结果与首行关键字段匹配。,
VENDOR-CF2-001,基础设置 · 厂商管理,注册证变更终审 · 页面进入,菜单进入注册证变更终审页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已登录且具备厂商管理权限,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按菜单「基础设置 → 厂商管理 → 注册证变更终审」进入
3. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal`
4. 断言可见「查 询」「重 置」及制单日期筛选",进入注册证变更终审页;不误入其它变更审批菜单。,
VENDOR-CF2-002,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 断言出现数据行或空态明确",查询无报错;有数据时分页 N≥1。,
VENDOR-CF2-003,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,按单号筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);列表至少 1 条且单号非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 从首行读取 `${sampleOrderNo}` 取关键字
3. 单号填入关键字并「查 询」
4. 断言结果行「单号」包含关键字",单号列与条件一致。,
VENDOR-CF2-004,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,按注册证号(新)筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按样本填写或选择「注册证号(新)」并查询
3. 断言结果列与条件匹配",筛选条件生效。,
VENDOR-CF2-005,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 填写筛选项后点击「重 置」
3. 断言文本条件清空、列表按默认规则刷新",重置成功。,
VENDOR-CF2-006,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
3. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-CF2-007,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、注册证号(新)、操作
3. 断言存在「详情」操作",核心列与详情入口可见。,
VENDOR-CF2-008,基础设置 · 厂商管理,注册证变更终审 · 详情,打开详情后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击行内「详 情」
3. 断言详情层可见且含单号片段
4. 返回/关闭,不提交审批",详情只读可返回;列表状态不变。,
VENDOR-CF2-009,基础设置 · 厂商管理,注册证变更终审 · 筛选与列表,制单日期起止同一天,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 制单日期起止选同一天并查询
3. 断言仅返回该日单据或空态明确",同日区间行为明确。,
VENDOR-CF2-010,基础设置 · 厂商管理,注册证变更终审 · 详情,与初审单据衔接不串单,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 记录本页某单号后切换到对应初审菜单
3. 断言同业务单据状态流转合理、不串到非本业务菜单",初审/终审衔接正确。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-CDF-001,基础设置 · 厂商管理,注册证差异对比 · 筛选与列表,重置恢复默认,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,主区可能在 iframe);进页筛选保留默认值(含「状态」=通过、制单日期区间等,本用例验证重置恢复默认),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 确认「状态」筛选默认值为「通过」
3. 填写其它筛选项后点击「重 置」
4. 断言文本条件清空、「状态」恢复为「通过」、列表按默认规则刷新",重置成功;状态仍为「通过」。,
VENDOR-CDF-002,基础设置 · 厂商管理,注册证差异对比 · 筛选与列表,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,主区可能在 iframe);已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 物料名称填入 `__NOT_EXIST_ORDER__99999` 并查询
4. 断言空态且分页总数为 0",无匹配时不报错;总数为 0。,
VENDOR-CDF-003,基础设置 · 厂商管理,注册证差异对比 · 列设置,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 打开列设置,取消勾选一列非核心列后确认表头隐藏
4. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
VENDOR-CDF-004,基础设置 · 厂商管理,注册证差异对比 · 筛选与列表,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);页面具备展开/收起按钮,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值
3. 点击展开/收起切换筛选区
4. 断言收起区字段隐藏、展开后可见,且收起后再展开保留已填物料名称",筛选区展开收起正常且条件不丢失。,
VENDOR-CDF-005,基础设置 · 厂商管理,注册证差异对比 · 详情,点击详情进入详情页后返回,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表存在含「详情」的行,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击行内「详 情」
4. 断言详情层可见且含单号片段
5. 返回/关闭且不提交审批",详情只读可返回;列表状态不变。,
VENDOR-CDF-006,基础设置 · 厂商管理,注册证差异对比 · 筛选与列表,分页翻至第 2 页,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表总条数足够翻页,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点击分页页码 2(或下一页)
4. 断言当前页为第 2 页且本页有数据",第 2 页展示正常;数据不足时 skip。,
VENDOR-CDF-007,基础设置 · 厂商管理,注册证差异对比 · 筛选与列表,切换20条每页页面正常且列表同步,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表有数据且总条数大于 20,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 分页区打开每页条数下拉,选择「20 条/页」
4. 断言分页器显示 20 条/页、当前页行数为 min(总条数,20)、总条数不变",每页条数切换后列表与分页展示同步更新。,
VENDOR-CDF-008,基础设置 · 厂商管理,注册证差异对比 · 组合查询,首行八项组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页;已先清空查询条件默认值(含进页「状态」=通过、制单日期区间及其它默认筛选项);列表至少有 1 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 先清空查询条件默认值并点击「查 询」
3. 点选首行
4. 用首行物料名称、规格型号、状态、望海注册证号、是否医疗器械、生产厂家、FLI+注册证号、27位医保编码填入筛选并查询
5. 断言结果行物料名称与首行一致",组合查询结果与首行关键字段匹配。,
\ No newline at end of file
VENDOR-CDF-001,基础设置 · 厂商管理,注册证差异对比 · 页面进入,菜单进入注册证差异对比页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已登录且具备厂商管理权限,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按菜单「基础设置 → 厂商管理 → 注册证差异对比」进入
3. 断言 URL 含 `certCompare`
4. 断言外壳或 iframe 内可见物料名称/全部/一致/不一致等主区",进入差异对比页;iframe 或主区加载成功。,
VENDOR-CDF-002,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,默认查询列表有数据或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 在对比页执行查询(若有查询按钮)
3. 断言列表有数据或空态明确",查询无报错。,
VENDOR-CDF-003,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,切换不一致 Tab,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「不一致」
3. 断言列表稳定",不一致 Tab 切换成功。,
VENDOR-CDF-004,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,切换一致 Tab,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「一致」
3. 断言列表稳定",一致 Tab 切换成功。,
VENDOR-CDF-005,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,按物料名称筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe);对比列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 从首行读取 `${sampleMaterialName}` 取关键字
3. 物料名称填入并查询
4. 断言结果行物料名称包含关键字",物料名称匹配。,
VENDOR-CDF-006,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 物料名称填 mock 关键字并查询
3. 断言空态或总数为 0",无匹配时不报错。,
VENDOR-CDF-007,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,列表核心列完整,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 断言表头含物料编号/物料名称/规格型号/生产厂家等关键列",核心对比列可见。,
VENDOR-CDF-008,基础设置 · 厂商管理,注册证差异对比 · 导出,导出按钮可见,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 断言「导出」按钮可见(不确认下载)",导出入口可见。,
VENDOR-CDF-009,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,仅空格物料名称搜索,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 物料名称仅填空格并查询
3. 断言按空查询处理或提示,不白屏",空格关键字不导致页面异常。,
VENDOR-CDF-010,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,一致行两侧字段抽样一致,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 在「一致」Tab 抽样一行
3. 核对望海与 FLI+ 注册证号/效期关键字段一致",标记一致的行两侧关键字段抽样相同。,
VENDOR-CDF-011,基础设置 · 厂商管理,注册证差异对比 · 筛选与对比,不一致行至少一侧差异,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 在「不一致」Tab 抽样一行
3. 断言望海与 FLI+ 至少一处字段不同",不一致结论与字段差异相符。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-EVI-001,基础设置 · 厂商管理,评价指标维护 · 树与列表,点击左侧分类可正常展开,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);左侧存在至少一个收起状态的分类节点,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 在左侧指标分类树中点击收起状态分类的展开图标
VENDOR-EVI-001,基础设置 · 厂商管理,评价指标维护 · 树与列表,点击左侧分类可正常展开,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页;左侧存在至少一个收起状态的分类节点,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 在左侧指标分类树中点击收起状态分类的展开图标
3. 断言该分类处于展开态且子级分类可见",分类树节点可正常展开,子级分类展示正确。,
VENDOR-EVI-002,基础设置 · 厂商管理,评价指标维护 · 树与列表,切换左侧不同分类右侧内容同步变化,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);左侧至少两个可选分类且存在切换后右侧展示不同的分类对,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次点击左侧两个不同分类节点
VENDOR-EVI-002,基础设置 · 厂商管理,评价指标维护 · 树与列表,切换左侧不同分类右侧内容同步变化,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);已进入评价指标维护页;左侧至少两个可选分类且存在切换后右侧展示不同的分类对,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次点击左侧两个不同分类节点
3. 断言右侧指标列表或空态随分类切换而更新,且与上一分类展示不一致",切换分类后右侧内容区与所选分类一致并同步刷新。,
VENDOR-EVI-003,基础设置 · 厂商管理,评价指标维护 · 树与列表,选中左侧分类首行同步分类名称查询条件,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);左侧分类树存在首行可选节点,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击左侧指标分类树首行分类节点
VENDOR-EVI-003,基础设置 · 厂商管理,评价指标维护 · 树与列表,选中左侧分类首行同步分类名称查询条件,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);已进入评价指标维护页;左侧分类树存在首行可选节点,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击左侧指标分类树首行分类节点
3. 读取并断言「分类名称」查询框取值与所选分类名称一致",分类名称查询条件与所选分类同步展示。,
VENDOR-EVI-004,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,指标编号指标名称状态列可排序,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页;已选中左侧「指标一级分类」且右侧列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次对指标编号、指标名称、状态列触发升序/降序
VENDOR-EVI-004,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,指标编号指标名称状态列可排序,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);已选中左侧「指标一级分类」且右侧列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 依次对指标编号、指标名称、状态列触发升序/降序
3. 断言各列排序指示器切换正常且列表仍有数据",三列均可正常排序且无报错。,
VENDOR-EVI-005,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,首行指标编码与指标名称组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已选中「指标一级分类」且右侧列表有数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 读取首行指标编号/编码与指标名称填入筛选并查询
VENDOR-EVI-005,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,首行指标编码与指标名称组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);已选中「指标一级分类」且右侧列表有数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 读取首行指标编号/编码与指标名称填入筛选并查询
3. 断言结果行与首行取值匹配",组合查询结果与首行指标编码、指标名称一致。,
VENDOR-EVI-006,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,重置清空指标编码与指标名称筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已选中「指标一级分类」且右侧列表有数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 填写指标编码、指标名称后点击重置
VENDOR-EVI-006,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,重置清空指标编码与指标名称筛选,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);已选中「指标一级分类」且右侧列表有数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 填写指标编码、指标名称后点击重置
3. 断言两项筛选框已清空",重置后筛选条件恢复为空。,
VENDOR-EVI-007,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已选中「指标一级分类」且右侧列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 打开列设置,取消勾选一列非核心列后确认表头隐藏
VENDOR-EVI-007,基础设置 · 厂商管理,评价指标维护 · 指标一级分类右侧列表,列设置取消勾选后再勾选列表列恢复,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);已选中「指标一级分类」且右侧列表已查询出数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 打开列设置,取消勾选一列非核心列后确认表头隐藏
3. 再次勾选该列后确认表头恢复",列设置 toggle 后列表列展示与勾选状态一致。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
VENDOR-EVS-001,基础设置 · 厂商管理,评价方案维护 · 筛选与维护,默认创建日期区间内首行四字段组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;创建日期默认为 2026-04-27 至 2026-10-27;该区间内列表至少 1 条且首行四字段非空,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 按菜单进入评价方案维护并断言 URL 含 `evaluationPlan`
3. 「创建日期」填入 2026-04-27 至 2026-10-27 并点击查询
4. 点选列表首行
5. 取首行创建日期、启用日期、方案编码、方案名称写入对应筛选项并查询
6. 断言结果行方案编码、方案名称与首行一致",四字段组合查询生效且首行条件匹配。,
6. 断言结果行方案编码、方案名称与首行一致",四字段组合查询生效且首行条件匹配。,
VENDOR-EVS-002,基础设置 · 厂商管理,评价方案维护 · 列设置,打开列设置面板,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认为 2026-04-27 至 2026-10-27;列表表头已加载,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 点击列表工具栏列设置(setting 齿轮,非 column-height 密度)
4. 断言弹出列设置面板,含字段设置/列展示与「重置」
5. 关闭面板",列设置面板可正常打开与关闭。,
5. 关闭面板",列设置面板可正常打开与关闭。,
VENDOR-EVS-003,基础设置 · 厂商管理,评价方案维护 · 列设置,列设置取消勾选后再勾选列表列恢复,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认为 2026-04-27 至 2026-10-27;存在可隐藏的非核心列(如备注),"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 打开列设置,取消勾选一列非核心字段并关闭
4. 断言表头该列隐藏
5. 再次打开列设置,勾选恢复并关闭
6. 断言表头该列重新可见",列隐藏与恢复与勾选状态一致。,
6. 断言表头该列重新可见",列隐藏与恢复与勾选状态一致。,
VENDOR-EVS-014,基础设置 · 厂商管理,评价方案维护 · 筛选与维护,筛选区展开与收起正常使用,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);筛选区含展开/收起控件,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 点击「展开」,断言启用日期/方案编码/方案名称等扩展条件可见
3. 点击「收起」,断言扩展条件隐藏且「展开」按钮可见
3. 点击「收起」,断言扩展条件隐藏(含方案名称不可见)且「展开」按钮可见
4. 再次点击「展开」,断言扩展条件恢复可见
5. 填写方案编码后收起再展开,断言条件值保留",展开与收起切换正常;收起后再展开已填条件不丢失。,
5. 填写方案编码后收起再展开,断言条件值保留",展开与收起切换正常;收起后方案名称等扩展项不可见;收起后再展开已填条件不丢失。,
VENDOR-EVS-004,基础设置 · 厂商管理,评价方案维护 · 列表排序,方案编码列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「方案编码」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-005,基础设置 · 厂商管理,评价方案维护 · 列表排序,方案名称列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「方案名称」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-006,基础设置 · 厂商管理,评价方案维护 · 列表排序,创建人列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「创建人」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-007,基础设置 · 厂商管理,评价方案维护 · 列表排序,创建日期列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「创建日期」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-008,基础设置 · 厂商管理,评价方案维护 · 列表排序,启用人列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「启用人」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-009,基础设置 · 厂商管理,评价方案维护 · 列表排序,启用时间列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「启用时间」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-010,基础设置 · 厂商管理,评价方案维护 · 列表排序,停用人列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「停用人」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-011,基础设置 · 厂商管理,评价方案维护 · 列表排序,停用时间列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「停用时间」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-012,基础设置 · 厂商管理,评价方案维护 · 列表排序,状态列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「状态」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
VENDOR-EVS-013,基础设置 · 厂商管理,评价方案维护 · 列表排序,备注列升序降序切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);创建日期默认区间已查询;列表至少 2 条数据,"1. 确认 chromium 已加载 storageState(auth.setup),无需在用例内重复登录
2. 创建日期填入 2026-04-27 至 2026-10-27 并查询
3. 横向滚动使「备注」列表头可见
4. 第一次点击该列排序控件并校验升序指示器
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
5. 第二次点击并校验降序指示器",排序按钮可点击;升序与降序指示器分别激活;列表数据正常展示。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
WH-ZON-001,基础设置 · 库房管理,库区设置 · 页面进入,菜单进入库区设置页,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 按菜单「基础设置 → 库房管理 → 库区设置」进入,或 `openPath` 打开 `/spd/basic/storehouse/platform/storehouse/area`
3. 断言 URL 含 `/spd/basic/storehouse/platform/storehouse/area`
4. 断言左侧「库房信息」树、右侧库区列表、「新 增」与分页可见",进入库区设置页;不误入探针绑定;无报错遮罩。,
WH-ZON-002,基础设置 · 库房管理,库区设置 · 页面进入,未登录访问拦截,高,测试环境可访问;使用独立 context,storageState 为空(不加载 test_1 登录态),"1. 新建独立 BrowserContext,不加载 auth/user.json
2. 清除登录态后直接打开 `/spd/basic/storehouse/platform/storehouse/area`
3. 断言跳转登录或不展示库房/库区业务数据",未登录不可见库区数据。,
WH-ZON-003,基础设置 · 库房管理,库区设置 · 左侧库房树,清空库房名称恢复全量树,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-001,基础设置 · 库房管理,库区设置 · 左侧库房树,清空库房名称恢复全量树,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 记录过滤前节点数
3. 输入关键字过滤后再清空
4. 断言节点数恢复为过滤前",清空后树恢复全量。,
WH-ZON-004,基础设置 · 库房管理,库区设置 · 左侧库房树,切换库房刷新右侧列表,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-002,基础设置 · 库房管理,库区设置 · 左侧库房树,切换库房刷新右侧列表,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 记录当前库房 `${sampleWhName}` 与右侧首行库区编号(若有)
3. 点选另一库房节点(仅 1 个则 skip)
4. 断言「共 N 条」可变化;若有行则库区编号/名称属于新库房",切换库房后右侧列表刷新,不残留上一库房库区。,
WH-ZON-005,基础设置 · 库房管理,库区设置 · 右侧库区列表与分页,列表核心列完整,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-003,基础设置 · 库房管理,库区设置 · 右侧库区列表与分页,列表核心列完整,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 断言表头含库区编号、库区名称、库区地址、是否专项库区、操作
3. 若有数据行,断言操作列可见「编辑」「人员管理」「货位管理」及「停用」或「启用」",核心列完整;行内操入口可见。,
WH-ZON-006,基础设置 · 库房管理,库区设置 · 右侧库区列表与分页,默认库区以标签展示,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-004,基础设置 · 库房管理,库区设置 · 右侧库区列表与分页,默认库区以标签展示,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 在当前库房列表中查找「默认库区」标签
3. 断言该标签出现在库区名称旁,不是独立列
4. 断言当前库房至多 1 个默认库区标签(无默认则本条只断言不是独立列)",默认库区为名称旁标签;同一库房至多一个。,
WH-ZON-007,基础设置 · 库房管理,库区设置 · 库区搜索,按库区编号搜索,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区且编号非空,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-005,基础设置 · 库房管理,库区设置 · 库区搜索,按库区编号搜索,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区且编号非空,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 从首行读取 `${sampleZoneNo}`
3. 在「库区编号/名称」填入该编号并触发搜索
4. 断言结果包含该编号行,且均属于当前选中库房",搜索命中该编号;不串其它库房。,
WH-ZON-008,基础设置 · 库房管理,库区设置 · 库区搜索,按库区名称搜索,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条且名称非空,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-006,基础设置 · 库房管理,库区设置 · 库区搜索,按库区名称搜索,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条且名称非空,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 从首行读取 `${sampleZoneName}` 取关键字
3. 在「库区编号/名称」填入关键字并搜索
4. 断言结果行名称匹配",名称关键字命中;无未捕获异常。,
WH-ZON-009,基础设置 · 库房管理,库区设置 · 库区搜索,无匹配库区空态(mock反例),中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-007,基础设置 · 库房管理,库区设置 · 库区搜索,无匹配库区空态(mock反例),中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 「库区编号/名称」填入 `__NOT_EXIST_ZONE__99999` 并搜索
3. 断言列表空且分页为 0",无匹配不报错;总数为 0。,
WH-ZON-010,基础设置 · 库房管理,库区设置 · 新增库区,打开新增库区弹窗,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-008,基础设置 · 库房管理,库区设置 · 新增库区,打开新增库区弹窗,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「新 增」
3. 断言弹出「新增库区」,可见库区编号、库区名称、库区地址、联系人、联系方式及「取 消」「确 定」",新增弹窗可见;关键字段与按钮齐全。,
WH-ZON-011,基础设置 · 库房管理,库区设置 · 新增库区,新增取消不落库,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-009,基础设置 · 库房管理,库区设置 · 新增库区,新增取消不落库,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开新增,编号填 `AUTO${timestamp}`,名称填任意合法值
3. 点击「取 消」
4. 按该编号搜索,断言无该记录",弹窗关闭;列表不出现该编号。,
WH-ZON-012,基础设置 · 库房管理,库区设置 · 新增库区,必填为空拦截,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-010,基础设置 · 库房管理,库区设置 · 新增库区,必填为空拦截,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开新增,库区编号或名称留空后点击「确 定」
3. 断言出现必填提示,弹窗仍打开
4. 点「取 消」",确定被拦截;不落库;弹窗不关闭。,
WH-ZON-013,基础设置 · 库房管理,库区设置 · 编辑库区,打开编辑并回填,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-011,基础设置 · 库房管理,库区设置 · 编辑库区,打开编辑并回填,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击首行「编辑」
3. 断言弹窗标题含「编辑库区信息」
4. 断言库区编号、名称与该行 `${sampleZoneNo}`、`${sampleZoneName}` 一致(允许规范化空白)
5. 点「取 消」",编辑弹窗可见;回填与列表行一致。,
WH-ZON-014,基础设置 · 库房管理,库区设置 · 编辑库区,编辑取消不保存,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-012,基础设置 · 库房管理,库区设置 · 编辑库区,编辑取消不保存,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开首行编辑,记录原名称
3. 将名称改为临时值后点「取 消」
4. 再次打开编辑,断言名称仍为原值",取消后列表与回看均为修改前名称。,
WH-ZON-015,基础设置 · 库房管理,库区设置 · 编辑库区,编辑清空必填拦截,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-ZON-013,基础设置 · 库房管理,库区设置 · 编辑库区,编辑清空必填拦截,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);当前库房至少 1 条库区,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开首行编辑,清空库区名称后点「确 定」
3. 断言被拦截并提示,弹窗仍开
4. 点「取 消」,断言列表名称未被写成空",清空必填不能保存;原记录名称保持。,
WH-ZON-014,基础设置 · 库房管理,库区设置 · 列表,列设置隐藏后再恢复,低,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);列表表头已加载;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 打开列设置,取消勾选一列非核心字段并关闭,断言表头隐藏
4. 再次打开列设置勾选恢复并关闭,断言表头恢复",勾选状态与表头一致。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
WH-PRB-001,基础设置 · 库房管理,探针绑定 · 页面进入,菜单进入探针绑定页,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 按菜单「基础设置 → 库房管理 → 探针绑定」进入,或 `openPath` 打开 `/spd/basic/storehouse/storehouse/probe`
3. 断言 URL 含 `/spd/basic/storehouse/storehouse/probe`
4. 断言探针ID、主机编码、是否绑定货位、查询、重置、列表与分页可见",进入探针绑定页;不误入库区设置。,
WH-PRB-002,基础设置 · 库房管理,探针绑定 · 页面进入,未登录访问拦截,高,测试环境可访问;使用独立 context,storageState 为空(不加载 test_1 登录态),"1. 新建独立 BrowserContext,不加载 auth/user.json
2. 清除登录态后直接打开 `/spd/basic/storehouse/storehouse/probe`
3. 断言跳转登录或不展示探针业务列表",未登录不可见探针数据。,
WH-PRB-003,基础设置 · 库房管理,探针绑定 · 筛选与查询,默认查询列表有数据或空态明确,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-001,基础设置 · 库房管理,探针绑定 · 快捷筛选查询,默认查询列表有数据或空态明确,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 断言出现数据行,或「暂无数据」且分页总数为 0",查询无报错;有数据时「共 N 条」N≥1。,
WH-PRB-004,基础设置 · 库房管理,探针绑定 · 筛选与查询,按探针ID查询,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);默认查询至少 1 条且探针ID非空,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 从首行读取 `${sampleProbeId}`
3. 探针ID填入该值,点击「查 询」
4. 断言结果探针ID匹配,精确命中时行数合理",探针ID条件生效。,
WH-PRB-005,基础设置 · 库房管理,探针绑定 · 筛选与查询,按主机编码查询,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);默认查询至少 1 条且主机编码非空,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 从首行读取 `${sampleHostCode}`
3. 主机编码填入该值,点击「查 询」
4. 断言结果行「主机编码」与条件一致",主机编码条件生效;允许多探针共用同一主机。,
WH-PRB-006,基础设置 · 库房管理,探针绑定 · 筛选与查询,探针ID+主机编码组合查询,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);默认查询至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-002,基础设置 · 库房管理,探针绑定 · 快捷筛选查询,探针ID+主机编码组合查询,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);默认查询至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 填写 `${sampleProbeId}` 与 `${sampleHostCode}` 后点击「查 询」
3. 断言结果同时满足已填条件",组合条件同时生效。,
WH-PRB-007,基础设置 · 库房管理,探针绑定 · 筛选与查询,重置恢复默认,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-003,基础设置 · 库房管理,探针绑定 · 快捷筛选查询,重置恢复默认,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 填写探针ID后点击「重 置」
3. 断言条件恢复默认,列表按默认规则刷新",条件恢复默认;列表刷新。,
WH-PRB-008,基础设置 · 库房管理,探针绑定 · 筛选与查询,无匹配空态(mock反例),中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-004,基础设置 · 库房管理,探针绑定 · 快捷筛选查询,无匹配空态(mock反例),中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 探针ID填入 `__NOT_EXIST_PROBE__99999`,点击「查 询」
3. 断言空态且分页总数为 0",无匹配不报错;总数为 0。,
WH-PRB-009,基础设置 · 库房管理,探针绑定 · 列表与分页,列表核心列与数量规则,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-005,基础设置 · 库房管理,探针绑定 · 列表,列表核心列与数量规则,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 断言表头含序号、探针ID、主机编码、是否绑定货位、绑定的货位、操作
3. 抽样已绑定行:绑定数量为数字且 >0;抽样未绑定行:数量为 0
4. 断言「绑定的货位」列不是货位号格式",核心列完整;数量列是数字不是货位号。,
WH-PRB-010,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,行内打开货位绑定探针,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-006,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,行内打开货位绑定探针,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击首行「绑定货位」
3. 断言弹出「货位绑定探针」,可见当前库房/库区/货位查询及货位列表",弹窗标题正确;筛选与列表可见。,
WH-PRB-011,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,取消关闭不改主列表,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-007,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,取消关闭不改主列表,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 记录主列表首行绑定数量与当前筛选
3. 打开绑定弹窗后点「取 消」
4. 断言主列表绑定数量与筛选条件保持",取消不改绑定关系。,
WH-PRB-012,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,未选货位时确定计数为 0,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-008,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,未选货位时确定计数为 0,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开绑定弹窗,不勾选货位
3. 断言底部按钮文案为「确定(0)」或等价
4. 点「取 消」,不点确定保存",未选时计数为 0;本条不保存绑定。,
WH-PRB-013,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,弹窗分页独立于主列表,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-009,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,弹窗分页独立于主列表,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 记录主列表「共 N 条」
3. 打开绑定弹窗,记录弹窗分页「共 M 条」
4. 断言不得用 M 断言主列表 N(货位量级可远大于探针条数)
5. 点「取 消」",弹窗总条数与主列表探针条数相互独立。,
WH-PRB-014,基础设置 · 库房管理,探针绑定 · 弹窗筛选货位,按当前库房筛选货位,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-010,基础设置 · 库房管理,探针绑定 · 弹窗筛选货位,按当前库房筛选货位,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开绑定弹窗,记录默认 `${sampleModalWh}`
3. 点「查 询」
4. 断言可见行「当前库房」与所选库房一致(有数据时)
5. 点「取 消」",弹窗库房条件生效。,
WH-PRB-015,基础设置 · 库房管理,探针绑定 · 弹窗筛选货位,弹窗内重置,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-011,基础设置 · 库房管理,探针绑定 · 弹窗筛选货位,弹窗内重置,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开绑定弹窗,填写货位查询关键字后点「重 置」
3. 断言货位查询条件恢复,列表按弹窗默认规则刷新
4. 点「取 消」",弹窗重置不影响主列表筛选。,
WH-PRB-016,基础设置 · 库房管理,探针绑定 · 勾选货位并保存绑定,勾选后确定计数增加再取消勾选,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);弹窗货位列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
WH-PRB-012,基础设置 · 库房管理,探针绑定 · 勾选货位并保存绑定,勾选后确定计数增加再取消勾选,中,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);弹窗货位列表至少 1 条,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 打开绑定弹窗,勾选 1 个货位
3. 断言确定按钮计数为 1
4. 取消该勾选,断言计数回到 0
5. 点「取 消」,不保存",计数随勾选变化;取消勾选不落库。,
WH-PRB-013,基础设置 · 库房管理,探针绑定 · 分页,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
WH-PRB-014,基础设置 · 库房管理,探针绑定 · 列表,列设置隐藏后再恢复,低,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe);列表表头已加载;存在可隐藏的非核心列,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」并等待列表稳定
3. 打开列设置,取消勾选一列非核心字段并关闭,断言表头隐藏
4. 再次打开列设置勾选恢复并关闭,断言表头恢复",勾选状态与表头一致。,
......@@ -10,41 +10,40 @@ SURG-BASE-003,基础设置 · 手术套包设置,基础包维护 · 左侧分类
3. 断言节点数回到未过滤的默认集合(或不少于过滤后节点数)",清空后分类树恢复默认集合。,
SURG-BASE-004,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,默认列出基础包或空态明确,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 等待列表稳定
2. 断言出现数据行,或「暂无数据」且分页总数为 0",加载无报错;有数据时「共 N 条」N≥1;无数据时空态明确。,
SURG-BASE-005,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,物料名称筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleProductName}`
2. 在 `#table_search_form_keyword` 填入该关键字并点击「查 询」
3. 断言结果行物料名称均包含该关键字",过滤结果与关键字匹配;「共 N 条」随之更新。,
SURG-BASE-006,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,规格型号筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleSpecModel}`
2. 在 `#table_search_form_goodsSpec` 填入该关键字并点击「查 询」
3. 断言结果行规格型号均包含该关键字",按规格型号过滤生效。,
SURG-BASE-007,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,器械注册人筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleMfrsName}`
2. 在 `#table_search_form_goodsMfrsName` 填入该关键字并点击「查 询」
3. 断言结果行器械注册人均包含该关键字",按器械注册人过滤生效。,
SURG-BASE-008,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,查询与重置,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 用关键字过滤后点击「重 置」
SURG-BASE-005,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,物料名称、规格型号和器械注册人组合查询,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleProductName}`、`${sampleSpecModel}`、`${sampleMfrsName}`
2. 在 `#table_search_form_keyword` 填入物料名称关键字
3. 在 `#table_search_form_goodsSpec` 填入规格型号关键字
4. 在 `#table_search_form_goodsMfrsName` 填入器械注册人关键字
5. 点击「查 询」
6. 断言结果行同时满足:物料名称含关键字、规格型号含关键字、器械注册人含关键字(无匹配则空态且总数为 0);条件之间为「且」关系",组合查询无报错;物料名称、规格型号、器械注册人条件同时生效;结果与已填条件一致或明确空态。,
SURG-BASE-006,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,查询与重置,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 用关键字过滤后点击「重 置」
2. 断言筛选输入框被清空、列表恢复默认集合",重置清空筛选并恢复默认列表。,
SURG-BASE-009,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,分页与页大小切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据;列表总数大于单页行数上限,"1. 切换每页条数(如 50 → 100)
2. 断言单页行数不超过所选值,分页总数不变",页大小切换生效;总数保持稳定。,
SURG-BASE-010,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,首页上一页不可用,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 处于第 1 页
SURG-BASE-007,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 手术套包设置」权限;;默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
SURG-BASE-008,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,首页上一页不可用,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 处于第 1 页
2. 断言「上一页」置灰或点击无效果",第 1 页无法回到上一页。,
SURG-BASE-011,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,搜索无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 在 `#table_search_form_keyword` 输入 mock 不存在关键字 `__NOT_EXIST_BASE__99999`
SURG-BASE-009,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,搜索无匹配空态(mock反例),中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 在 `#table_search_form_keyword` 输入 mock 不存在关键字 `__NOT_EXIST_BASE__99999`
2. 点击「查 询」
3. 断言「暂无数据」且分页总数为 0",无匹配时空态明确,不白屏;总数为 0。,
SURG-BASE-012,基础设置 · 手术套包设置,基础包维护 · 新增基础包,打开新增基础包弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 点击「新增基础包」
SURG-BASE-010,基础设置 · 手术套包设置,基础包维护 · 新增基础包,打开新增基础包弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 点击「新增基础包」
2. 断言弹窗可见,含基础包名称(#form_item_pkgName)、所属分类(#form_item_kindId)、包编码(#form_item_pkgCode)、备注(#form_item_remark)
3. 断言含「取 消」「确 认」",新增基础包弹窗字段完整(名称/所属分类/包编码/备注)。,
SURG-BASE-013,基础设置 · 手术套包设置,基础包维护 · 新增基础包,新增取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 记录当前分页总数 `${sampleTotal}`
SURG-BASE-011,基础设置 · 手术套包设置,基础包维护 · 新增基础包,新增取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 记录当前分页总数 `${sampleTotal}`
2. 打开新增,填写名称 `${uniqPkgName}` 后点「取 消」
3. 断言列表总数不变,且无该名称行",取消后不新增基础包。,
SURG-BASE-014,基础设置 · 手术套包设置,基础包维护 · 新增基础包,基础包名称为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 打开新增基础包弹窗,名称留空,补齐所属分类与包编码
SURG-BASE-012,基础设置 · 手术套包设置,基础包维护 · 新增基础包,基础包名称为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 打开新增基础包弹窗,名称留空,补齐所属分类与包编码
2. 点击「确 认」
3. 断言必填提示,弹窗仍在,列表无新行",确定被拦截;不落库。,
SURG-BASE-015,基础设置 · 手术套包设置,基础包维护 · 新增基础包,所属分类为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 打开新增基础包弹窗,填写名称与包编码,不选所属分类
SURG-BASE-013,基础设置 · 手术套包设置,基础包维护 · 新增基础包,所属分类为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe),"1. 打开新增基础包弹窗,填写名称与包编码,不选所属分类
2. 点击「确 认」
3. 断言必填提示,弹窗仍在",确定被拦截;不落库。,
SURG-BASE-016,基础设置 · 手术套包设置,基础包维护 · 行内操作(编辑 / 移除),移除二次确认防误删,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 记录当前总数 `${sampleTotal}`
SURG-BASE-014,基础设置 · 手术套包设置,基础包维护 · 行内操作(编辑 / 移除),移除二次确认防误删,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据,"1. 记录当前总数 `${sampleTotal}`
2. 点击首行「移 除」
3. 若出现确认框则点「取 消」
4. 断言总数仍为 `${sampleTotal}`",移除有二次确认;取消不删除。,
SURG-BASE-017,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,多条件组合查询(物料名称等5项),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 手术套包设置」权限;已进入手术套包设置对应功能页;筛选区已展开,"1. 进入页面并等待列表加载
SURG-BASE-015,基础设置 · 手术套包设置,基础包维护 · 右侧筛选与列表,多条件组合查询(物料名称等5项),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 手术套包设置」权限;已进入手术套包设置对应功能页;筛选区已展开,"1. 进入页面并等待列表加载
2. 「物料名称」填写关键字
3. 「规格型号」填写关键字
4. 「器械注册人」填写关键字
......
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
SURG-TYPE-001,基础设置 · 手术套包设置,术种维护 · 页面进入,菜单进入术种维护页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 按菜单「基础设置 → 手术套包设置 → 术种维护」进入
2. 断言 URL 含 `/spd/basic/operationSetting/typeMaintenance`
3. 断言左侧分类树(术种分类名称搜索框)、右侧筛选区、状态 Tab、列表与分页可见",进入术种维护页;不误入基础包维护/标准套包维护;左右分栏渲染完整。,
SURG-TYPE-002,基础设置 · 手术套包设置,术种维护 · 页面进入,同组页签切换后返回,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 点击页内 Tab「标准套包维护」,等待 URL 切换
2. 返回点击 Tab「术种维护」
3. 断言 URL 回到 typeMaintenance,左树与状态 Tab 重新渲染",三页签互切正常;返回后本页数据恢复。,
SURG-TYPE-003,基础设置 · 手术套包设置,术种维护 · 页面进入,未登录访问拦截,高,"测试环境可访问;使用 test.use({ storageState: { cookies: [], origins: [] } }) 无登录态;直接访问页面进入 URL(/spd/basic/operationSetting/typeMaintenance,无 iframe)","1. 不加载登录态(空 storageState)
2. 直接访问 `/spd/basic/operationSetting/typeMaintenance`
3. 断言跳转登录页或不展示术种列表数据",未登录被拦截,不泄露术种数据。,
SURG-TYPE-004,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,术种分类名称搜索过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 从左树读取 `${sampleOperCategoryName}`
SURG-TYPE-001,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,术种分类名称搜索过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 从左树读取 `${sampleOperCategoryName}`
2. 在分类名称搜索框填入该关键字(即时过滤或回车,以现网为准)
3. 断言树节点文本均包含该关键字",过滤后树节点名称与关键字匹配;无未捕获异常。,
SURG-TYPE-005,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,选择分类联动右侧列表,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 点击 `${sampleOperCategoryName}` 分类节点
SURG-TYPE-002,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,选择分类联动右侧列表,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 点击 `${sampleOperCategoryName}` 分类节点
2. 等待右侧列表刷新稳定
3. 断言列表加载无报错,分页「共 N 条」与当前分类规模一致",右侧仅展示该分类下术种;总数与筛选一致。,
SURG-TYPE-006,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,分类树计数与下钻,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);至少 1 个带计数的分类节点,"1. 读取某分类节点括号内计数 `${nodeCount}`
SURG-TYPE-003,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,分类树计数与下钻,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);至少 1 个带计数的分类节点,"1. 读取某分类节点括号内计数 `${nodeCount}`
2. 点击该节点
3. 断言右侧「共 N 条」与 `${nodeCount}` 一致",分类计数与该分类下术种条数一致。,
SURG-TYPE-007,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,打开分类维护弹窗,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 点击左侧「新增」
SURG-TYPE-004,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,打开分类维护弹窗,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 点击左侧「新增」
2. 断言弹窗可见,含分类名称输入(#basic_kindName)与「取 消」「保 存」
3. 点击「取 消」关闭",分类维护弹窗字段完整;取消可关闭。,
SURG-TYPE-008,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,分类搜索清空恢复全量,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 用 `${sampleOperCategoryName}` 过滤并记录过滤后节点数
SURG-TYPE-005,基础设置 · 手术套包设置,术种维护 · 左侧术种分类树,分类搜索清空恢复全量,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 用 `${sampleOperCategoryName}` 过滤并记录过滤后节点数
2. 清空分类搜索框
3. 断言节点数回到未过滤的默认集合",清空后分类树恢复默认集合。,
SURG-TYPE-009,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,术种名称筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleOperName}`
SURG-TYPE-006,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,术种名称筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleOperName}`
2. 在 `#table_search_form_operationName` 填入该关键字并点击「查 询」
3. 断言结果行术种名称均包含该关键字",过滤结果与关键字匹配;「共 N 条」随之更新。,
SURG-TYPE-010,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,病种名称筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleDiseaseName}`
SURG-TYPE-007,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,病种名称筛选过滤,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleDiseaseName}`
2. 在 `#table_search_form_disease` 填入该关键字并点击「查 询」
3. 断言结果行病种名称均包含该关键字",按病种名称过滤生效。,
SURG-TYPE-011,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,左树 + 筛选 + Tab 组合过滤,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 选择 `${sampleOperCategoryName}` 分类节点
SURG-TYPE-008,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,左树 + 筛选 + Tab 组合过滤,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 选择 `${sampleOperCategoryName}` 分类节点
2. 填入术种名称关键字并点「查 询」
3. 切到「全部」Tab
4. 断言结果为三者交集且无未捕获异常",三条件叠加后结果正确,总数一致。,
SURG-TYPE-012,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,重置清空筛选,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 用关键字过滤后点击「重 置」
SURG-TYPE-009,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,重置清空筛选,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 用关键字过滤后点击「重 置」
2. 断言筛选输入框被清空、列表恢复默认集合",重置清空筛选并恢复默认列表。,
SURG-TYPE-013,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,无匹配组合空态(mock反例),低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 在 `#table_search_form_operationName` 输入 mock 不存在关键字 `__NOT_EXIST_OPER__99999`
SURG-TYPE-010,基础设置 · 手术套包设置,术种维护 · 筛选与状态 Tab,无匹配组合空态(mock反例),低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 在 `#table_search_form_operationName` 输入 mock 不存在关键字 `__NOT_EXIST_OPER__99999`
2. 点击「查 询」
3. 断言「暂无数据」且分页总数为 0",无匹配时空态明确,不白屏;总数为 0。,
SURG-TYPE-014,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,ICD-10 诊断编码展示完整,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;至少 1 条含诊断编码的数据,"1. 读取含 ICD-10 编码的行 `${sampleIcd10Code}`
SURG-TYPE-011,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,ICD-10 诊断编码展示完整,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;至少 1 条含诊断编码的数据,"1. 读取含 ICD-10 编码的行 `${sampleIcd10Code}`
2. 断言编码文本完整(如 A02.000x010)不截断、无乱码",ICD-10 编码完整展示。,
SURG-TYPE-015,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,ICD-9-CM-3 操作编码展示完整,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;至少 1 条含操作编码的数据,"1. 读取含操作编码的行 `${sampleIcd9Code}`
SURG-TYPE-012,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,ICD-9-CM-3 操作编码展示完整,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;至少 1 条含操作编码的数据,"1. 读取含操作编码的行 `${sampleIcd9Code}`
2. 断言操作编码(如 00.0200)与操作名称(如 心脏治疗性超声)对应展示无乱码",ICD-9-CM-3 编码与操作名称对应正确。,
SURG-TYPE-016,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,分页与页大小切换,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;列表总数大于单页行数上限,"1. 切换每页条数(如 50 → 100)
2. 断言单页行数不超过所选值,分页总数不变",页大小切换生效;总数保持稳定。,
SURG-TYPE-017,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,首页上一页不可用,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 处于第 1 页
SURG-TYPE-013,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,切换20条每页页面正常且列表同步,中,"测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 手术套包设置」权限;;默认查询总条数大于 10 且切换前可见行数不等于 min(N,20),否则 skip","1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 点击「查 询」,记录分页「共 N 条」与当前页可见行数
3. 分页区切换每页条数为「20 条/页」
4. 断言分页显示 20 条/页;总条数 N 不变;当前页行数为 min(N,20) 且与切换前不同;筛选区、表头可见无报错",切换 20 条/页成功;页面正常;列表可见行数随每页条数同步变化且总数不变。,
SURG-TYPE-014,基础设置 · 手术套包设置,术种维护 · 列表与编码展示,首页上一页不可用,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 处于第 1 页
2. 断言「上一页」置灰或点击无效果",第 1 页无法回到上一页。,
SURG-TYPE-018,基础设置 · 手术套包设置,术种维护 · 新增术种,打开新增术种入口,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 点击「新增术种」
SURG-TYPE-015,基础设置 · 手术套包设置,术种维护 · 新增术种,打开新增术种入口,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 点击「新增术种」
2. 断言新增弹窗/页面可见,含术种名称、病种名称、分类与编码相关字段
3. 断言含「取 消」「保 存」",新增术种入口字段完整。,
SURG-TYPE-019,基础设置 · 手术套包设置,术种维护 · 新增术种,新增取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 记录当前分页总数 `${sampleTotal}`
SURG-TYPE-016,基础设置 · 手术套包设置,术种维护 · 新增术种,新增取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 记录当前分页总数 `${sampleTotal}`
2. 打开新增,填写名称 `${uniqOperName}` 后点「取 消」
3. 断言列表总数不变,且无该名称行",取消后不新增术种。,
SURG-TYPE-020,基础设置 · 手术套包设置,术种维护 · 新增术种,术种名称为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 打开新增术种弹窗,名称留空
SURG-TYPE-017,基础设置 · 手术套包设置,术种维护 · 新增术种,术种名称为空拦截(mock反例),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe),"1. 打开新增术种弹窗,名称留空
2. 点击「保 存」
3. 断言必填提示,弹窗仍在,列表无新行",保存被拦截;不落库。,
SURG-TYPE-021,基础设置 · 手术套包设置,术种维护 · 行内操作(编辑 / 停用),行内编辑回填,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 点击首行「编 辑」
SURG-TYPE-018,基础设置 · 手术套包设置,术种维护 · 行内操作(编辑 / 停用),行内编辑回填,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据,"1. 点击首行「编 辑」
2. 断言编辑弹窗可见且回填当前术种数据
3. 点击「取 消」关闭",编辑弹窗回填正确;取消不影响数据。,
SURG-TYPE-022,基础设置 · 手术套包设置,术种维护 · 行内操作(编辑 / 停用),停用状态流转,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);存在启用状态术种(优先选 `${uniqOperName}` 自建数据);允许写术种,"1. 记录「停用」Tab 当前计数 `${disabledCount}`
SURG-TYPE-019,基础设置 · 手术套包设置,术种维护 · 行内操作(编辑 / 停用),停用状态流转,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);存在启用状态术种(优先选 `${uniqOperName}` 自建数据);允许写术种,"1. 记录「停用」Tab 当前计数 `${disabledCount}`
2. 点击目标行「停用」,若有确认框则点「确 定」
3. 断言「停用」Tab 计数 +1
4. 后置:对该术种执行「启用」恢复",术种状态变为停用;「停用」计数 +1;结束恢复原状态。,
SURG-TYPE-023,基础设置 · 手术套包设置,术种维护 · 行内操作(编辑 / 停用),停用二次确认防误操作,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);存在启用状态术种,"1. 记录「停用」Tab 当前计数
SURG-TYPE-020,基础设置 · 手术套包设置,术种维护 · 行内操作(编辑 / 停用),停用二次确认防误操作,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);存在启用状态术种,"1. 记录「停用」Tab 当前计数
2. 点击首行「停用」
3. 若出现确认框则点「取 消」
4. 断言计数未变化",停用有二次确认;取消不改状态。,
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
SURG-STD-001,基础设置 · 手术套包设置,标准套包维护 · 页面进入,菜单进入标准套包维护页,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 按菜单「基础设置 → 手术套包设置 → 标准套包维护」进入
2. 断言 URL 含 `/spd/basic/operationSetting/standardMaintenance`
3. 断言左侧分类树、右侧筛选区、构成列表与分页可见",进入标准套包维护页;不误入基础包维护/术种维护;左右分栏渲染完整。,
SURG-STD-002,基础设置 · 手术套包设置,标准套包维护 · 页面进入,同组页签切换后返回,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 点击页内 Tab「术种维护」,等待 URL 切换
2. 返回点击 Tab「标准套包维护」
3. 断言 URL 回到 standardMaintenance,左树与构成列表重新渲染",三页签互切正常;返回后本页数据恢复。,
SURG-STD-003,基础设置 · 手术套包设置,标准套包维护 · 页面进入,未登录访问拦截,高,"测试环境可访问;使用 test.use({ storageState: { cookies: [], origins: [] } }) 无登录态;直接访问页面进入 URL(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 不加载登录态(空 storageState)
2. 直接访问 `/spd/basic/operationSetting/standardMaintenance`
3. 断言跳转登录页或不展示套包列表数据",未登录被拦截,不泄露套包数据。,
SURG-STD-004,基础设置 · 手术套包设置,标准套包维护 · 左侧术种分类树,分类搜索清空恢复全量,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 用 `${sampleOperCategoryName}` 过滤并记录过滤后节点数
SURG-STD-001,基础设置 · 手术套包设置,标准套包维护 · 左侧术种分类树,分类搜索清空恢复全量,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 用 `${sampleOperCategoryName}` 过滤并记录过滤后节点数
2. 清空分类搜索框
3. 断言节点数回到未过滤的默认集合",清空后分类树恢复默认集合。,
SURG-STD-005,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,规格型号筛选过滤,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleSpecModel}`
SURG-STD-002,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,规格型号筛选过滤,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleSpecModel}`
2. 在 `#table_search_form_goodsSpec` 填入该关键字并点击「查 询」
3. 断言结果行规格型号均包含该关键字",按规格型号过滤生效。,
SURG-STD-006,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,器械注册人筛选过滤,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleMfrsName}`
SURG-STD-003,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,器械注册人筛选过滤,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据,"1. 从首行读取 `${sampleMfrsName}`
2. 在 `#table_search_form_goodsMfrsName` 填入该关键字并点击「查 询」
3. 断言结果行器械注册人均包含该关键字",按器械注册人过滤生效。,
SURG-STD-007,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,包名称展开/收起子项,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;存在可展开的包分组,"1. 读取首个包分组名称 `${samplePkgGroupName}`
SURG-STD-004,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,包名称展开/收起子项,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;存在可展开的包分组,"1. 读取首个包分组名称 `${samplePkgGroupName}`
2. 点击展开该分组,断言出现子项行
3. 再次点击收起,断言子项行隐藏",展开显示子项、收起隐藏子项;分组计数不受影响。,
SURG-STD-008,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,无匹配组合空态(mock反例),低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 在 `#table_search_form_keyword` 输入 mock 不存在关键字 `__NOT_EXIST_STD__99999`
SURG-STD-005,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,无匹配组合空态(mock反例),低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 在 `#table_search_form_keyword` 输入 mock 不存在关键字 `__NOT_EXIST_STD__99999`
2. 点击「查 询」
3. 断言「暂无数据」且分页总数为 0",无匹配时空态明确,不白屏;总数为 0。,
SURG-STD-009,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,打开添加基础包弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 点击「添加基础包」
SURG-STD-006,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,打开添加基础包弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 点击「添加基础包」
2. 断言弹窗可见,含左侧基础包分类树与右侧基础包明细
3. 断言含「取 消」「确定(N)」",添加基础包弹窗字段完整;确定按钮带选择计数。,
SURG-STD-010,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,弹窗内筛选与选择计数联动,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 打开添加基础包弹窗,在搜索框输入基础包关键字
SURG-STD-007,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,弹窗内筛选与选择计数联动,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 打开添加基础包弹窗,在搜索框输入基础包关键字
2. 勾选 1 个基础包
3. 断言「确定(N)」计数由 0 变为 1",筛选生效;选择数与确定按钮计数联动。,
SURG-STD-011,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,弹窗内构成数量可编辑,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已勾选至少 1 个基础包,"1. 定位明细行「构成数量」步进器,点击「Increase Value」
SURG-STD-008,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,弹窗内构成数量可编辑,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已勾选至少 1 个基础包,"1. 定位明细行「构成数量」步进器,点击「Increase Value」
2. 断言数量 +1 且合计随之更新",构成数量可编辑;加减生效。,
SURG-STD-012,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,添加基础包取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 记录当前分页总数 `${sampleTotal}`
SURG-STD-009,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,添加基础包取消不落库,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 记录当前分页总数 `${sampleTotal}`
2. 打开添加基础包,勾选 1 个基础包后点「取 消」
3. 断言构成列表总数不变",取消后不新增构成行。,
SURG-STD-013,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,重复添加同一基础包,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);标准套包已含某基础包(或先添加一个);允许写套包,"1. 再次打开添加基础包,选择同一基础包并确定
SURG-STD-010,基础设置 · 手术套包设置,标准套包维护 · 添加基础包弹窗,重复添加同一基础包,中,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);标准套包已含某基础包(或先添加一个);允许写套包,"1. 再次打开添加基础包,选择同一基础包并确定
2. 断言按产品规则拒绝/合并/累加,不产生重复脏行",重复添加不产生重复行(策略以现网为准)。,
SURG-STD-014,基础设置 · 手术套包设置,标准套包维护 · 添加散件弹窗,打开添加散件弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 点击「添加散件」
SURG-STD-011,基础设置 · 手术套包设置,标准套包维护 · 添加散件弹窗,打开添加散件弹窗,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe),"1. 点击「添加散件」
2. 断言弹窗可见并展示「产品列表」视图,含物料名称/规格型号/器械注册人/耗材类型筛选与分页",添加散件弹窗产品列表视图完整。,
SURG-STD-015,基础设置 · 手术套包设置,标准套包维护 · 添加散件弹窗,产品列表筛选与选择散件,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已打开添加散件弹窗,"1. 在物料名称筛选框输入 `${sampleProductName}`
SURG-STD-012,基础设置 · 手术套包设置,标准套包维护 · 添加散件弹窗,产品列表筛选与选择散件,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已打开添加散件弹窗,"1. 在物料名称筛选框输入 `${sampleProductName}`
2. 勾选首个匹配散件
3. 断言散件进入应拣明细,计数同步变化",筛选生效;选中散件进入应拣明细。,
SURG-STD-016,基础设置 · 手术套包设置,标准套包维护 · 添加散件弹窗,万级散件列表首屏可交互,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);添加散件产品列表总量达万级(示例「共 16299 条」),"1. 打开添加散件弹窗
SURG-STD-013,基础设置 · 手术套包设置,标准套包维护 · 添加散件弹窗,万级散件列表首屏可交互,低,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);添加散件产品列表总量达万级(示例「共 16299 条」),"1. 打开添加散件弹窗
2. 断言首屏可交互(筛选/分页可用),不卡死
3. 避免全量断言,仅校验首行与总数格式",万级列表首屏可用;无超时白屏。,
SURG-STD-017,基础设置 · 手术套包设置,标准套包维护 · 行内操作(编辑 / 移除),行内编辑构成项,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;先展开目标包,"1. 点击子项行「编 辑」
SURG-STD-014,基础设置 · 手术套包设置,标准套包维护 · 行内操作(编辑 / 移除),行内编辑构成项,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;先展开目标包,"1. 点击子项行「编 辑」
2. 断言编辑弹窗/表单可见并回填当前值
3. 点击「取 消」关闭",编辑回填正确;取消不影响数据。,
SURG-STD-018,基础设置 · 手术套包设置,标准套包维护 · 行内操作(编辑 / 移除),移除二次确认防误删整包,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;先展开目标包,"1. 记录当前行数
SURG-STD-015,基础设置 · 手术套包设置,标准套包维护 · 行内操作(编辑 / 移除),移除二次确认防误删整包,高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;先展开目标包,"1. 记录当前行数
2. 点击子项行「移 除」
3. 若出现确认框则点「取 消」
4. 断言行数未变化",移除有二次确认;取消不删除。,
SURG-STD-019,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,多条件组合查询(物料名称等5项),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 手术套包设置」权限;已进入手术套包设置对应功能页;筛选区已展开,"1. 进入页面并等待列表加载
SURG-STD-016,基础设置 · 手术套包设置,标准套包维护 · 筛选与构成列表,多条件组合查询(物料名称等5项),高,测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 手术套包设置」权限;已进入手术套包设置对应功能页;筛选区已展开,"1. 进入页面并等待列表加载
2. 「物料名称」填写关键字
3. 「规格型号」填写关键字
4. 「器械注册人」填写关键字
......
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