Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
test
autotest-playwright-web-spd
Commits
6a181bea
Commit
6a181bea
authored
Oct 20, 2026
by
liguangyu06
Browse files
将基础管理等未入库改动暂存到 temp 分支,便于远程备份。
新模块用例尚未具备通关凭证,本次按临时备份跳过本地门禁。
parent
f6eec849
Changes
214
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 214+
files are displayed.
Plain diff
Email patch
testcase/基础管理-准入管理-物料准入管理-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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. 点击「查 询」并等待列表稳定
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}`
2. 同时填入名称与耗材类型(新增日期保持默认,勿改成单日)
3. 点击「查 询」
4. 断言结果同时满足两个条件","组合查询无报错;结果同时满足产品名称与耗材类型。",""
"ADMIT-MAT-006","基础设置 · 准入管理","物料准入管理 · 筛选查询","重置恢复默认","中","测试环境可访问;已通过 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`
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「待申请」
2. 断言列表刷新;若有数据,行状态属于待申请(不出现已生效、已作废)
3. 再点「全部」,断言列表不再只限定待申请","待申请 Tab 只展示待申请数据;「全部」不额外收窄。计数为 0 时为空态且不报错。",""
"ADMIT-MAT-011","基础设置 · 准入管理","物料准入管理 · 状态与列表","待申请 Tab 计数与分页总数一致","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe)","1. 读取「待申请」括号内数量 `${tabCount}`
2. 点击该 Tab 并查询稳定
3. 断言分页「共 N 条」的 N 等于 `${tabCount}`","Tab 计数与该状态下分页总数一致。",""
"ADMIT-MAT-012","基础设置 · 准入管理","物料准入管理 · 状态与列表","未勾选时生成申请单不可用或提示","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe),且当前无勾选行","1. 确认表头复选框与行复选框均未选中
2. 点击「生成申请单」
3. 断言按钮不可用,或出现「请选择」类提示,且列表不新增申请单","未勾选不产生申请单。",""
"ADMIT-MAT-013","基础设置 · 准入管理","物料准入管理 · 详情与编辑","打开详情后返回","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据","1. 记录首行 `${sampleProductName}`
2. 点击该行「详情」
3. 断言详情中产品名称、规格型号、注册证号可见,且名称包含 `${sampleProductName}`
4. 点击「返回」
5. 断言回到列表,URL 仍含 `productApply/ZRlist`","详情展示该行产品主数据;返回后仍在物料准入管理列表。",""
"ADMIT-MAT-014","基础设置 · 准入管理","物料准入管理 · 详情与编辑","详情关键字段不可直接改写","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);已打开首行详情","1. 断言产品名称等主数据无可用的保存按钮,或输入框为只读
2. 返回列表,断言首行名称仍为 `${sampleProductName}`","详情态不能把产品名称改写入库。",""
"ADMIT-MAT-015","基础设置 · 准入管理","物料准入管理 · 详情与编辑","待申请行编辑回填","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);待申请 Tab 至少 1 行含「编辑」","1. 在待申请列表读取首行 `${sampleProductName}`、`${sampleSpec}`
2. 点击「编辑」
3. 断言产品名称、规格型号与该行一致
4. 返回且不保存","编辑页回填与列表行一致。无「编辑」则 skip。",""
"ADMIT-MAT-016","基础设置 · 准入管理","物料准入管理 · 详情与编辑","编辑取消不保存","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);存在可编辑行","1. 打开编辑,记录原产品名称
2. 将产品名称改为 `${uniqProductName}`(建议 `AUTO-MAT-${timestamp}`)后返回或取消,不保存
3. 再次打开编辑,断言名称仍为原值","取消后列表与回看均为修改前名称。",""
"ADMIT-MAT-017","基础设置 · 准入管理","物料准入管理 · 详情与编辑","编辑清空产品名称拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);存在可编辑行","1. 打开编辑,将产品名称清空为 mock 空值
2. 点击保存
3. 断言必填提示,页面不关闭
4. 取消后再次打开,断言名称仍为原值","保存被拦截;原记录不被写成空。",""
"ADMIT-MAT-018","基础设置 · 准入管理","物料准入管理 · 详情与编辑","已生效行不提供编辑","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);已生效 Tab 计数大于 0","1. 切换到「已生效」
2. 断言首行操作无「编辑」,或点击后保存被拒绝","已生效行不能改写成新的产品名称。计数为 0 则 skip。",""
"ADMIT-MAT-019","基础设置 · 准入管理","物料准入管理 · 关联与作废","关联产品取消不落库","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe)","1. 记录当前分页总数 `${sampleTotal}` 与首行默认进院供应商
2. 点击「关联产品」
3. 断言关联层打开
4. 取消或关闭,不确认
5. 断言总数不变,首行供应商不变","取消关联不产生申请单,也不改默认进院供应商。",""
"ADMIT-MAT-020","基础设置 · 准入管理","物料准入管理 · 关联与作废","作废确认后取消","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);待申请至少 1 条可勾选","1. 勾选 1 行,记录其产品名称与当前状态
2. 点击「作 废」
3. 断言出现确认框,含取消与确定
4. 点击「取 消」
5. 断言该行仍在,状态未变为已作废","作废需确认;取消后记录仍在。本条不点击确定,避免作废生产数据。",""
"ADMIT-MAT-021","基础设置 · 准入管理","物料准入管理 · 关联与作废","打开操作日志后关闭","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入物料准入管理页(/spd/basic/dataSync/dataSync/productApply/ZRlist,无 iframe);默认查询至少 1 条数据","1. 点击首行「日志」
2. 断言出现操作日志层
3. 关闭后断言仍在列表页","日志层可打开可关闭;列表数据不变。",""
testcase/基础管理-医院资料-公告管理-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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. 点击「查 询」并等待列表稳定
2. 检查是否出现数据行,或「暂无数据」且分页总数为 0","查询无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。",""
"BASIC-NTC-003","基础设置 · 医院资料","公告管理 · 筛选查询","公告标题模糊查询","高","测试环境可访问;已通过 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} 相同的选项(勿写死)
2. 点击「查 询」
3. 检查结果行「发布范围」列与所选值一致(选「全部」时不额外收窄)","下拉选项含全部/全院/中心库/进院供应商;查询结果范围列与条件一致。",""
"BASIC-NTC-005","基础设置 · 医院资料","公告管理 · 筛选查询","标题与范围组合查询","高","测试环境可访问;已通过 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} 等筛选条件
2. 点击「重 置」
3. 检查标题/范围/日期是否恢复默认","筛选字段恢复默认;列表按默认规则刷新。",""
"BASIC-NTC-007","基础设置 · 医院资料","公告管理 · 筛选查询","无匹配结果空态(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. 点击「查 询」
2. 检查表头是否含公告编号、公告标题、发布范围、发布科室、发布人、操作","核心列完整;操作列可见「编辑」「删除」。",""
"BASIC-NTC-009","基础设置 · 医院资料","公告管理 · 列表分页","分页翻至第 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 并回车
2. 检查当前页为 2","跳转至指定页;列表刷新为该页数据。无 jumper 或仅 1 页则 skip。",""
"BASIC-NTC-011","基础设置 · 医院资料","公告管理 · 新增公告","打开新增公告弹窗","高","测试环境可访问;已通过 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}),内容填简短正文
2. 点击「取 消」
3. 按标题查询,检查无该记录","弹窗关闭;列表不出现 ${uniqNoticeTitle}。",""
"BASIC-NTC-013","基础设置 · 医院资料","公告管理 · 新增公告","合法必填发布成功","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);允许自动化写公告","1. 打开新增,标题 ${uniqNoticeTitle},发布范围选「中心库」,内容写入 .ql-editor
2. 点击「发 布」
3. 按标题查询,检查出现该行且发布范围为中心库
4. 后置:删除该测试公告","弹窗关闭;列表出现新记录;字段与提交一致。环境禁止写则 skip。",""
"BASIC-NTC-014","基础设置 · 医院资料","公告管理 · 新增公告","标题为空发布拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe)","1. 打开新增,标题填 mock 空值 """",内容填 mock 正文 __MOCK_NOTICE_BODY__
2. 点击「发 布」
3. 检查必填提示出现,弹窗仍打开","发布被拦截;不落库;弹窗不关闭。",""
"BASIC-NTC-015","基础设置 · 医院资料","公告管理 · 新增公告","内容为空发布拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe)","1. 打开新增,标题填 mock 值 __MOCK_EMPTY_CONTENT_TITLE__,富文本留空 """"
2. 点击「发 布」
3. 检查内容必填提示,弹窗仍打开","发布被拦截;不落库。",""
"BASIC-NTC-016","基础设置 · 医院资料","公告管理 · 编辑与删除","打开编辑公告并回填","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据","1. 点击首行「编辑」
2. 检查弹窗标题是否为「编辑公告」
3. 检查标题输入框值与该行 ${sampleNoticeTitle} 一致(允许规范化空白)","编辑弹窗可见;标题/范围/内容回填正确。",""
"BASIC-NTC-017","基础设置 · 医院资料","公告管理 · 编辑与删除","编辑取消不保存","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据","1. 打开首行编辑,记录原标题
2. 将标题改为 ${uniqNoticeTitle} 后点「取 消」
3. 再次打开编辑,检查标题仍为原值","取消后列表与回看均为修改前标题。",""
"BASIC-NTC-018","基础设置 · 医院资料","公告管理 · 编辑与删除","删除弹出确认框","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入公告管理页(/spd/basic/hospital/paltform/notice,无 iframe);列表至少 1 条数据","1. 点击首行「删除」
2. 检查出现确认框(标题含「提示」),可见「取 消」「确 定」
3. 点击「取 消」
4. 检查该行仍在","删除需二次确认;取消后记录仍在。本条不断言真实删除,避免污染数据。",""
testcase/基础管理-医院资料-医院信息登记-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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. 点击「编 辑」
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}
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 空值 """"
2. 点击「保 存」
3. 检查必填提示,仍停留编辑态","保存被拦截;原联系人不被写成空。",""
"BASIC-HOS-009","基础设置 · 医院资料","医院信息登记 · 编辑保存","联系方式为空保存拦截(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 空值 """"
2. 点击「保 存」
3. 检查必填提示","保存被拦截;简称不被写成空。",""
"BASIC-HOS-011","基础设置 · 医院资料","医院信息登记 · 图片上传","编辑态存在背景与 logo 上传控件","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入医院信息登记页(/spd/basic/hospital/paltform/info,无 iframe);当前为查看态","1. 点击「编 辑」
2. 检查存在登录页背景、医院 logo 对应 input[type=file](loginBgUploadInput / logoUploadInput)
3. 点「取 消」,不实际上传","编辑态两个上传控件可定位;本条不强制替换线上图片。",""
testcase/基础管理-医院资料-财务月份设置-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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. 点击「查 询」并等待列表稳定
2. 检查是否出现数据行,或「暂无数据」且分页总数为 0","查询无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。",""
"BASIC-FMN-003","基础设置 · 医院资料","财务月份设置 · 筛选查询","按财务月份筛选","高","测试环境可访问;已通过 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} 并查询
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)
2. 对「历史月份」行检查无「修 改」或操作为「--」","可修改入口只出现在当前月份行。无历史月份则只校验当前月份入口。",""
"BASIC-FMN-007","基础设置 · 医院资料","财务月份设置 · 列表与状态","当前月份至多一行","中","测试环境可访问;已通过 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. 对历史月份行尝试点击操作区
2. 检查不出现行内「保 存」「取 消」,自动结算日期仍为文本","历史月份不能改开始/结束/自动结算日期。无历史月份则 skip。",""
"BASIC-FMN-009","基础设置 · 医院资料","财务月份设置 · 当前月份修改","修改进入行内编辑","高","测试环境可访问;已通过 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. 点击「修 改」
2. 检查开始日期、结束日期无可用输入框
3. 检查仅 autoSettleDateInput 可编辑
4. 点击「取 消」退出","开始/结束日期保持只读;账期区间不被改写。",""
"BASIC-FMN-011","基础设置 · 医院资料","财务月份设置 · 当前月份修改","取消不保存自动结算日","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在当前月份行","1. 读取 ${sampleAutoSettleDate}
2. 点「修 改」,将自动结算日改为当月区间内另一天 ${uniqAutoSettleDate}
3. 点击「取 消」
4. 检查该行自动结算日仍为 ${sampleAutoSettleDate}","取消后不落库;日期恢复修改前值。",""
"BASIC-FMN-012","基础设置 · 医院资料","财务月份设置 · 当前月份修改","保存自动结算日期持久化","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在当前月份行;允许写财务月份","1. 记录 ${sampleAutoSettleDate}、${sampleStartDate}、${sampleEndDate}
2. 将自动结算日改为区间内另一天 ${uniqAutoSettleDate} 并「保 存」
3. 刷新或重新查询,检查该行自动结算日为 ${uniqAutoSettleDate}
4. 后置:再改为 ${sampleAutoSettleDate} 并保存","保存后刷新仍为新日期;用例结束恢复原值。环境禁止写则 skip。",""
"BASIC-FMN-013","基础设置 · 医院资料","财务月份设置 · 当前月份修改","自动结算日为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在当前月份行","1. 点「修 改」,将 autoSettleDateInput 清空为 mock 空值 """"
2. 点击「保 存」
3. 检查必填或非法提示,行上日期仍为 ${sampleAutoSettleDate}","保存被拦截;原日期不被写成空。",""
"BASIC-FMN-014","基础设置 · 医院资料","财务月份设置 · 当前月份修改","自动结算日超出当月区间拦截(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入财务月份设置页(/spd/basic/hospital/balance/month,无 iframe);存在当前月份行且能读到开始/结束日","1. 点「修 改」,将日期改为 mock 越界值:早于 ${sampleStartDate} 或晚于 ${sampleEndDate}(如 __MOCK_OUT_OF_RANGE_DATE__)
2. 点击「保 存」
3. 检查拒绝保存并提示,原日期不变
4. 点「取 消」退出","超出账期区间时拒绝保存;不脏写。日期控件无法选出区间外日期则 skip 并记录产品限制。",""
testcase/基础管理-医院资料-院区管理-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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. 等待列表稳定
2. 检查是否出现数据行,或「暂无数据」且分页总数为 0","加载无报错;有数据时分页「共 N 条」N≥1;无数据时空态明确。",""
"BASIC-BRN-003","基础设置 · 医院资料","院区管理 · 列表搜索","院区名称搜索过滤","高","测试环境可访问;已通过 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);默认列表至少 1 条数据","1. 检查表头是否包含序号、院区编号、院区名称、院区地址、状态、启用云仓、操作","核心列均可见,操作列含「编 辑」。",""
"BASIC-BRN-005","基础设置 · 医院资料","院区管理 · 列表搜索","清空搜索恢复全量","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已用 ${sampleCampusName} 过滤","1. 记录过滤后条数
2. 清空 campusNameInput 并等待列表刷新
3. 检查条数回到未过滤的默认集合(或不少于过滤后条数)","清空后列表恢复默认集合。",""
"BASIC-BRN-006","基础设置 · 医院资料","院区管理 · 列表搜索","搜索无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe)","1. 在院区名称框输入 mock 值 __NOT_EXIST_CAMPUS__99999(唯一写死的反例 mock)
2. 检查「暂无数据」且分页总数为 0","无匹配时空态明确,不白屏。",""
"BASIC-BRN-007","基础设置 · 医院资料","院区管理 · 新增院区","打开新增院区弹窗","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe)","1. 点击「新 增」
2. 检查弹窗标题是否为「新增院区」
3. 检查可见院区名称、所在地区、详细地址、主院区标志、状态、取消/确定
4. 检查无 #form_item_id、无启用云仓
5. 点击「取 消」关闭","新增弹窗字段完整;不含院区编号与启用云仓。",""
"BASIC-BRN-008","基础设置 · 医院资料","院区管理 · 新增院区","新增取消不落库","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe)","1. 记录当前分页总数 ${sampleTotal}
2. 打开新增,填写名称 ${uniqCampusName}(建议 AUTO-BRN-${timestamp})后点「取 消」
3. 检查列表总数不变,且无该名称行","取消后不新增院区。",""
"BASIC-BRN-009","基础设置 · 医院资料","院区管理 · 新增院区","合法必填新增成功","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);允许写院区;名称使用 ${uniqCampusName}","1. 打开新增,填写名称 ${uniqCampusName}、所在地区、详细地址,主院区选「否」,状态选「启用」
2. 点击「确 定」
3. 检查弹窗关闭,列表出现该名称行且字段一致
4. 后置:按环境约定停用或清理该院区,避免污染主数据","新增成功且列表可见;用例结束清理或停用,不留生产脏数据。环境禁止写则 skip。",""
"BASIC-BRN-010","基础设置 · 医院资料","院区管理 · 新增院区","院区名称为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗","1. 名称填 mock 空值 """",补齐地区与地址后点「确 定」
2. 检查必填提示,弹窗仍在,列表无新行","确定被拦截;不落库。",""
"BASIC-BRN-011","基础设置 · 医院资料","院区管理 · 新增院区","所在地区为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗","1. 名称填 mock 值 __MOCK_CAMPUS_NO_REGION__,地址填 __MOCK_ADDR__,不选所在地区
2. 点击「确 定」
3. 检查必填提示,弹窗仍在","确定被拦截;不落库。",""
"BASIC-BRN-012","基础设置 · 医院资料","院区管理 · 新增院区","详细地址为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开新增弹窗","1. 名称填 mock 值 __MOCK_CAMPUS_NO_ADDR__ 并选择地区,地址留空 """"
2. 点击「确 定」
3. 检查必填提示,弹窗仍在","确定被拦截;不落库。",""
"BASIC-BRN-013","基础设置 · 医院资料","院区管理 · 编辑院区","打开编辑弹窗并回填","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据","1. 从首行读取 ${sampleCampusId}、${sampleCampusName}、${sampleCampusAddress}
2. 点击「编 辑」
3. 检查弹窗标题是否为「编辑院区」
4. 检查 #form_item_id 等于 ${sampleCampusId},名称/地址回填正确
5. 检查额外可见「启用云仓」
6. 点击「取 消」","编辑弹窗回填正确;相对新增多出院区编号与启用云仓。",""
"BASIC-BRN-014","基础设置 · 医院资料","院区管理 · 编辑院区","编辑态院区编号不可换号","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开首行编辑","1. 检查 #form_item_id 可见且值等于列表「院区编号」
2. 若编号只读则直接检查 disabled/readonly;若可输入则改写为 mock 值 __MOCK_CAMPUS_ID__ 后点确定,刷新后编号仍为原值
3. 未改其它字段时点「取 消」","院区编号与列表一致;保存后编号不变。",""
"BASIC-BRN-015","基础设置 · 医院资料","院区管理 · 编辑院区","编辑取消不保存","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据","1. 打开首行编辑,记录原名称
2. 将名称改为 ${uniqCampusName} 后点「取 消」
3. 再次打开编辑,检查名称仍为原值","取消后列表与回看均为修改前名称。",""
"BASIC-BRN-016","基础设置 · 医院资料","院区管理 · 编辑院区","编辑状态为禁用启用","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开编辑弹窗","1. 检查状态选项文案为「禁用 / 启用」(不是新增弹窗的「停用 / 启用」)
2. 点「取 消」,不改状态","编辑态状态文案与新增不同;本条不真实切换生产院区状态。",""
"BASIC-BRN-017","基础设置 · 医院资料","院区管理 · 编辑院区","编辑可见启用云仓","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);已打开编辑弹窗","1. 检查「启用云仓」单选「是 / 否」可见
2. 点「取 消」,不改云仓标志","编辑可看到启用云仓;本条不真实改生产院区云仓开关。",""
"BASIC-BRN-018","基础设置 · 医院资料","院区管理 · 编辑院区","编辑清空必填拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;已进入院区管理页(/spd/basic/hospital/paltform/area,无 iframe);列表至少 1 条数据","1. 打开首行编辑,将院区名称清空为 mock 空值 """" 后点「确 定」
2. 检查必填提示,弹窗仍在
3. 点「取 消」后再打开,检查名称仍为原值","确定被拦截;原记录不被写成空。",""
testcase/基础管理-厂商管理-供应商节假日管理-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-HLD-001","基础设置 · 厂商管理","供应商节假日管理 · 页面进入","菜单进入供应商节假日管理页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 按菜单进入供应商节假日管理
2. 断言 URL 含 `prov/holiday`
3. 断言可见节假日主区与新增","进入供应商节假日管理页。",""
"VENDOR-HLD-002","基础设置 · 厂商管理","供应商节假日管理 · 左右分栏","选中左侧节假日展示详情","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe);左侧有数据","1. 点击左侧首行
2. 断言默认假日详情或自定义列表区可见","详情联动成功。",""
"VENDOR-HLD-003","基础设置 · 厂商管理","供应商节假日管理 · 左右分栏","左侧搜索无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 左侧搜索框填 mock 并回车
2. 断言左侧列表空态","无匹配空态明确。",""
"VENDOR-HLD-004","基础设置 · 厂商管理","供应商节假日管理 · 维护","左侧新增取消","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 点击新增
2. 取消/关闭不保存
3. 断言仍停留本页且无异常","取消不落库。",""
"VENDOR-HLD-005","基础设置 · 厂商管理","供应商节假日管理 · 左右分栏","自定义节假日列表区可见","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 选中左侧行
2. 断言「供应商自定义节假日列表」区域可见(可为空态)","自定义区可见。",""
"VENDOR-HLD-006","基础设置 · 厂商管理","供应商节假日管理 · 维护","结束早于开始日期拦截","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 打开新增/编辑,结束日期早于开始日期尝试保存
2. 断言拒绝保存并提示","非法日期被拦截。",""
"VENDOR-HLD-007","基础设置 · 厂商管理","供应商节假日管理 · 维护","开始结束为同一天","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 打开新增/编辑,开始与结束日期选同一天尝试保存(或仅校验控件)
2. 断言允许保存或明确提示规则(按产品规则),不报错白屏","同日区间规则明确。",""
"VENDOR-HLD-008","基础设置 · 厂商管理","供应商节假日管理 · 左右分栏","进院供应商主数据一致","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商节假日管理页(/spd/basic/mfrs/basic/prov/holiday,无 iframe)","1. 在自定义列表抽样进院供应商(若有数据)
2. 断言可在厂商/供应商主数据中找到对应记录","自定义节假日供应商与主数据一致。",""
testcase/基础管理-厂商管理-供应商资质管理-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-QUL-001","基础设置 · 厂商管理","供应商资质管理 · 页面进入","菜单进入供应商资质管理页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 供应商资质管理」进入
2. 断言 URL 含 `/spd/basic/mfrs/basic/qcManage`
3. 断言可见「查 询」「重 置」及证件效期提醒相关入口","进入供应商资质管理;不误入厂商查询。",""
"VENDOR-QUL-002","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 点击「查 询」并等待列表稳定
2. 断言出现数据行或空态明确","查询无报错;有数据时分页 N≥1。",""
"VENDOR-QUL-003","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","切换授权链路效期预警 Tab","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 点击「授权链路效期预警」
2. 断言列表有数据或空态明确","Tab 切换成功,列表字段可随 Tab 变化。",""
"VENDOR-QUL-004","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","近三个月到期计数一致","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 切换「近三个月到期」(或等价文案)
2. 若可读到括号/冒号计数,断言等于分页「共 N 条」","计数与分页一致(可读时)。",""
"VENDOR-QUL-005","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","按进院供应商筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);证件效期提醒至少 1 条且进院供应商非空","1. 从首行读取 `${sampleHospitalSupplier}` 取关键字
2. 在进院供应商名称填入关键字并「查 询」
3. 断言结果行「进院供应商」包含关键字","进院供应商列与条件一致。",""
"VENDOR-QUL-006","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","重置恢复默认","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 填写筛选条件后点击「重 置」
2. 断言列表按默认规则刷新","筛选恢复默认。",""
"VENDOR-QUL-007","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 进院供应商名称填入 `__NOT_EXIST_SUPPLIER__99999`
2. 点击「查 询」
3. 断言空态且分页总数为 0","无匹配时不报错;总数为 0。",""
"VENDOR-QUL-008","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","证件效期提醒核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 处于证件效期提醒 Tab
2. 断言表头含序号、数据来源、进院供应商、有效期至、证件名称、证件类型、效期提醒、操作","核心列可见。",""
"VENDOR-QUL-009","基础设置 · 厂商管理","供应商资质管理 · 查看与导出","打开查看后关闭","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe);列表至少 1 行含「查看」","1. 点击首行「查 看」
2. 断言详情层可见
3. 关闭/返回,断言回到列表","详情可打开;关闭后回到列表。",""
"VENDOR-QUL-010","基础设置 · 厂商管理","供应商资质管理 · 查看与导出","导出按钮可见","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 断言「导出」或「导出明细」按钮可见(本批不确认下载)","导出入口可见。",""
"VENDOR-QUL-011","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","制单/效期日期起止同一天","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 若存在日期区间筛选,起止选同一天并查询
2. 断言仅返回该日数据或空态明确,不报错","同日区间行为明确。",""
"VENDOR-QUL-012","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","效期提醒与有效期至抽样一致","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入供应商资质管理页(/spd/basic/mfrs/basic/qcManage,无 iframe)","1. 在近三个月到期列表抽样一行
2. 核对「效期提醒」文案与「有效期至」日期逻辑一致","提醒文案与有效期至不矛盾。",""
"VENDOR-QUL-013","基础设置 · 厂商管理","供应商资质管理 · 筛选与 Tab","多条件组合查询(销售商名称等2项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「销售商名称」填写关键字
3. 「证件类型」下拉选择任一可选项
4. 点击「查询」
5. 检查列表返回结果","多条件同时生效:销售商名称、证件类型 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-厂商查询-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-QRY-001","基础设置 · 厂商管理","厂商查询 · 页面进入","菜单进入厂商查询页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 厂商查询」进入
2. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/factory`
3. 断言可见「器械注册人」「经销商」Tab、厂商名称搜索框及列表表头","进入厂商查询页;不误入供应商资质管理。",""
"VENDOR-QRY-002","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","默认器械注册人列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 切换或停留「器械注册人」
2. 断言出现数据行,或「暂无数据」且分页总数为 0","器械注册人列表稳定;有数据时分页「共 N 条」N≥1。",""
"VENDOR-QRY-003","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","切换经销商 Tab","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 点击「经销商」
2. 断言 Tab 激活,列表有数据或空态明确","经销商列表加载成功;总数可与器械注册人不同。",""
"VENDOR-QRY-004","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","按厂商名称搜索","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);器械注册人至少 1 条且厂商名称非空","1. 从首行读取 `${sampleMfrsName}` 取关键字
2. 在厂商名称搜索框填入关键字并回车
3. 断言结果行「厂商名称」包含关键字","厂商名称列与关键字匹配。",""
"VENDOR-QRY-005","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","清空搜索恢复","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);已按厂商名称过滤","1. 在已过滤状态下清空搜索框并回车
2. 断言分页总数不少于过滤后","恢复更宽结果集。",""
"VENDOR-QRY-006","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 厂商名称填入 `__NOT_EXIST_MFRS__99999` 并回车
2. 断言空态且分页总数为 0","无匹配时不报错;总数为 0。",""
"VENDOR-QRY-007","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 断言表头含序号、厂商编号、厂商名称、产地、详细地址、简称、开户银行、银行账号","核心列可见。",""
"VENDOR-QRY-008","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","分页翻至第 2 页","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe);器械注册人总数足够翻页","1. 总数足够时翻到第 2 页
2. 断言列表可加载;不足两页则 skip","第 2 页可加载。",""
"VENDOR-QRY-009","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","仅空格关键字搜索","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 厂商名称仅填空格并回车
2. 断言按空查询处理或提示,不白屏","不报错;行为明确。",""
"VENDOR-QRY-010","基础设置 · 厂商管理","厂商查询 · 页面进入","未登录访问拦截","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 清除登录态后直接打开厂商查询 URL
2. 断言跳转登录或不展示业务列表","未登录不可见厂商数据。",""
"VENDOR-QRY-011","基础设置 · 厂商管理","厂商查询 · Tab 与搜索","厂商名称与资质管理进院供应商可对照","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入厂商查询页(/spd/basic/mfrs/paltform/mfrsName/factory,无 iframe)","1. 记录厂商查询中某厂商名称(若有)
2. 打开供应商资质管理,用同源关键字检索或目视对照
3. 断言不出现明显主数据串名(允许一方无记录)","厂商主数据跨菜单可对照,不串名。",""
testcase/基础管理-厂商管理-授权变更初审-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-AF1-001","基础设置 · 厂商管理","授权变更初审 · 页面进入","菜单进入授权变更初审页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 授权变更初审」进入
2. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/authAudit`
3. 断言可见「查 询」「重 置」及制单日期筛选","进入授权变更初审页;不误入其它变更审批菜单。",""
"VENDOR-AF1-002","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 点击「查 询」并等待列表稳定
2. 断言出现数据行或空态明确","查询无报错;有数据时分页 N≥1。",""
"VENDOR-AF1-003","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","按单号筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);列表至少 1 条且单号非空","1. 从首行读取 `${sampleOrderNo}` 取关键字
2. 单号填入关键字并「查 询」
3. 断言结果行「单号」包含关键字","单号列与条件一致。",""
"VENDOR-AF1-004","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","按进院供应商筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);列表至少 1 条","1. 按样本填写或选择「进院供应商」并查询
2. 断言结果列与条件匹配","筛选条件生效。",""
"VENDOR-AF1-005","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","重置恢复默认","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 填写筛选项后点击「重 置」
2. 断言文本条件清空、列表按默认规则刷新","重置成功。",""
"VENDOR-AF1-006","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
2. 断言空态且分页总数为 0","无匹配时不报错;总数为 0。",""
"VENDOR-AF1-007","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、原供应商、预转供应商、操作
2. 断言存在「详情」操作","核心列与详情入口可见。",""
"VENDOR-AF1-008","基础设置 · 厂商管理","授权变更初审 · 详情","打开详情后返回","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe);存在含「详情」的行","1. 点击行内「详 情」
2. 断言详情层可见且含单号片段
3. 返回/关闭,不提交审批","详情只读可返回;列表状态不变。",""
"VENDOR-AF1-009","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","制单日期起止同一天","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 制单日期起止选同一天并查询
2. 断言仅返回该日单据或空态明确","同日区间行为明确。",""
"VENDOR-AF1-010","基础设置 · 厂商管理","授权变更初审 · 详情","与终审单据衔接不串单","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更初审页(/spd/basic/mfrs/paltform/mfrsName/authAudit,无 iframe)","1. 记录本页某单号后切换到对应终审菜单
2. 断言同业务单据状态流转合理、不串到非本业务菜单","初审/终审衔接正确。",""
"VENDOR-AF1-011","基础设置 · 厂商管理","授权变更初审 · 筛选与列表","多条件组合查询(制单日期等9项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「制单日期」日期区间选择当天
3. 「单号」填写关键字
4. 「销售商」下拉选择任一可选项
5. 「预转供应商」填写关键字
6. 「状态」下拉选择任一可选项
7. 「变更类型」下拉选择任一可选项
8. 「原供应商」填写关键字
9. 「医院ID」填写关键字
10. 「医院名称」填写关键字
11. 点击「查询」
12. 检查列表返回结果","多条件同时生效:制单日期、单号、销售商、预转供应商、状态、变更类型、原供应商、医院ID、医院名称 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-授权变更终审-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-AF2-001","基础设置 · 厂商管理","授权变更终审 · 页面进入","菜单进入授权变更终审页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 授权变更终审」进入
2. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/authAuditFinal`
3. 断言可见「查 询」「重 置」及制单日期筛选","进入授权变更终审页;不误入其它变更审批菜单。",""
"VENDOR-AF2-002","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 点击「查 询」并等待列表稳定
2. 断言出现数据行或空态明确","查询无报错;有数据时分页 N≥1。",""
"VENDOR-AF2-003","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","按单号筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);列表至少 1 条且单号非空","1. 从首行读取 `${sampleOrderNo}` 取关键字
2. 单号填入关键字并「查 询」
3. 断言结果行「单号」包含关键字","单号列与条件一致。",""
"VENDOR-AF2-004","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","按进院供应商筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);列表至少 1 条","1. 按样本填写或选择「进院供应商」并查询
2. 断言结果列与条件匹配","筛选条件生效。",""
"VENDOR-AF2-005","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","重置恢复默认","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 填写筛选项后点击「重 置」
2. 断言文本条件清空、列表按默认规则刷新","重置成功。",""
"VENDOR-AF2-006","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
2. 断言空态且分页总数为 0","无匹配时不报错;总数为 0。",""
"VENDOR-AF2-007","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、原供应商、预转供应商、操作
2. 断言存在「详情」操作","核心列与详情入口可见。",""
"VENDOR-AF2-008","基础设置 · 厂商管理","授权变更终审 · 详情","打开详情后返回","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe);存在含「详情」的行","1. 点击行内「详 情」
2. 断言详情层可见且含单号片段
3. 返回/关闭,不提交审批","详情只读可返回;列表状态不变。",""
"VENDOR-AF2-009","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","制单日期起止同一天","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 制单日期起止选同一天并查询
2. 断言仅返回该日单据或空态明确","同日区间行为明确。",""
"VENDOR-AF2-010","基础设置 · 厂商管理","授权变更终审 · 详情","与初审单据衔接不串单","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入授权变更终审页(/spd/basic/mfrs/paltform/mfrsName/authAuditFinal,无 iframe)","1. 记录本页某单号后切换到对应初审菜单
2. 断言同业务单据状态流转合理、不串到非本业务菜单","初审/终审衔接正确。",""
"VENDOR-AF2-011","基础设置 · 厂商管理","授权变更终审 · 筛选与列表","多条件组合查询(制单日期等7项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「制单日期」日期区间选择当天
3. 「单号」填写关键字
4. 「销售商」下拉选择任一可选项
5. 「预转供应商」填写关键字
6. 「状态」下拉选择任一可选项
7. 「变更类型」下拉选择任一可选项
8. 「原供应商」填写关键字
9. 点击「查询」
10. 检查列表返回结果","多条件同时生效:制单日期、单号、销售商、预转供应商、状态、变更类型、原供应商 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-注册证变更初审-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-CF1-001","基础设置 · 厂商管理","注册证变更初审 · 页面进入","菜单进入注册证变更初审页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 注册证变更初审」进入
2. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/regCertAudit`
3. 断言可见「查 询」「重 置」及制单日期筛选","进入注册证变更初审页;不误入其它变更审批菜单。",""
"VENDOR-CF1-002","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 点击「查 询」并等待列表稳定
2. 断言出现数据行或空态明确","查询无报错;有数据时分页 N≥1。",""
"VENDOR-CF1-003","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","按单号筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);列表至少 1 条且单号非空","1. 从首行读取 `${sampleOrderNo}` 取关键字
2. 单号填入关键字并「查 询」
3. 断言结果行「单号」包含关键字","单号列与条件一致。",""
"VENDOR-CF1-004","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","按注册证号(新)筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);列表至少 1 条","1. 按样本填写或选择「注册证号(新)」并查询
2. 断言结果列与条件匹配","筛选条件生效。",""
"VENDOR-CF1-005","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","重置恢复默认","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 填写筛选项后点击「重 置」
2. 断言文本条件清空、列表按默认规则刷新","重置成功。",""
"VENDOR-CF1-006","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
2. 断言空态且分页总数为 0","无匹配时不报错;总数为 0。",""
"VENDOR-CF1-007","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、注册证号(新)、操作
2. 断言存在「详情」操作","核心列与详情入口可见。",""
"VENDOR-CF1-008","基础设置 · 厂商管理","注册证变更初审 · 详情","打开详情后返回","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe);存在含「详情」的行","1. 点击行内「详 情」
2. 断言详情层可见且含单号片段
3. 返回/关闭,不提交审批","详情只读可返回;列表状态不变。",""
"VENDOR-CF1-009","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","制单日期起止同一天","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 制单日期起止选同一天并查询
2. 断言仅返回该日单据或空态明确","同日区间行为明确。",""
"VENDOR-CF1-010","基础设置 · 厂商管理","注册证变更初审 · 详情","与终审单据衔接不串单","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更初审页(/spd/basic/mfrs/paltform/mfrsName/regCertAudit,无 iframe)","1. 记录本页某单号后切换到对应终审菜单
2. 断言同业务单据状态流转合理、不串到非本业务菜单","初审/终审衔接正确。",""
"VENDOR-CF1-011","基础设置 · 厂商管理","注册证变更初审 · 筛选与列表","多条件组合查询(制单日期等6项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「制单日期」日期区间选择当天
3. 「单号」填写关键字
4. 「变更类型」下拉选择任一可选项
5. 「注册证号(新)」填写关键字
6. 「状态」下拉选择任一可选项
7. 「变更情况具体说明」填写关键字
8. 点击「查询」
9. 检查列表返回结果","多条件同时生效:制单日期、单号、变更类型、注册证号(新)、状态、变更情况具体说明 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-注册证变更终审-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-CF2-001","基础设置 · 厂商管理","注册证变更终审 · 页面进入","菜单进入注册证变更终审页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 注册证变更终审」进入
2. 断言 URL 含 `/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal`
3. 断言可见「查 询」「重 置」及制单日期筛选","进入注册证变更终审页;不误入其它变更审批菜单。",""
"VENDOR-CF2-002","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 点击「查 询」并等待列表稳定
2. 断言出现数据行或空态明确","查询无报错;有数据时分页 N≥1。",""
"VENDOR-CF2-003","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","按单号筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);列表至少 1 条且单号非空","1. 从首行读取 `${sampleOrderNo}` 取关键字
2. 单号填入关键字并「查 询」
3. 断言结果行「单号」包含关键字","单号列与条件一致。",""
"VENDOR-CF2-004","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","按注册证号(新)筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);列表至少 1 条","1. 按样本填写或选择「注册证号(新)」并查询
2. 断言结果列与条件匹配","筛选条件生效。",""
"VENDOR-CF2-005","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","重置恢复默认","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 填写筛选项后点击「重 置」
2. 断言文本条件清空、列表按默认规则刷新","重置成功。",""
"VENDOR-CF2-006","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 单号填入 `__NOT_EXIST_ORDER__99999` 并查询
2. 断言空态且分页总数为 0","无匹配时不报错;总数为 0。",""
"VENDOR-CF2-007","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 断言表头含 进院供应商名称、单号、状态、制单时间、制单人、变更类型、注册证号(新)、操作
2. 断言存在「详情」操作","核心列与详情入口可见。",""
"VENDOR-CF2-008","基础设置 · 厂商管理","注册证变更终审 · 详情","打开详情后返回","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe);存在含「详情」的行","1. 点击行内「详 情」
2. 断言详情层可见且含单号片段
3. 返回/关闭,不提交审批","详情只读可返回;列表状态不变。",""
"VENDOR-CF2-009","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","制单日期起止同一天","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 制单日期起止选同一天并查询
2. 断言仅返回该日单据或空态明确","同日区间行为明确。",""
"VENDOR-CF2-010","基础设置 · 厂商管理","注册证变更终审 · 详情","与初审单据衔接不串单","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证变更终审页(/spd/basic/mfrs/paltform/mfrsName/regCertAuditFinal,无 iframe)","1. 记录本页某单号后切换到对应初审菜单
2. 断言同业务单据状态流转合理、不串到非本业务菜单","初审/终审衔接正确。",""
"VENDOR-CF2-011","基础设置 · 厂商管理","注册证变更终审 · 筛选与列表","多条件组合查询(制单日期等5项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「制单日期」日期区间选择当天
3. 「单号」填写关键字
4. 「变更类型」下拉选择任一可选项
5. 「注册证号(新)」填写关键字
6. 「状态」下拉选择任一可选项
7. 点击「查询」
8. 检查列表返回结果","多条件同时生效:制单日期、单号、变更类型、注册证号(新)、状态 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-注册证差异对比-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-CDF-001","基础设置 · 厂商管理","注册证差异对比 · 页面进入","菜单进入注册证差异对比页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 按菜单「基础设置 → 厂商管理 → 注册证差异对比」进入
2. 断言 URL 含 `certCompare`
3. 断言外壳或 iframe 内可见物料名称/全部/一致/不一致等主区","进入差异对比页;iframe 或主区加载成功。",""
"VENDOR-CDF-002","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 在对比页执行查询(若有查询按钮)
2. 断言列表有数据或空态明确","查询无报错。",""
"VENDOR-CDF-003","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","切换不一致 Tab","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 点击「不一致」
2. 断言列表稳定","不一致 Tab 切换成功。",""
"VENDOR-CDF-004","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","切换一致 Tab","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 点击「一致」
2. 断言列表稳定","一致 Tab 切换成功。",""
"VENDOR-CDF-005","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","按物料名称筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe);对比列表至少 1 条","1. 从首行读取 `${sampleMaterialName}` 取关键字
2. 物料名称填入并查询
3. 断言结果行物料名称包含关键字","物料名称匹配。",""
"VENDOR-CDF-006","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 物料名称填 mock 关键字并查询
2. 断言空态或总数为 0","无匹配时不报错。",""
"VENDOR-CDF-007","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 断言表头含物料编号/物料名称/规格型号/生产厂家等关键列","核心对比列可见。",""
"VENDOR-CDF-008","基础设置 · 厂商管理","注册证差异对比 · 导出","导出按钮可见","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 断言「导出」按钮可见(不确认下载)","导出入口可见。",""
"VENDOR-CDF-009","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","仅空格物料名称搜索","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 物料名称仅填空格并查询
2. 断言按空查询处理或提示,不白屏","空格关键字不导致页面异常。",""
"VENDOR-CDF-010","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","一致行两侧字段抽样一致","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 在「一致」Tab 抽样一行
2. 核对望海与 FLI+ 注册证号/效期关键字段一致","标记一致的行两侧关键字段抽样相同。",""
"VENDOR-CDF-011","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","不一致行至少一侧差异","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入注册证差异对比页(/spd/basic/mfrs/scjs/yc/certCompare,无 iframe)","1. 在「不一致」Tab 抽样一行
2. 断言望海与 FLI+ 至少一处字段不同","不一致结论与字段差异相符。",""
"VENDOR-CDF-012","基础设置 · 厂商管理","注册证差异对比 · 筛选与对比","多条件组合查询(物料名称等8项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「物料名称」填写关键字
3. 「规格型号」填写关键字
4. 「状态」下拉选择任一可选项
5. 「望海注册证号」填写关键字
6. 「是否医疗器械」下拉选择任一可选项
7. 「生产厂家」填写关键字
8. 「FLI+注册证号」填写关键字
9. 「27位医保编码」填写关键字
10. 点击「查询」
11. 检查列表返回结果","多条件同时生效:物料名称、规格型号、状态、望海注册证号、是否医疗器械、生产厂家、FLI+注册证号、27位医保编码 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-评价指标维护-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-EVI-001","基础设置 · 厂商管理","评价指标维护 · 页面进入","菜单进入评价指标维护页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 按菜单进入评价指标维护
2. 断言 URL 含 `indicators`
3. 断言可见「指标分类」与查询","进入评价指标维护页。",""
"VENDOR-EVI-002","基础设置 · 厂商管理","评价指标维护 · 树与列表","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 点击查询
2. 断言右表有数据或空态","查询无报错。",""
"VENDOR-EVI-003","基础设置 · 厂商管理","评价指标维护 · 树与列表","点击左侧分类树","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 点击左侧首个分类节点
2. 断言右侧列表刷新","分类切换成功。",""
"VENDOR-EVI-004","基础设置 · 厂商管理","评价指标维护 · 树与列表","按指标编码筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);右表有数据","1. 取样本指标编码/编号筛选并查询
2. 断言编码列匹配","指标编码匹配。",""
"VENDOR-EVI-005","基础设置 · 厂商管理","评价指标维护 · 树与列表","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 指标编码填 mock 后查询
2. 断言空态","无匹配不报错。",""
"VENDOR-EVI-006","基础设置 · 厂商管理","评价指标维护 · 树与列表","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 断言表头含评价类型、指标编码或指标编号、指标名称、状态、操作","核心列可见。",""
"VENDOR-EVI-007","基础设置 · 厂商管理","评价指标维护 · 详情","打开详情后返回","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe);存在详情操作行","1. 点击行内详情
2. 断言详情层可见
3. 返回不保存","详情只读可返回。",""
"VENDOR-EVI-008","基础设置 · 厂商管理","评价指标维护 · 树与列表","分类下无指标空态","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 选择无指标的分类(若有)
2. 断言右表空态明确","空分类下列表空态正确。",""
"VENDOR-EVI-009","基础设置 · 厂商管理","评价指标维护 · 树与列表","启用指标可供方案使用","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价指标维护页(/spd/basic/mfrs/paltform/mfrsName/indicators,无 iframe)","1. 确认状态为启用的指标
2. 在评价方案维护中核对其可选(只读核对或抽样)","启用指标与方案引用衔接正确。",""
"VENDOR-EVI-010","基础设置 · 厂商管理","评价指标维护 · 树与列表","多条件组合查询(指标编码等2项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「指标编码」填写关键字
3. 「指标名称」填写关键字
4. 点击「查询」
5. 检查列表返回结果","多条件同时生效:指标编码、指标名称 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-厂商管理-评价方案维护-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"VENDOR-EVS-001","基础设置 · 厂商管理","评价方案维护 · 页面进入","菜单进入评价方案维护页","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 按菜单进入评价方案维护
2. 断言 URL 含 `evaluationPlan`
3. 断言可见查询与新增","进入评价方案维护页。",""
"VENDOR-EVS-002","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","默认查询列表有数据或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 点击查询
2. 断言列表有数据或「暂无数据」空态","查询无报错。",""
"VENDOR-EVS-003","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","按方案编码筛选","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe);列表有数据","1. 取样本方案编码筛选并查询
2. 断言方案编码列匹配","方案编码匹配。",""
"VENDOR-EVS-004","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","重置恢复默认","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 填写筛选后重置
2. 断言条件清空、列表刷新","重置成功。",""
"VENDOR-EVS-005","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","无匹配空态(mock反例)","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 方案编码填 mock 后查询
2. 断言空态总数 0","无匹配不报错。",""
"VENDOR-EVS-006","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 断言表头含方案编码、方案名称、创建人、创建时间、状态、操作","核心列可见。",""
"VENDOR-EVS-007","基础设置 · 厂商管理","评价方案维护 · 新增","打开新增后取消","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 记录总数
2. 点击新增打开编辑层
3. 取消/返回不提交
4. 断言总数不变","取消不落库。",""
"VENDOR-EVS-008","基础设置 · 厂商管理","评价方案维护 · 新增","必填为空提交拦截","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 打开新增不填必填项尝试提交(若可点)
2. 断言拦截提示,页面不关闭或总数不变","空提交被拦截。",""
"VENDOR-EVS-009","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","方案名称超长输入","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 打开新增,方案名称输入超长字符串(如 200+ 字符)
2. 断言前端截断/校验提示或后端拒绝,不白屏","超长输入被约束且页面可用。",""
"VENDOR-EVS-010","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","方案与评价指标可关联","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 厂商管理」权限;已进入评价方案维护页(/spd/basic/mfrs/paltform/mfrsName/evaluationPlan,无 iframe)","1. 在方案配置中查看指标选择(只读打开)
2. 断言可选指标来源于评价指标维护启用项或规则允许集合","方案与指标主数据衔接正确。",""
"VENDOR-EVS-011","基础设置 · 厂商管理","评价方案维护 · 筛选与维护","多条件组合查询(创建日期等4项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 厂商管理」权限;已进入厂商管理对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「创建日期」日期区间选择当天
3. 「启用日期」日期区间选择当天
4. 「方案编码」填写关键字
5. 「方案名称」填写关键字
6. 点击「查询」
7. 检查列表返回结果","多条件同时生效:创建日期、启用日期、方案编码、方案名称 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-库房管理-库区设置-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
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),无需在用例内重复登录
2. 断言左侧「库房信息」至少 1 个节点且有选中项
3. 读取选中节点 `${sampleWhName}`
4. 断言右侧列表为该库房库区,或空态且「共 0 条」",树有选中;右侧对应当前库房。,
WH-ZON-004,基础设置 · 库房管理,库区设置 · 左侧库房树,按库房名称过滤树,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 库区设置」权限;已进入库区设置页(/spd/basic/storehouse/platform/storehouse/area,无 iframe);库房树至少 1 个节点,"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 读取当前选中 `${sampleWhName}` 取关键字(可截取前若干字)
3. 在左侧「库房名称」输入关键字
4. 断言可见节点名称均包含该关键字",树过滤结果与关键字匹配。,
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),无需在用例内重复登录
2. 记录过滤前节点数
3. 输入关键字过滤后再清空
4. 断言节点数恢复为过滤前",清空后树恢复全量。,
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),无需在用例内重复登录
2. 记录当前库房 `${sampleWhName}` 与右侧首行库区编号(若有)
3. 点选另一库房节点(仅 1 个则 skip)
4. 断言「共 N 条」可变化;若有行则库区编号/名称属于新库房",切换库房后右侧列表刷新,不残留上一库房库区。,
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. 断言树为空或明确无数据,右侧不展示上一库房库区为成功态",无匹配不报错;不残留上一库房列表当成功。,
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-009,基础设置 · 库房管理,库区设置 · 右侧库区列表与分页,默认库区以标签展示,高,测试环境可访问;正例账号 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-010,基础设置 · 库房管理,库区设置 · 库区搜索,按库区编号搜索,高,测试环境可访问;正例账号 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-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. 从首行读取 `${sampleZoneName}` 取关键字
3. 在「库区编号/名称」填入关键字并搜索
4. 断言结果行名称匹配",名称关键字命中;无未捕获异常。,
WH-ZON-012,基础设置 · 库房管理,库区设置 · 库区搜索,无匹配库区空态(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-013,基础设置 · 库房管理,库区设置 · 新增库区,打开新增库区弹窗,高,测试环境可访问;正例账号 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-014,基础设置 · 库房管理,库区设置 · 新增库区,新增取消不落库,中,测试环境可访问;正例账号 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-015,基础设置 · 库房管理,库区设置 · 新增库区,必填为空拦截,高,测试环境可访问;正例账号 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-016,基础设置 · 库房管理,库区设置 · 编辑库区,打开编辑并回填,高,测试环境可访问;正例账号 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-017,基础设置 · 库房管理,库区设置 · 编辑库区,编辑取消不保存,中,测试环境可访问;正例账号 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-018,基础设置 · 库房管理,库区设置 · 编辑库区,编辑清空必填拦截,高,测试环境可访问;正例账号 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-019,基础设置 · 库房管理,库区设置 · 人员管理,打开人员管理后关闭,高,测试环境可访问;正例账号 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-020,基础设置 · 库房管理,库区设置 · 货位管理,打开货位管理后关闭,高,测试环境可访问;正例账号 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. 关闭后断言库房选中与库区列表保持",货位管理可打开;关闭后列表状态保持。本条不改货位。,
testcase/基础管理-库房管理-探针绑定-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
用例编号,功能模块,功能测试点,用例标题,优先级,前置条件,测试步骤,预期结果,实际结果
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),无需在用例内重复登录
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,基础设置 · 库房管理,探针绑定 · 筛选与查询,按是否绑定货位查询,高,测试环境可访问;正例账号 test_1 已通过 auth.setup 写入 storageState 登录(密码仅存 .env TEST_PASS,勿写入本表);具备「基础设置 → 库房管理 → 探针绑定」权限;已进入探针绑定页(/spd/basic/storehouse/storehouse/probe,无 iframe),"1. 确认 chromium 已加载 storageState(auth.setup,正例账号 test_1),无需在用例内重复登录
2. 是否绑定货位选择「已绑定」,点击「查 询」
3. 断言结果「是否绑定货位」均为已绑定,且「绑定的货位」>0
4. 再选「未绑定」查询,断言均为未绑定且数量为 0(无数据则空态)",已绑定数量大于 0;未绑定数量为 0。,
WH-PRB-007,基础设置 · 库房管理,探针绑定 · 筛选与查询,探针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-008,基础设置 · 库房管理,探针绑定 · 筛选与查询,重置恢复默认,中,测试环境可访问;正例账号 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-009,基础设置 · 库房管理,探针绑定 · 筛选与查询,无匹配空态(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-010,基础设置 · 库房管理,探针绑定 · 列表与分页,列表核心列与数量规则,高,测试环境可访问;正例账号 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-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. 断言弹出「货位绑定探针」,可见当前库房/库区/货位查询及货位列表",弹窗标题正确;筛选与列表可见。,
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. 记录主列表首行绑定数量与当前筛选
3. 打开绑定弹窗后点「取 消」
4. 断言主列表绑定数量与筛选条件保持",取消不改绑定关系。,
WH-PRB-013,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,未选货位时确定计数为 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-014,基础设置 · 库房管理,探针绑定 · 打开绑定货位弹窗,弹窗分页独立于主列表,中,测试环境可访问;正例账号 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-015,基础设置 · 库房管理,探针绑定 · 弹窗筛选货位,按当前库房筛选货位,高,测试环境可访问;正例账号 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-016,基础设置 · 库房管理,探针绑定 · 弹窗筛选货位,弹窗内重置,中,测试环境可访问;正例账号 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-017,基础设置 · 库房管理,探针绑定 · 勾选货位并保存绑定,勾选后确定计数增加再取消勾选,中,测试环境可访问;正例账号 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. 点「取 消」,不保存",计数随勾选变化;取消勾选不落库。,
testcase/基础管理-手术套包设置-基础包维护-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"SURG-BASE-001","基础设置 · 手术套包设置","基础包维护 · 左侧分类树","分类名称搜索过滤","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 从左树读取 `${sampleCategoryName}`
2. 在分类名称搜索框填入该关键字(即时过滤或回车,以现网为准)
3. 断言树节点文本均包含该关键字","过滤后树节点名称与关键字匹配;无未捕获异常。",""
"SURG-BASE-002","基础设置 · 手术套包设置","基础包维护 · 左侧分类树","选择分类联动右侧列表","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 点击 `${sampleCategoryName}` 分类节点
2. 等待右侧列表刷新稳定
3. 断言列表加载无报错,分页「共 N 条」与当前分类规模一致","右侧仅展示该分类下基础包;总数与筛选一致。",""
"SURG-BASE-003","基础设置 · 手术套包设置","基础包维护 · 左侧分类树","打开新增分类弹窗","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 点击「新增分类」
2. 断言弹窗可见,含分类名称输入(#form_item_kindName)与「取 消」「确 认」
3. 点击「取 消」关闭","新增分类弹窗字段完整;取消可关闭。",""
"SURG-BASE-004","基础设置 · 手术套包设置","基础包维护 · 左侧分类树","分类搜索清空恢复全量","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 用 `${sampleCategoryName}` 过滤并记录过滤后节点数
2. 清空分类搜索框
3. 断言节点数回到未过滤的默认集合(或不少于过滤后节点数)","清空后分类树恢复默认集合。",""
"SURG-BASE-005","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","默认列出基础包或空态明确","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 等待列表稳定
2. 断言出现数据行,或「暂无数据」且分页总数为 0","加载无报错;有数据时「共 N 条」N≥1;无数据时空态明确。",""
"SURG-BASE-006","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","产品名称筛选过滤","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 从首行读取 `${sampleProductName}`
2. 在 `#table_search_form_keyword` 填入该关键字并点击「查 询」
3. 断言结果行产品名称均包含该关键字","过滤结果与关键字匹配;「共 N 条」随之更新。",""
"SURG-BASE-007","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","规格型号筛选过滤","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 从首行读取 `${sampleSpecModel}`
2. 在 `#table_search_form_goodsSpec` 填入该关键字并点击「查 询」
3. 断言结果行规格型号均包含该关键字","按规格型号过滤生效。",""
"SURG-BASE-008","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","器械注册人筛选过滤","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 从首行读取 `${sampleMfrsName}`
2. 在 `#table_search_form_goodsMfrsName` 填入该关键字并点击「查 询」
3. 断言结果行器械注册人均包含该关键字","按器械注册人过滤生效。",""
"SURG-BASE-009","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 断言表头包含序号、产品编号、产品名称、规格型号、器械注册人、单位、产地、耗材类型、操作","核心列均可见,操作列含「编 辑」「移 除」。",""
"SURG-BASE-010","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","查询与重置","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 用关键字过滤后点击「重 置」
2. 断言筛选输入框被清空、列表恢复默认集合","重置清空筛选并恢复默认列表。",""
"SURG-BASE-011","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","分页与页大小切换","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据;列表总数大于单页行数上限","1. 切换每页条数(如 50 → 100)
2. 断言单页行数不超过所选值,分页总数不变","页大小切换生效;总数保持稳定。",""
"SURG-BASE-012","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","首页上一页不可用","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 处于第 1 页
2. 断言「上一页」置灰或点击无效果","第 1 页无法回到上一页。",""
"SURG-BASE-013","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","搜索无匹配空态(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-014","基础设置 · 手术套包设置","基础包维护 · 新增基础包","打开新增基础包弹窗","高","测试环境可访问;已通过 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-015","基础设置 · 手术套包设置","基础包维护 · 新增基础包","新增取消不落库","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 记录当前分页总数 `${sampleTotal}`
2. 打开新增,填写名称 `${uniqPkgName}` 后点「取 消」
3. 断言列表总数不变,且无该名称行","取消后不新增基础包。",""
"SURG-BASE-016","基础设置 · 手术套包设置","基础包维护 · 新增基础包","合法必填新增成功","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);允许写基础包;名称 `${uniqPkgName}`(建议 AUTO-BASE-${timestamp})、编码 `${uniqPkgCode}`","1. 打开新增,填写名称、所属分类、包编码
2. 点击「确 认」
3. 断言弹窗关闭,列表出现该名称行且字段一致
4. 后置:按环境约定清理该基础包,避免污染主数据","新增成功且列表可见;用例结束清理,不留生产脏数据。",""
"SURG-BASE-017","基础设置 · 手术套包设置","基础包维护 · 新增基础包","基础包名称为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 打开新增基础包弹窗,名称留空,补齐所属分类与包编码
2. 点击「确 认」
3. 断言必填提示,弹窗仍在,列表无新行","确定被拦截;不落库。",""
"SURG-BASE-018","基础设置 · 手术套包设置","基础包维护 · 新增基础包","所属分类为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe)","1. 打开新增基础包弹窗,填写名称与包编码,不选所属分类
2. 点击「确 认」
3. 断言必填提示,弹窗仍在","确定被拦截;不落库。",""
"SURG-BASE-019","基础设置 · 手术套包设置","基础包维护 · 新增基础包","重复点击确定防重","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);允许写基础包;使用唯一名称 `${uniqPkgName}`","1. 打开新增弹窗并填写合法数据
2. 快速连点「确 认」两次
3. 断言只产生一条基础包(或无重复名称/编码行)","连点只落一条;无重复脏数据。",""
"SURG-BASE-020","基础设置 · 手术套包设置","基础包维护 · 行内操作(编辑 / 移除)","行内编辑回填","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 点击首行「编 辑」
2. 断言编辑弹窗可见且回填当前行数据
3. 点击「取 消」关闭","编辑弹窗回填正确;取消不影响数据。",""
"SURG-BASE-021","基础设置 · 手术套包设置","基础包维护 · 行内操作(编辑 / 移除)","移除二次确认防误删","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);默认列表至少 1 条数据","1. 记录当前总数 `${sampleTotal}`
2. 点击首行「移 除」
3. 若出现确认框则点「取 消」
4. 断言总数仍为 `${sampleTotal}`","移除有二次确认;取消不删除。",""
"SURG-BASE-022","基础设置 · 手术套包设置","基础包维护 · 行内操作(编辑 / 移除)","新增基础包可在标准套包被引用","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入基础包维护页(/spd/basic/operationSetting/baseMaintenance,无 iframe);已新增 `${uniqPkgName}` 且未清理;允许跨页只读访问","1. 进入「标准套包维护」,点击「添加基础包」
2. 在弹窗搜索框输入 `${uniqPkgName}`
3. 断言可检索到该基础包并可勾选
4. 后置:清理该基础包","新增基础包在标准套包可选;跨页数据一致。",""
"SURG-BASE-023","基础设置 · 手术套包设置","基础包维护 · 右侧筛选与列表","多条件组合查询(物料名称等5项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 手术套包设置」权限;已进入手术套包设置对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「物料名称」填写关键字
3. 「规格型号」填写关键字
4. 「器械注册人」填写关键字
5. 「耗材类型」下拉选择任一可选项
6. 「是否收费」下拉选择任一可选项
7. 点击「查询」
8. 检查列表返回结果","多条件同时生效:物料名称、规格型号、器械注册人、耗材类型、是否收费 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
testcase/基础管理-手术套包设置-术种维护-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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}`
2. 在分类名称搜索框填入该关键字(即时过滤或回车,以现网为准)
3. 断言树节点文本均包含该关键字","过滤后树节点名称与关键字匹配;无未捕获异常。",""
"SURG-TYPE-005","基础设置 · 手术套包设置","术种维护 · 左侧术种分类树","选择分类联动右侧列表","高","测试环境可访问;已通过 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}`
2. 点击该节点
3. 断言右侧「共 N 条」与 `${nodeCount}` 一致","分类计数与该分类下术种条数一致。",""
"SURG-TYPE-007","基础设置 · 手术套包设置","术种维护 · 左侧术种分类树","打开分类维护弹窗","中","测试环境可访问;已通过 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}` 过滤并记录过滤后节点数
2. 清空分类搜索框
3. 断言节点数回到未过滤的默认集合","清空后分类树恢复默认集合。",""
"SURG-TYPE-009","基础设置 · 手术套包设置","术种维护 · 筛选与状态 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}`
2. 在 `#table_search_form_disease` 填入该关键字并点击「查 询」
3. 断言结果行病种名称均包含该关键字","按病种名称过滤生效。",""
"SURG-TYPE-011","基础设置 · 手术套包设置","术种维护 · 筛选与状态 Tab","状态 Tab 切换与计数一致","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe)","1. 读取「全部」Tab 括号计数 `${totalCount}`
2. 依次点击「停用」「未建分类」「全部」
3. 每次断言列表条数与「共 N 条」和该 Tab 括号计数一致","Tab 切换后列表仅展示对应状态;括号计数与结果规模一致。",""
"SURG-TYPE-012","基础设置 · 手术套包设置","术种维护 · 筛选与状态 Tab","左树 + 筛选 + Tab 组合过滤","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据","1. 选择 `${sampleOperCategoryName}` 分类节点
2. 填入术种名称关键字并点「查 询」
3. 切到「全部」Tab
4. 断言结果为三者交集且无未捕获异常","三条件叠加后结果正确,总数一致。",""
"SURG-TYPE-013","基础设置 · 手术套包设置","术种维护 · 筛选与状态 Tab","重置清空筛选","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据","1. 用关键字过滤后点击「重 置」
2. 断言筛选输入框被清空、列表恢复默认集合","重置清空筛选并恢复默认列表。",""
"SURG-TYPE-014","基础设置 · 手术套包设置","术种维护 · 筛选与状态 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-015","基础设置 · 手术套包设置","术种维护 · 列表与编码展示","列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据","1. 断言表头包含序号、术种名称、病种名称、诊断编码(ICD-10)、诊断名称(ICD-10)、操作编码(ICD-9-CM-3)、操作名称(ICD-9-CM-3)、操作","核心列均可见,操作列含「编 辑」「停用/启用」。",""
"SURG-TYPE-016","基础设置 · 手术套包设置","术种维护 · 列表与编码展示","ICD-10 诊断编码展示完整","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;至少 1 条含诊断编码的数据","1. 读取含 ICD-10 编码的行 `${sampleIcd10Code}`
2. 断言编码文本完整(如 A02.000x010)不截断、无乱码","ICD-10 编码完整展示。",""
"SURG-TYPE-017","基础设置 · 手术套包设置","术种维护 · 列表与编码展示","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-018","基础设置 · 手术套包设置","术种维护 · 列表与编码展示","分页与页大小切换","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据;列表总数大于单页行数上限","1. 切换每页条数(如 50 → 100)
2. 断言单页行数不超过所选值,分页总数不变","页大小切换生效;总数保持稳定。",""
"SURG-TYPE-019","基础设置 · 手术套包设置","术种维护 · 列表与编码展示","首页上一页不可用","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe)","1. 处于第 1 页
2. 断言「上一页」置灰或点击无效果","第 1 页无法回到上一页。",""
"SURG-TYPE-020","基础设置 · 手术套包设置","术种维护 · 新增术种","打开新增术种入口","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe)","1. 点击「新增术种」
2. 断言新增弹窗/页面可见,含术种名称、病种名称、分类与编码相关字段
3. 断言含「取 消」「保 存」","新增术种入口字段完整。",""
"SURG-TYPE-021","基础设置 · 手术套包设置","术种维护 · 新增术种","新增取消不落库","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe)","1. 记录当前分页总数 `${sampleTotal}`
2. 打开新增,填写名称 `${uniqOperName}` 后点「取 消」
3. 断言列表总数不变,且无该名称行","取消后不新增术种。",""
"SURG-TYPE-022","基础设置 · 手术套包设置","术种维护 · 新增术种","术种名称为空拦截(mock反例)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe)","1. 打开新增术种弹窗,名称留空
2. 点击「保 存」
3. 断言必填提示,弹窗仍在,列表无新行","保存被拦截;不落库。",""
"SURG-TYPE-023","基础设置 · 手术套包设置","术种维护 · 行内操作(编辑 / 停用)","行内编辑回填","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);默认列表至少 1 条数据","1. 点击首行「编 辑」
2. 断言编辑弹窗可见且回填当前术种数据
3. 点击「取 消」关闭","编辑弹窗回填正确;取消不影响数据。",""
"SURG-TYPE-024","基础设置 · 手术套包设置","术种维护 · 行内操作(编辑 / 停用)","停用状态流转","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);存在启用状态术种(优先选 `${uniqOperName}` 自建数据);允许写术种","1. 记录「停用」Tab 当前计数 `${disabledCount}`
2. 点击目标行「停用」,若有确认框则点「确 定」
3. 断言「停用」Tab 计数 +1
4. 后置:对该术种执行「启用」恢复","术种状态变为停用;「停用」计数 +1;结束恢复原状态。",""
"SURG-TYPE-025","基础设置 · 手术套包设置","术种维护 · 行内操作(编辑 / 停用)","停用二次确认防误操作","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入术种维护页(/spd/basic/operationSetting/typeMaintenance,无 iframe);存在启用状态术种","1. 记录「停用」Tab 当前计数
2. 点击首行「停用」
3. 若出现确认框则点「取 消」
4. 断言计数未变化","停用有二次确认;取消不改状态。",""
testcase/基础管理-手术套包设置-标准套包维护-UI自动化测试用例-01.csv
0 → 100644
View file @
6a181bea
"用例编号","功能模块","功能测试点","用例标题","优先级","前置条件","测试步骤","预期结果","实际结果"
"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}`
2. 在分类搜索框填入该关键字(即时过滤或回车,以现网为准)
3. 断言树节点文本均包含该关键字","过滤后树节点名称与关键字匹配;无未捕获异常。",""
"SURG-STD-005","基础设置 · 手术套包设置","标准套包维护 · 左侧术种分类树","选择分类联动构成列表","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据","1. 点击 `${sampleOperCategoryName}` 分类节点
2. 等待右侧构成列表刷新稳定
3. 断言列表加载无报错,分页「共 N 条」与当前分类规模一致","右侧仅展示该分类下标准套包;总数与筛选一致。",""
"SURG-STD-006","基础设置 · 手术套包设置","标准套包维护 · 左侧术种分类树","分类搜索清空恢复全量","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 用 `${sampleOperCategoryName}` 过滤并记录过滤后节点数
2. 清空分类搜索框
3. 断言节点数回到未过滤的默认集合","清空后分类树恢复默认集合。",""
"SURG-STD-007","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","默认展示标准套包构成","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 等待列表稳定
2. 断言按「包名称」分组出现数据行,或「暂无数据」且分页总数为 0","加载无报错;有数据时「共 N 条」N≥1;无数据时空态明确。",""
"SURG-STD-008","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","产品名称筛选过滤","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据","1. 从首行读取 `${sampleProductName}`
2. 在 `#table_search_form_keyword` 填入该关键字并点击「查 询」
3. 断言结果行产品名称均包含该关键字","过滤结果与关键字匹配;「共 N 条」随之更新。",""
"SURG-STD-009","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","规格型号筛选过滤","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据","1. 从首行读取 `${sampleSpecModel}`
2. 在 `#table_search_form_goodsSpec` 填入该关键字并点击「查 询」
3. 断言结果行规格型号均包含该关键字","按规格型号过滤生效。",""
"SURG-STD-010","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","器械注册人筛选过滤","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据","1. 从首行读取 `${sampleMfrsName}`
2. 在 `#table_search_form_goodsMfrsName` 填入该关键字并点击「查 询」
3. 断言结果行器械注册人均包含该关键字","按器械注册人过滤生效。",""
"SURG-STD-011","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","构成列表核心列完整","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;存在分组","1. 断言表头/首行包含包名称、包数量/每包含量、产品编号、产品名称、规格型号、器械注册人、单位、产地、耗材类型、操作","核心列均可见,操作列含「编 辑」「移 除」。",""
"SURG-STD-012","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","包名称展开/收起子项","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;存在可展开的包分组","1. 读取首个包分组名称 `${samplePkgGroupName}`
2. 点击展开该分组,断言出现子项行
3. 再次点击收起,断言子项行隐藏","展开显示子项、收起隐藏子项;分组计数不受影响。",""
"SURG-STD-013","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","查询与重置","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据","1. 用关键字过滤后点击「重 置」
2. 断言筛选输入框被清空、列表恢复默认集合","重置清空筛选并恢复默认列表。",""
"SURG-STD-014","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","分页与页大小切换","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;列表总数大于单页行数上限","1. 切换每页条数(如 50 → 100)
2. 断言单页行数不超过所选值,分页总数不变","页大小切换生效;总数保持稳定。",""
"SURG-STD-015","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","无匹配组合空态(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-016","基础设置 · 手术套包设置","标准套包维护 · 添加基础包弹窗","打开添加基础包弹窗","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 点击「添加基础包」
2. 断言弹窗可见,含左侧基础包分类树与右侧基础包明细
3. 断言含「取 消」「确定(N)」","添加基础包弹窗字段完整;确定按钮带选择计数。",""
"SURG-STD-017","基础设置 · 手术套包设置","标准套包维护 · 添加基础包弹窗","弹窗内筛选与选择计数联动","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 打开添加基础包弹窗,在搜索框输入基础包关键字
2. 勾选 1 个基础包
3. 断言「确定(N)」计数由 0 变为 1","筛选生效;选择数与确定按钮计数联动。",""
"SURG-STD-018","基础设置 · 手术套包设置","标准套包维护 · 添加基础包弹窗","弹窗内构成数量可编辑","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已勾选至少 1 个基础包","1. 定位明细行「构成数量」步进器,点击「Increase Value」
2. 断言数量 +1 且合计随之更新","构成数量可编辑;加减生效。",""
"SURG-STD-019","基础设置 · 手术套包设置","标准套包维护 · 添加基础包弹窗","添加基础包取消不落库","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 记录当前分页总数 `${sampleTotal}`
2. 打开添加基础包,勾选 1 个基础包后点「取 消」
3. 断言构成列表总数不变","取消后不新增构成行。",""
"SURG-STD-020","基础设置 · 手术套包设置","标准套包维护 · 添加基础包弹窗","确定按钮零选禁用","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已打开添加基础包弹窗且未选择","1. 断言「确定(0)」置灰或点击无效果","未选择时确定不可用。",""
"SURG-STD-021","基础设置 · 手术套包设置","标准套包维护 · 添加基础包弹窗","重复添加同一基础包","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);标准套包已含某基础包(或先添加一个);允许写套包","1. 再次打开添加基础包,选择同一基础包并确定
2. 断言按产品规则拒绝/合并/累加,不产生重复脏行","重复添加不产生重复行(策略以现网为准)。",""
"SURG-STD-022","基础设置 · 手术套包设置","标准套包维护 · 添加散件弹窗","打开添加散件弹窗","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 点击「添加散件」
2. 断言弹窗可见并展示「产品列表」视图,含产品名称/规格型号/器械注册人/耗材类型筛选与分页","添加散件弹窗产品列表视图完整。",""
"SURG-STD-023","基础设置 · 手术套包设置","标准套包维护 · 添加散件弹窗","产品列表筛选与选择散件","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已打开添加散件弹窗","1. 在产品名称筛选框输入 `${sampleProductName}`
2. 勾选首个匹配散件
3. 断言散件进入应拣明细,计数同步变化","筛选生效;选中散件进入应拣明细。",""
"SURG-STD-024","基础设置 · 手术套包设置","标准套包维护 · 添加散件弹窗","散件规格/应拣明细视图","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);已勾选至少 1 个散件","1. 切换到规格明细/应拣明细视图
2. 断言展示耗材品种数、耗材总数,以及应拣数量、产品编号/名称/规格/注册人/单位/耗材类型/是否收费列","应拣明细视图字段完整。",""
"SURG-STD-025","基础设置 · 手术套包设置","标准套包维护 · 添加散件弹窗","明细统计与实际一致","中","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);应拣明细含至少 1 个散件","1. 读取「耗材品种数」`${itemKindCount}` 与「耗材总数」`${itemTotalCount}`
2. 断言品种数 = 明细去重产品数;总数 = 应拣数量合计","统计口径与实际所选一致。",""
"SURG-STD-026","基础设置 · 手术套包设置","标准套包维护 · 添加散件弹窗","添加散件取消不落库","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe)","1. 记录当前分页总数 `${sampleTotal}`
2. 打开添加散件,勾选散件后点「取 消」
3. 断言构成列表总数不变","取消后不新增散件行。",""
"SURG-STD-027","基础设置 · 手术套包设置","标准套包维护 · 添加散件弹窗","万级散件列表首屏可交互","低","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);添加散件产品列表总量达万级(示例「共 16299 条」)","1. 打开添加散件弹窗
2. 断言首屏可交互(筛选/分页可用),不卡死
3. 避免全量断言,仅校验首行与总数格式","万级列表首屏可用;无超时白屏。",""
"SURG-STD-028","基础设置 · 手术套包设置","标准套包维护 · 行内操作(编辑 / 移除)","行内编辑构成项","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;先展开目标包","1. 点击子项行「编 辑」
2. 断言编辑弹窗/表单可见并回填当前值
3. 点击「取 消」关闭","编辑回填正确;取消不影响数据。",""
"SURG-STD-029","基础设置 · 手术套包设置","标准套包维护 · 行内操作(编辑 / 移除)","移除二次确认防误删整包","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 → 手术套包设置」权限;已进入标准套包维护页(/spd/basic/operationSetting/standardMaintenance,无 iframe);默认列表至少 1 条数据;先展开目标包","1. 记录当前行数
2. 点击子项行「移 除」
3. 若出现确认框则点「取 消」
4. 断言行数未变化","移除有二次确认;取消不删除。",""
"SURG-STD-030","基础设置 · 手术套包设置","标准套包维护 · 筛选与构成列表","多条件组合查询(物料名称等5项)","高","测试环境可访问;已通过 auth.setup 写入 storageState 登录;具备「基础设置 · 手术套包设置」权限;已进入手术套包设置对应功能页;筛选区已展开","1. 进入页面并等待列表加载
2. 「物料名称」填写关键字
3. 「规格型号」填写关键字
4. 「器械注册人」填写关键字
5. 「耗材类型」下拉选择任一可选项
6. 「是否收费」下拉选择任一可选项
7. 点击「查询」
8. 检查列表返回结果","多条件同时生效:物料名称、规格型号、器械注册人、耗材类型、是否收费 均成功录入/选中;点击查询后请求携带全部条件(页面无报错提示),列表按条件刷新并呈现匹配数据或明确空态,条件之间为「且」关系","待执行"
Prev
1
…
5
6
7
8
9
10
11
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment