畜牧医疗资源管理 — 测试用例
依据:畜牧医疗资源管理功能需求.md、畜牧医疗资源管理技术方案.md
接口 Base Path:/diseaseTreatments/medicalResource;鉴权与若依一致(Cookie / Token)。
通用前置(无特殊说明):具备本模块全套权限的账号已登录(diseaseTreatment:medicalResource:list|query|add|edit|remove|publish|offline|assignAccount)。biz_medical_resource 宜预置(del_flag=0):
| 样本 |
类型编码 |
名称 |
发布态要点 |
| V1 |
004001 兽医 |
张兽医 |
未发布;未分配账号 |
| V2 |
004001 兽医 |
李兽医 |
已发布 |
| T1 |
004002 团队 |
牧业专家组 |
未发布 |
| O1 |
004003 机构 |
县动物医院 |
已发布 |
| O2 |
004003 机构 |
乡镇诊所 |
已下架(offline_time 非空) |
| E1 |
004004 设备 |
B超仪01 |
未发布 |
兽医合法 Body 片段:resourceType=004001,resourceName=测试兽医,introduction=简介,contactPhone=13800138000,affiliatedUnit=县畜牧局,detailAddress=某某路1号,consultModes=[1,2],serviceArea=全县,feeStandard=100,serviceStartTime=08:00,serviceEndTime=18:00,serviceWeekdays=[1,2,3,4,5],photoFileUrl/photoFilePath 来自上传接口(不含 maxDailyAppointments)。
机构合法 Body 片段(resourceType=004003):resourceName、orgLevel 必填;personInCharge、maxDailyAppointments、照片/介绍/地址/手机/服务时段等为选填。
界面(UI)测试:Playwright + Chromium(channel: 'chrome' 使用本机 Google Chrome)。
一、单元测试用例
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| ZCZX-XMZYGL-UT-001 |
参数校验 |
兽医服务时段 |
单元测试 |
JUnit5 |
§5.4 |
无 |
结束早于开始;相等;合法 |
前两种失败;08:00~18:00 通过 |
| ZCZX-XMZYGL-UT-002 |
参数校验 |
手机号 |
单元测试 |
JUnit5 |
§5.2 |
无 |
非法号、合法 11 位 |
非法失败;13800138000 通过 |
| ZCZX-XMZYGL-UT-003 |
参数校验 |
名称/介绍长度 |
单元测试 |
JUnit5 |
§5.4~5.7 |
无 |
名称 0/11 字;介绍 501 字 |
超限失败;1~10/500 通过 |
| ZCZX-XMZYGL-UT-004 |
参数校验 |
收费标准 |
单元测试 |
JUnit5 |
§5.4 |
无 |
0、负数、正数 |
非正数失败;100 通过 |
| ZCZX-XMZYGL-UT-005 |
参数校验 |
接诊方式/服务周日 |
单元测试 |
JUnit5 |
§5.4 |
无 |
接诊方式空数组失败;required=false 时服务周日空通过 |
与必填开关一致 |
| ZCZX-XMZYGL-UT-005a |
参数校验 |
兽医资料选填 |
单元测试 |
JUnit5 |
§5.4 |
无 |
无照片/介绍/手机/单位/地址/服务区域/收费,保留接诊等必填 |
通过 |
| ZCZX-XMZYGL-UT-005c |
参数校验 |
兽医收费选填 |
单元测试 |
JUnit5 |
§5.4 |
feeStandard=null |
validateRowForSave |
通过;填 0 仍失败 |
| ZCZX-XMZYGL-UT-005b |
参数校验 |
兽医手机格式 |
单元测试 |
JUnit5 |
§5.4 |
填非法手机 |
validateRowForSave |
失败 |
| ZCZX-XMZYGL-UT-006 |
参数校验 |
团队成立时间 |
单元测试 |
JUnit5 |
§5.5 |
无 |
未来日期;合法过去日期 |
未来失败(若填写);未填通过 |
| ZCZX-XMZYGL-UT-006b |
参数校验 |
团队资料选填 |
单元测试 |
JUnit5 |
§5.5 |
无 |
仅团队名称,其余资料字段空 |
通过 |
| ZCZX-XMZYGL-UT-006c |
参数校验 |
机构资料选填 |
单元测试 |
JUnit5 |
§5.6 |
无 |
机构名称+机构级别;其余资料字段空 |
通过 |
| ZCZX-XMZYGL-UT-006d |
参数校验 |
机构单日接诊 |
单元测试 |
JUnit5 |
§5.6 |
无 |
填 0 或负数 |
失败;正整数或未填通过 |
| ZCZX-XMZYGL-UT-006e |
参数校验 |
设备资料选填 |
单元测试 |
JUnit5 |
§5.7 |
无 |
仅设备名称,照片/介绍/型号/隶属单位空 |
通过 |
| ZCZX-XMZYGL-UT-006f |
参数校验 |
设备型号长度 |
单元测试 |
JUnit5 |
§5.7 |
无 |
型号 11 字 |
失败 |
| ZCZX-XMZYGL-UT-007 |
参数校验 |
类型字段矩阵 |
单元测试 |
JUnit5 |
§5.3、§2.1 |
无 |
设备行带 contactPhone;兽医缺 feeStandard |
设备校验不要求手机;兽医缺收费失败 |
| ZCZX-XMZYGL-UT-007a |
参数校验 |
兽医单日接诊 |
单元测试 |
JUnit5 |
§5.3、草稿 §2 |
无 |
合法兽医不传 maxDailyAppointments;传入 20 后 validateRowForSave |
均通过;后者保存对象 maxDailyAppointments 为 null |
| ZCZX-XMZYGL-UT-008 |
参数校验 |
照片路径 |
单元测试 |
JUnit5 |
§5.2 |
无 |
非 /profile 前缀;jpg 路径 |
非法路径失败;合法通过 |
| ZCZX-XMZYGL-UT-009 |
发布态 |
已发布不可改 |
单元测试 |
JUnit5 |
§5.8、§6 |
publish_status=1 |
validateForUpdate |
失败 |
| ZCZX-XMZYGL-UT-010 |
发布态 |
仅已发布可下架 |
单元测试 |
JUnit5 |
§5.11 |
未发布/已发布 |
validateOffline |
仅 publish_status=1 通过 |
| ZCZX-XMZYGL-UT-011 |
发布态 |
三态解析 |
单元测试 |
JUnit5 |
§2.1 |
三组库记录 |
解析界面状态 |
未发布/已发布/已下架 与 offline_time 一致 |
| ZCZX-XMZYGL-UT-012 |
分配账号 |
类型与次数 |
单元测试 |
JUnit5 |
§5.12 |
团队 type=2;已分配 |
validateAssignAccount |
团队失败;已分配失败 |
| ZCZX-XMZYGL-UT-013 |
Service |
新增落库 |
单元测试 |
JUnit5+Mockito |
§5.2 |
Mock Mapper |
insert 合法兽医 |
publish_status=0;offline_time 空;account_assigned=0 |
| ZCZX-XMZYGL-UT-014 |
Service |
发布 |
单元测试 |
JUnit5+Mockito |
§5.11 |
未发布 V1 |
publish(id) |
publish_status=1;publish_time 非空 |
| ZCZX-XMZYGL-UT-015 |
Service |
下架保留发布时间 |
单元测试 |
JUnit5+Mockito |
§5.11 |
已发布 V2 |
offline(id) |
publish_status=0;offline_time 非空;publish_time 保留 |
| ZCZX-XMZYGL-UT-016 |
Service |
逻辑删除 |
单元测试 |
JUnit5+Mockito |
§5.10 |
未发布 |
remove(id) |
del_flag=2 |
| ZCZX-XMZYGL-UT-017 |
Service |
删除有关联 |
单元测试 |
JUnit5+Mockito |
§2.5 |
hasReference=true |
remove |
抛 ServiceException |
| ZCZX-XMZYGL-UT-018 |
Service |
分配账号成功 |
单元测试 |
JUnit5+Mockito |
§5.12 |
未发布兽医;Mock 用户服务 |
assignAccount(id) |
account_assigned=1;写 sys_user_id;绑定角色 100 |
| ZCZX-XMZYGL-UT-019 |
Service |
删除联动删账号 |
单元测试 |
JUnit5+Mockito |
§5.10、草稿 §10 |
未发布已分配;sys_user_id=88 |
deleteByIds |
调用 deleteLinkedAccount;del_flag=2 |
| ZCZX-XMZYGL-UT-020 |
分配账号 |
机构角色 102 |
单元测试 |
JUnit5 |
§5.12、草稿 §11 |
无 |
defaultRoleId('004003') |
返回 102 |
| ZCZX-XMZYGL-UT-021 |
Mapper |
列表筛选 SQL |
单元测试 |
JUnit5 |
§3.1 |
无 |
检查 XML |
del_flag=0;resource_type=;resource_name LIKE;create_time DESC |
| ZCZX-XMZYGL-UT-022 |
Mapper |
发布态筛选 |
单元测试 |
JUnit5 |
§2.1 |
无 |
publishStatus=2 条件 |
含 offline_time IS NOT NULL |
二、接口测试用例
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| ZCZX-XMZYGL-API-001 |
列表 |
默认分页 |
接口测试 |
Postman |
§5.1 |
有多条样本 |
GET /list?resourceType=004001 |
code=200;rows≤20;create_time 倒序 |
| ZCZX-XMZYGL-API-002 |
列表 |
名称模糊 |
接口测试 |
Postman |
§2.6 |
有 V1「张兽医」 |
resourceName=张 |
含 V1;全名「张兽医」亦命中 |
| ZCZX-XMZYGL-API-003 |
列表 |
发布状态筛选 |
接口测试 |
Postman |
§2.6 |
有 V2 已发布 |
publishStatus=1 |
仅已发布记录 |
| ZCZX-XMZYGL-API-004 |
列表 |
已下架筛选 |
接口测试 |
Postman |
§2.4 |
有 O2 |
publishStatus=2 |
含 O2 |
| ZCZX-XMZYGL-API-005 |
列表 |
不含已删除 |
接口测试 |
Postman |
§2.5 |
某 id 已删 |
GET /list |
无该 id |
| ZCZX-XMZYGL-API-006 |
列表 |
缺 resourceType |
接口测试 |
Postman |
§3.1 |
已登录 |
不传 resourceType |
参数错误或空列表(以实现为准) |
| ZCZX-XMZYGL-API-007 |
新增 |
兽医全字段 |
接口测试 |
Postman |
§5.4 |
已登录;已上传照片 |
POST 合法兽医 Body |
code=200;publishStatus 对应未发布 |
| ZCZX-XMZYGL-API-008 |
新增 |
专家团队 |
接口测试 |
Postman |
§5.5 |
已登录 |
POST resourceType=004002 合法字段 |
成功;无兽医专属字段必填 |
| ZCZX-XMZYGL-API-009 |
新增 |
诊疗机构 |
接口测试 |
Postman |
§5.6 |
已登录 |
POST resourceType=004003;机构名称+机构级别 |
成功;照片/介绍/服务时段等可省略 |
| ZCZX-XMZYGL-API-010 |
新增 |
医疗设备 |
接口测试 |
Postman |
§5.7 |
已登录 |
POST resourceType=004004;仅设备名称 |
成功;照片/介绍/型号/隶属单位可省略 |
| ZCZX-XMZYGL-API-011 |
新增 |
手机号非法 |
接口测试 |
Postman |
§5.2 |
已登录 |
contactPhone=123 |
code≠200;msg 含联系方式 |
| ZCZX-XMZYGL-API-012 |
新增 |
介绍仅空白 |
接口测试 |
Postman |
§5.2 |
已登录 |
introduction=" " |
失败 |
| ZCZX-XMZYGL-API-013 |
新增 |
服务时段非法 |
接口测试 |
Postman |
§5.4 |
已登录 |
serviceEndTime 早于 serviceStartTime |
失败 |
| ZCZX-XMZYGL-API-014 |
详情 |
有效 id |
接口测试 |
Postman |
§5.9 |
有 V1 |
GET /{id} |
全字段;consultModes 为数组 |
| ZCZX-XMZYGL-API-015 |
详情 |
无效/已删 id |
接口测试 |
Postman |
异常 |
已登录 |
不存在或已删 id |
失败或 data 空 |
| ZCZX-XMZYGL-API-016 |
修改 |
未发布改备注 |
接口测试 |
Postman |
§5.8 |
有 V1 |
PUT 改 introduction |
成功;resourceType 不变 |
| ZCZX-XMZYGL-API-017 |
修改 |
已发布禁止 |
接口测试 |
Postman |
§5.8、§6 |
有 V2 已发布 |
PUT 任意字段 |
失败;库不变 |
| ZCZX-XMZYGL-API-018 |
修改 |
改 resourceType 无效 |
接口测试 |
Postman |
§5.2 |
有 V1 |
PUT 改 resourceType=004003 |
失败或忽略;库仍为 004001 |
| ZCZX-XMZYGL-API-019 |
发布 |
未发布发布 |
接口测试 |
Postman |
§5.11 |
有 V1 |
POST /publish/{id} |
publish_status=1;有 publishTime |
| ZCZX-XMZYGL-API-020 |
发布 |
重复发布 |
接口测试 |
Postman |
§5.11 |
V2 已发布 |
再次 publish |
失败;「该资源已发布」 |
| ZCZX-XMZYGL-API-021 |
下架 |
已发布下架 |
接口测试 |
Postman |
§5.11 |
有 V2 |
POST /offline/{id} |
publish_status=0;offline_time 有值 |
| ZCZX-XMZYGL-API-022 |
下架 |
未发布不可下架 |
接口测试 |
Postman |
§5.11 |
有 V1 |
POST /offline/{id} |
失败 |
| ZCZX-XMZYGL-API-023 |
删除 |
未发布逻辑删 |
接口测试 |
Postman |
§5.10 |
无关联新行 |
DELETE /{id} |
成功;列表不可见 |
| ZCZX-XMZYGL-API-023a |
删除 |
已分配联动删账号 |
接口测试 |
Postman |
§5.10、草稿 §10 |
未发布兽医已 assignAccount |
DELETE /{id} |
资源不可见;sys_user 对应用户已删 |
| ZCZX-XMZYGL-API-024 |
删除 |
已发布禁止 |
接口测试 |
Postman |
§5.10 |
有 V2 |
DELETE |
失败 |
| ZCZX-XMZYGL-API-025 |
分配账号 |
兽医成功 |
接口测试 |
Postman |
§5.12 |
V1 未分配 |
POST /assignAccount/{id} |
accountAssigned=1;登录名拼音+id;角色 100 |
| ZCZX-XMZYGL-API-025a |
分配账号 |
机构成功 |
接口测试 |
Postman |
§5.12 |
未发布机构 |
POST /assignAccount/{id} |
accountAssigned=1;角色 102 |
| ZCZX-XMZYGL-API-026 |
分配账号 |
重复分配 |
接口测试 |
Postman |
§5.12 |
已分配行 |
再次 assignAccount |
失败 |
| ZCZX-XMZYGL-API-027 |
分配账号 |
团队禁止 |
接口测试 |
Postman |
§5.12 |
有 T1 |
assignAccount |
失败 |
| ZCZX-XMZYGL-API-028 |
分配账号 |
已发布禁止 |
接口测试 |
Postman |
§5.12 |
有 V2 |
assignAccount |
失败 |
| ZCZX-XMZYGL-API-029 |
端到端 |
下架后编辑再发布 |
接口测试 |
Postman |
§4.2 |
有 O2 或新建机构 |
offline→PUT→publish |
各步 code=200;最终已发布 |
| ZCZX-XMZYGL-API-030 |
端到端 |
全流程 |
接口测试 |
Postman |
§4 |
已登录 |
POST→list→GET→assignAccount→publish→offline→DELETE |
关键步成功;删除前须下架 |
| ZCZX-XMZYGL-API-031 |
鉴权 |
未登录 |
接口测试 |
curl |
安全 |
无 Token |
GET /list?resourceType=004001 |
401 或统一未登录 |
| ZCZX-XMZYGL-API-032 |
权限 |
无发布权限 |
接口测试 |
Postman |
§6 |
无 publish |
POST /publish/1 |
无权限失败 |
| ZCZX-XMZYGL-API-033 |
权限 |
无分配账号权限 |
接口测试 |
Postman |
§6 |
无 assignAccount |
POST /assignAccount/1 |
无权限失败 |
| ZCZX-XMZYGL-API-034 |
响应 |
失败可读 |
接口测试 |
Postman |
§8 |
已登录 |
触发已发布修改、重复分配 |
msg 可区分场景 |
三、界面测试用例(UI)
测试工具:Playwright + Chromium(channel: 'chrome' 使用本机 Google Chrome)。
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| ZCZX-XMZYGL-UI-001 |
列表 |
四 Tab 与列展示 |
UI 测试 |
Playwright+Chrome |
§5.1、§2.3 |
已登录;有各类型数据 |
进入模块;切换四个 Tab |
每 Tab 仅本类型;列含名称、介绍摘要、发布状态、操作 |
| ZCZX-XMZYGL-UI-002 |
列表 |
Tab 与下拉联动 |
UI 测试 |
Playwright+Chrome |
§2.3 |
已登录 |
切换 Tab;改顶部资源类型下拉 |
Tab 与下拉一致 |
| ZCZX-XMZYGL-UI-003 |
列表 |
名称模糊筛选 |
UI 测试 |
Playwright+Chrome |
§2.6 |
有「张兽医」 |
填「张」→搜索 |
列表含匹配行 |
| ZCZX-XMZYGL-UI-004 |
列表 |
发布状态筛选 |
UI 测试 |
Playwright+Chrome |
§2.6 |
有已发布样本 |
选「已发布」→搜索 |
仅已发布行 |
| ZCZX-XMZYGL-UI-005 |
列表 |
重置 |
UI 测试 |
Playwright+Chrome |
§5.1 |
已筛选 |
搜索→重置 |
条件清空;列表恢复 |
| ZCZX-XMZYGL-UI-006 |
新增 |
动态表单-兽医 |
UI 测试 |
Playwright+Chrome |
§5.4 |
有 add 权限 |
新增→选兽医→填必填→上传照片→确定 |
成功;列表未发布;含接诊方式等字段 |
| ZCZX-XMZYGL-UI-007 |
新增 |
动态表单-团队 |
UI 测试 |
Playwright+Chrome |
§5.5 |
已登录 |
新增→选专家团队→填必填→确定 |
无接诊方式字段;成功 |
| ZCZX-XMZYGL-UI-008 |
新增 |
类型切换字段变化 |
UI 测试 |
Playwright+Chrome |
§4.3 |
打开新增 |
选兽医→改选设备 |
表单字段集切换;无兽医专属项残留 |
| ZCZX-XMZYGL-UI-009 |
新增 |
必填校验 |
UI 测试 |
Playwright+Chrome |
§5.2 |
新增弹窗 |
留空姓名→确定 |
校验失败;不关闭 |
| ZCZX-XMZYGL-UI-010 |
新增 |
照片格式/大小 |
UI 测试 |
Playwright+Chrome |
§5.2 |
新增 |
上传非图或超 10MB(若可测) |
失败提示 |
| ZCZX-XMZYGL-UI-011 |
查看 |
只读详情 |
UI 测试 |
Playwright+Chrome |
§5.9 |
任意行 |
点击查看 |
字段只读;含发布状态、审计信息 |
| ZCZX-XMZYGL-UI-012 |
操作列 |
未发布按钮集 |
UI 测试 |
Playwright+Chrome |
§6 |
未发布行 |
查看操作列 |
有查看、编辑、删除、发布;兽医/机构有分配账号 |
| ZCZX-XMZYGL-UI-013 |
操作列 |
已发布按钮集 |
UI 测试 |
Playwright+Chrome |
§6 |
已发布行 |
查看操作列 |
有查看、下架;无编辑、删除、分配账号 |
| ZCZX-XMZYGL-UI-014 |
编辑 |
未发布修改 |
UI 测试 |
Playwright+Chrome |
§5.8 |
未发布行 |
编辑→改介绍→确定 |
列表已更新 |
| ZCZX-XMZYGL-UI-015 |
编辑 |
已发布不可进 |
UI 测试 |
Playwright+Chrome |
§5.8 |
已发布行 |
尝试编辑 |
无编辑入口或提示先下架 |
| ZCZX-XMZYGL-UI-016 |
发布下架 |
发布确认 |
UI 测试 |
Playwright+Chrome |
§5.11 |
未发布行 |
发布→确认 |
状态变已发布 |
| ZCZX-XMZYGL-UI-017 |
发布下架 |
下架确认 |
UI 测试 |
Playwright+Chrome |
§5.11 |
已发布行 |
下架→确认 |
状态变已下架或未发布标签 |
| ZCZX-XMZYGL-UI-018 |
删除 |
确认删除 |
UI 测试 |
Playwright+Chrome |
§5.10 |
未发布行 |
删除→确认 |
行消失;取消则不删 |
| ZCZX-XMZYGL-UI-018a |
删除 |
已分配联动删账号 |
UI 测试 |
Playwright+Chrome |
§5.10、草稿 §10 |
未发布已分配兽医 |
删除→确认 |
列表无该行;该登录名不可再登录 |
| ZCZX-XMZYGL-UI-019 |
分配账号 |
兽医分配 |
UI 测试 |
Playwright+Chrome |
§5.12 |
未发布未分配兽医 |
点分配账号→确认 |
成功提示;行显示已分配 |
| ZCZX-XMZYGL-UI-020 |
分配账号 |
团队无入口 |
UI 测试 |
Playwright+Chrome |
§5.12 |
专家团队 Tab |
查看操作列 |
无分配账号 |
| ZCZX-XMZYGL-UI-021 |
地图标点 |
本期不展示 |
UI 测试 |
Playwright+Chrome |
§5.13 |
机构/设备 Tab |
查看列表操作 |
无地图标点或置灰并说明 |
| ZCZX-XMZYGL-UI-022 |
权限 |
只读角色 |
UI 测试 |
Playwright+Chrome |
§6 |
仅 list/query 角色 |
进入模块 |
无新增/编辑/删除/发布/下架/分配账号 |
| ZCZX-XMZYGL-UI-023 |
端到端 |
运营全流程 |
UI 集成 |
Playwright+Chrome |
§4.2 |
权限齐备 |
新增机构→分配账号→发布→下架→编辑→再发布→删除 |
状态与按钮符合矩阵;无报错 |
四、覆盖对照
| 类别 |
单元 UT |
接口 API |
界面 UI |
| 正常流程 |
UT-013~018 |
API-007~010、016、019、023~030 |
UI-006~011、014、016~019、023 |
| 异常/校验 |
UT-001~008 |
API-011~013、017~018、022~024 |
UI-009~010、015 |
| 发布状态机 |
UT-009~011 |
API-003~004、019~022、029 |
UI-004、012~017 |
| 分配账号 |
UT-012、018 |
API-025~028 |
UI-019~020 |
| 四类资源 |
UT-007 |
API-007~010 |
UI-006~008 |
| 列表筛选 |
UT-019~020 |
API-001~006 |
UI-001~005 |
| 逻辑删除 |
UT-016~017、019 |
API-005、023~024、023a |
UI-018、018a |
| 权限/鉴权 |
— |
API-031~033 |
UI-022 |
| 地图标点(不做) |
— |
— |
UI-021 |
五、功能需求追溯
| 需求章节 |
要点 |
主要用例 |
| §5.1 列表 |
Tab、模糊、发布状态筛选 |
API-001~006;UI-001~005 |
| §5.2~5.7 新增/字段 |
四类表单、校验 |
UT-001~008;API-007~013;UI-006~010 |
| §5.8 修改 |
仅未发布/已下架 |
API-016~018;UI-014~015 |
| §5.9 查看 |
只读 |
API-014~015;UI-011 |
| §5.10 删除 |
逻辑删 |
UT-016~017;API-023~024;UI-018 |
| §5.11 发布下架 |
状态迁移 |
UT-009~011、014~015;API-019~022、029;UI-016~017 |
| §5.12 分配账号 |
兽医/机构、一次 |
UT-012、018;API-025~028;UI-019~020 |
| §5.13 地图标点 |
不做 |
UI-021 |
| §6 权限 |
按钮级 |
API-031~033;UI-022 |
六、Playwright 实施提示
- 安装:
npm i -D @playwright/test;npx playwright install chrome。
- 配置:
use: { channel: 'chrome', locale: 'zh-CN', baseURL: 'http://localhost:80' };storageState 复用登录态。
- 路由:
page.goto('/diseaseTreatment/medicalResource')(以菜单 component 为准)。
- 定位示例:
page.getByRole('tab', { name: '兽医人员库' });page.getByRole('button', { name: '新增' });page.getByLabel('兽医姓名')。
七、修订记录
| 版本 |
说明 |
| 1.0 |
初版:单元 20、接口 34、UI 23;覆盖 CRUD、发布下架、分配账号、四类动态表单;Playwright+Chrome |
| 1.1 |
对齐草稿 §10/§11:删除联动删账号用例;分配角色 100/102 断言;UT/API/UI 编号顺延 |