test
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
# 2026-04-21 中介库管理导入功能浏览器测试记录
|
||||
|
||||
## 1. 测试目标
|
||||
|
||||
- 在真实浏览器中验证“中介库管理”页面两类导入功能:
|
||||
- 导入中介和亲属信息
|
||||
- 导入中介实体关联关系
|
||||
- 验证模板下载、模板改写、页面上传、异步导入结果展示、失败记录查看全链路可用。
|
||||
|
||||
## 2. 测试环境
|
||||
|
||||
- 前端地址:`http://localhost:62319`
|
||||
- 后端地址:`http://127.0.0.1:62318`
|
||||
- 登录方式:调用项目测试登录接口 `/login/test` 获取 token 后注入浏览器 Cookie
|
||||
- 浏览器:Playwright headed 模式
|
||||
|
||||
## 3. 下载模板
|
||||
|
||||
- 中介和亲属信息模板:
|
||||
- 浏览器下载原始文件:`.playwright-cli/中介和亲属信息导入模板-1776735200748.xlsx`
|
||||
- 中介实体关联关系模板:
|
||||
- 浏览器下载原始文件:`.playwright-cli/中介实体关联关系导入模板-1776735620019.xlsx`
|
||||
|
||||
## 4. 生成测试文件
|
||||
|
||||
- 中介和亲属信息首轮混合测试文件:
|
||||
- `output/spreadsheet/intermediary_person_import_browser_phase1.xlsx`
|
||||
- 中介和亲属信息二轮库内重复测试文件:
|
||||
- `output/spreadsheet/intermediary_person_import_browser_phase2_existing_db_cases.xlsx`
|
||||
- 中介实体关联关系首轮混合测试文件:
|
||||
- `output/spreadsheet/intermediary_enterprise_relation_import_browser_phase1.xlsx`
|
||||
- 中介实体关联关系二轮库内重复测试文件:
|
||||
- `output/spreadsheet/intermediary_enterprise_relation_import_browser_phase2_db_duplicate.xlsx`
|
||||
|
||||
## 5. 页面测试过程与结果
|
||||
|
||||
### 5.1 导入中介和亲属信息
|
||||
|
||||
#### 第一轮:混合成功/失败场景
|
||||
|
||||
- 上传文件:`output/spreadsheet/intermediary_person_import_browser_phase1.xlsx`
|
||||
- 页面导入结果:
|
||||
- 总数 `13` 条
|
||||
- 成功 `4` 条
|
||||
- 失败 `9` 条
|
||||
- 页面列表确认新增成功数据:
|
||||
- `自动化中介本人A`
|
||||
- `自动化中介A配偶`
|
||||
- `文件内重复本人1`
|
||||
- `文件内重复亲属1`
|
||||
|
||||
#### 第一轮失败记录命中情况
|
||||
|
||||
- `本人行关联中介本人证件号码必须为空`
|
||||
- `亲属行必须填写关联中介本人证件号码`
|
||||
- `姓名不能为空`
|
||||
- `人员子类型不能为空`
|
||||
- `证件号码身份证号长度必须为18位`
|
||||
- `中介本人证件号码[320101199503154560]在导入文件中重复`
|
||||
- `关联中介本人证件号码[320101197704077654]不存在`
|
||||
- `同一中介本人名下证件号码[320101199604102348]的亲属在导入文件中重复`
|
||||
|
||||
说明:
|
||||
|
||||
- 原计划用于命中“库内本人重复”的旧数据 `320101199904170833` 因系统内该历史证件号本身校验位不合法,页面实际先命中了证件号格式校验。
|
||||
|
||||
#### 第二轮:补齐库内重复分支
|
||||
|
||||
- 上传文件:`output/spreadsheet/intermediary_person_import_browser_phase2_existing_db_cases.xlsx`
|
||||
- 页面导入结果:
|
||||
- 总数 `2` 条
|
||||
- 成功 `0` 条
|
||||
- 失败 `2` 条
|
||||
- 页面失败记录确认命中:
|
||||
- `中介本人证件号码[46265019770816746X]已存在,请勿重复导入`
|
||||
- `同一中介本人名下证件号码[320101199902033213]的亲属已存在,请勿重复导入`
|
||||
|
||||
### 5.2 导入中介实体关联关系
|
||||
|
||||
#### 第一轮:混合成功/失败场景
|
||||
|
||||
- 上传文件:`output/spreadsheet/intermediary_enterprise_relation_import_browser_phase1.xlsx`
|
||||
- 页面导入结果:
|
||||
- 总数 `11` 条
|
||||
- 成功 `3` 条
|
||||
- 失败 `8` 条
|
||||
- 页面列表确认新增成功数据:
|
||||
- `成都市资产企业 / 自动化中介本人A / 董事`
|
||||
- `上海市资产企业 / 自动化中介本人A / 监事`
|
||||
- `杭州市不动产合伙企业 / 自动化中介本人A / 法人`
|
||||
|
||||
#### 第一轮失败记录命中情况
|
||||
|
||||
- `中介本人证件号码不能为空`
|
||||
- `中介本人证件号码身份证号长度必须为18位`
|
||||
- `中介本人不存在,请先导入或维护中介本人信息`
|
||||
- `统一社会信用代码不能为空`
|
||||
- `统一社会信用代码不存在于系统机构表`
|
||||
- `关联人职务长度不能超过100个字符`
|
||||
- `备注长度不能超过500个字符`
|
||||
- `同一中介本人与统一社会信用代码组合在导入文件中重复`
|
||||
|
||||
#### 第二轮:补齐库内关系重复分支
|
||||
|
||||
- 上传文件:`output/spreadsheet/intermediary_enterprise_relation_import_browser_phase2_db_duplicate.xlsx`
|
||||
- 页面导入结果:
|
||||
- 总数 `1` 条
|
||||
- 成功 `0` 条
|
||||
- 失败 `1` 条
|
||||
- 页面失败记录确认命中:
|
||||
- `中介实体关联关系已存在,请勿重复导入`
|
||||
|
||||
## 6. 结论
|
||||
|
||||
- 两类导入功能的模板下载、模板改写、页面上传、异步轮询、失败记录弹窗均可正常工作。
|
||||
- 中介和亲属信息导入已覆盖:
|
||||
- 成功导入
|
||||
- 本人行关联字段错误
|
||||
- 亲属缺少关联本人
|
||||
- 姓名为空
|
||||
- 人员子类型为空
|
||||
- 证件号非法
|
||||
- 文件内本人重复
|
||||
- 关联本人不存在
|
||||
- 文件内亲属重复
|
||||
- 库内本人重复
|
||||
- 库内亲属重复
|
||||
- 中介实体关联关系导入已覆盖:
|
||||
- 成功导入
|
||||
- 中介本人为空
|
||||
- 中介本人证件号非法
|
||||
- 中介本人不存在
|
||||
- 统一社会信用代码为空
|
||||
- 统一社会信用代码不存在
|
||||
- 关联人职务超长
|
||||
- 备注超长
|
||||
- 文件内关系重复
|
||||
- 库内关系重复
|
||||
@@ -0,0 +1,196 @@
|
||||
# 2026-04-22 员工信息维护真实页面综合测试记录
|
||||
|
||||
## 1. 测试目标
|
||||
|
||||
- 在真实浏览器中进入“信息维护-员工信息维护”页面,验证页面可访问、列表可加载、关键接口可正常返回。
|
||||
- 覆盖员工信息维护核心业务链路:
|
||||
- 列表加载
|
||||
- 详情查看
|
||||
- 新增
|
||||
- 编辑
|
||||
- 删除
|
||||
- 导入模板下载
|
||||
- 双 Sheet Excel 导入
|
||||
- 员工导入失败记录查看
|
||||
- 员工资产导入失败记录查看
|
||||
- 测试结束后清理本轮新增/导入成功数据,并清理页面本地导入缓存。
|
||||
|
||||
## 2. 测试环境
|
||||
|
||||
- 前端地址:`http://127.0.0.1:1025`
|
||||
- 后端地址:`http://127.0.0.1:62318`
|
||||
- Mock 服务:`http://127.0.0.1:8000`
|
||||
- 前端 Node 版本:`nvm use 14.21.3`
|
||||
- 浏览器:Playwright headed 模式真实浏览器
|
||||
- 登录方式:先调用测试登录接口获取 token,再向真实浏览器注入 `Admin-Token` cookie
|
||||
- 测试页面:`http://127.0.0.1:1025/maintain/baseStaff`
|
||||
|
||||
## 3. 测试文件
|
||||
|
||||
- 页面下载模板:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/playwright/base-staff-maintenance-test/.playwright-cli/员工信息维护导入模板-1776851234493.xlsx`
|
||||
- 生成导入样本:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/spreadsheet/base_staff_import_browser_mixed.xlsx`
|
||||
- Playwright 上传副本:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/playwright/base-staff-maintenance-test/base_staff_import_browser_mixed.xlsx`
|
||||
|
||||
## 4. 页面测试过程与结果
|
||||
|
||||
### 4.1 页面进入与基础加载
|
||||
|
||||
- 进入“信息维护-员工信息维护”页面后,菜单高亮、面包屑、查询区、列表区展示正常。
|
||||
- Playwright 网络面板确认关键请求返回 `200`:
|
||||
- `/dev-api/getInfo`
|
||||
- `/dev-api/getRouters`
|
||||
- `/dev-api/ccdi/baseStaff/list`
|
||||
- `/dev-api/system/user/deptTree`
|
||||
- 页面列表初始总数为:
|
||||
- `共 1014 条`
|
||||
|
||||
### 4.2 新增
|
||||
|
||||
- 新增员工:
|
||||
- 姓名:`浏览器员工测试A-0422`
|
||||
- 柜员号:`9260422`
|
||||
- 所属部门:`若依科技`
|
||||
- 身份证号:`330101199206150012`
|
||||
- 电话:`13926042222`
|
||||
- 年收入:`246800.50`
|
||||
- 入职时间:`2026-04-22`
|
||||
- 是否党员:`是`
|
||||
- 状态:`在职`
|
||||
- 同时新增两条资产:
|
||||
- `房产 / 住宅 / 浏览器测试住房A / 当前估值 860000 / 状态 正常 / 备注 新增资产A`
|
||||
- `车辆 / 轿车 / 浏览器测试车辆B / 当前估值 188000 / 状态 正常 / 备注 新增资产B`
|
||||
- 保存后验证通过:
|
||||
- 新增员工进入列表首行
|
||||
- 列表总数从 `1014` 增加到 `1015`
|
||||
|
||||
### 4.3 新增后详情复验
|
||||
|
||||
- 打开新增员工详情后验证通过:
|
||||
- 基本信息可正常展示
|
||||
- 资产明细展示 2 条
|
||||
- 资产名称、估值、状态、备注与录入一致
|
||||
|
||||
### 4.4 编辑
|
||||
|
||||
- 编辑同一员工,修改内容:
|
||||
- 姓名改为 `浏览器员工测试A-0422-已改`
|
||||
- 电话改为 `13926042224`
|
||||
- 年收入改为 `268000`
|
||||
- 删除“房产 / 住宅”资产,仅保留“车辆 / 轿车”资产
|
||||
- 保留资产状态改为 `冻结`
|
||||
- 保留资产备注改为 `编辑后保留资产`
|
||||
- 保存后验证通过:
|
||||
- 列表首行姓名、电话、年收入已同步更新
|
||||
- 详情中仅剩 1 条原有资产
|
||||
- 保留资产状态显示 `冻结`
|
||||
- 保留资产备注显示 `编辑后保留资产`
|
||||
|
||||
### 4.5 导入模板下载
|
||||
|
||||
- 在真实页面导入弹窗中点击“下载模板”。
|
||||
- 下载结果正常,模板包含两个 Sheet:
|
||||
- `员工信息`
|
||||
- `员工资产信息`
|
||||
|
||||
### 4.6 双 Sheet 导入
|
||||
|
||||
- 使用 `base_staff_import_browser_mixed.xlsx` 发起双 Sheet 导入。
|
||||
- 员工信息 Sheet:
|
||||
- 成功样本:`浏览器导入员工B-0422 / 9260423`
|
||||
- 失败样本:`浏览器导入失败员工-0422 / 9033101`
|
||||
- 员工资产信息 Sheet:
|
||||
- 成功样本:向员工 `330101199206150012` 导入资产 `导入资产车位A-0422`
|
||||
- 失败样本:使用不存在证件号 `330101199206150063`
|
||||
- 导入提交后页面提示:
|
||||
- `导入任务已提交`
|
||||
- 导入完成后验证通过:
|
||||
- 页面出现“查看导入失败记录”
|
||||
- 页面出现“查看员工资产导入失败记录”
|
||||
- 成功导入员工 `9260423` 进入列表
|
||||
- 列表总数从 `1015` 增加到 `1016`
|
||||
|
||||
### 4.7 员工导入失败记录
|
||||
|
||||
- 打开“查看导入失败记录”弹窗。
|
||||
- 页面失败记录命中:
|
||||
- Sheet:`员工信息`
|
||||
- Excel 行号:`3`
|
||||
- 姓名:`浏览器导入失败员工-0422`
|
||||
- 柜员号:`9033101`
|
||||
- 失败原因:`该员工ID已存在`
|
||||
- 说明员工导入失败记录展示链路正常。
|
||||
|
||||
### 4.8 员工资产导入失败记录
|
||||
|
||||
- 打开“查看员工资产导入失败记录”弹窗。
|
||||
- 页面失败记录命中:
|
||||
- Sheet:`员工资产信息`
|
||||
- Excel 行号:`3`
|
||||
- 资产实际持有人身份证号:`330101199206150063`
|
||||
- 资产名称:`导入失败资产-0422`
|
||||
- 失败原因:`员工资产导入仅支持员工本人证件号`
|
||||
- 说明员工资产导入失败记录展示链路正常。
|
||||
|
||||
### 4.9 导入成功数据复验
|
||||
|
||||
- 再次打开员工 `9260422` 的详情。
|
||||
- 验证通过:
|
||||
- 新导入资产 `房产 / 车位 / 导入资产车位A-0422` 已展示
|
||||
- 当前估值显示 `235000`
|
||||
- 资产状态显示 `正常`
|
||||
- 备注显示 `页面上传成功资产`
|
||||
- 编辑后保留的车辆资产仍存在
|
||||
|
||||
### 4.10 删除与清理
|
||||
|
||||
- 通过真实页面删除以下两条本轮测试产生的成功数据:
|
||||
- 导入成功员工:`9260423`
|
||||
- 页面新增员工:`9260422`
|
||||
- 删除过程均经过二次确认弹窗,页面提示 `删除成功`。
|
||||
- 清理完成后验证通过:
|
||||
- 列表总数回到 `共 1014 条`
|
||||
- 页面中已无 `9260422`、`9260423`
|
||||
- 清理本地导入任务缓存:
|
||||
- 已移除 `localStorage` 中的 `employee_import_last_task`
|
||||
- 已移除 `localStorage` 中的 `employee_asset_import_last_task`
|
||||
- 页面刷新后:
|
||||
- “查看导入失败记录”按钮已消失
|
||||
- “查看员工资产导入失败记录”按钮已消失
|
||||
|
||||
## 5. 发现的问题
|
||||
|
||||
- 员工详情弹窗“所属部门”显示异常。
|
||||
- 复现方式:
|
||||
- 新增或编辑员工后,列表中“所属部门”正常显示为 `若依科技`
|
||||
- 打开同一员工详情,字段“所属部门”显示为 `-`
|
||||
- 影响判断:
|
||||
- 属于真实功能问题,影响详情信息一致性
|
||||
- 不影响本次新增、编辑、导入、删除主流程完成
|
||||
|
||||
## 6. 结论
|
||||
|
||||
- 员工信息维护模块在真实页面下的核心链路已完整验证:
|
||||
- 列表加载
|
||||
- 详情查看
|
||||
- 新增
|
||||
- 编辑
|
||||
- 删除
|
||||
- 导入模板下载
|
||||
- 双 Sheet 导入
|
||||
- 员工导入失败记录查看
|
||||
- 员工资产导入失败记录查看
|
||||
- 本轮测试发现 1 个非阻断性功能问题:
|
||||
- 员工详情弹窗所属部门未正确回显
|
||||
- 本轮新增和导入成功数据已全部清理,页面本地导入缓存已清空。
|
||||
|
||||
## 7. 测试收尾
|
||||
|
||||
- 已清理本轮新增/导入成功业务数据。
|
||||
- 已清理前端本地导入任务缓存。
|
||||
- 待测试完成后关闭:
|
||||
- Playwright 浏览器会话
|
||||
- 前端 `npm run dev -- --port 1025` 进程
|
||||
- 本轮通过 `bin/restart_java_backend.sh` 拉起的后端进程
|
||||
@@ -0,0 +1,170 @@
|
||||
# 2026-04-22 招投标信息维护真实页面综合测试记录
|
||||
|
||||
## 1. 测试目标
|
||||
|
||||
- 在真实浏览器中进入“信息维护-招投标信息维护”页面,验证页面可访问、列表可加载、无明显前端报错。
|
||||
- 覆盖招投标信息维护核心业务链路:
|
||||
- 列表加载
|
||||
- 条件查询
|
||||
- 详情查看
|
||||
- 新增
|
||||
- 编辑
|
||||
- 删除
|
||||
- 导入模板下载
|
||||
- 双 Sheet Excel 导入
|
||||
- 导入失败记录查看
|
||||
- 测试结束后清理本轮新增/导入成功数据,并关闭测试过程启动的前端进程与浏览器会话。
|
||||
|
||||
## 2. 测试环境
|
||||
|
||||
- 前端地址:`http://localhost:62319`
|
||||
- 后端地址:`http://127.0.0.1:62318`
|
||||
- Mock 服务:`http://127.0.0.1:8000`
|
||||
- 前端 Node 版本:`nvm use 14.21.3`
|
||||
- 浏览器:Playwright headed 模式真实浏览器
|
||||
- 登录方式:通过真实登录页使用预填测试账号 `admin / admin123` 登录后进入页面
|
||||
- 测试页面:`http://localhost:62319/maintain/purchaseTransaction`
|
||||
|
||||
## 3. 测试文件
|
||||
|
||||
- 页面下载模板:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/playwright/bidding-maintenance-test/.playwright-cli/招投标信息维护导入模板-1776842565558.xlsx`
|
||||
- 生成导入样本:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/spreadsheet/bidding_info_import_browser_mixed.xlsx`
|
||||
- Playwright 上传副本:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/playwright/bidding-maintenance-test/bidding_info_import_browser_mixed.xlsx`
|
||||
|
||||
## 4. 页面测试过程与结果
|
||||
|
||||
### 4.1 页面进入与基础加载
|
||||
|
||||
- 从真实登录页登录后,通过顶部菜单进入“信息维护-招投标信息维护”。
|
||||
- 页面面包屑、菜单高亮、列表列头显示正常。
|
||||
- 关键列表列正常展示:
|
||||
- `中标供应商`
|
||||
- `参与供应商数`
|
||||
- `预算金额(元)`
|
||||
- Playwright 网络面板确认首屏关键请求均返回 `200`:
|
||||
- `/dev-api/getInfo`
|
||||
- `/dev-api/getRouters`
|
||||
- `/dev-api/ccdi/purchaseTransaction/list`
|
||||
- Playwright 控制台未发现 warning。
|
||||
|
||||
### 4.2 详情查看
|
||||
|
||||
- 打开首条现有记录详情:
|
||||
- `LSFXMOCKP2PUR001`
|
||||
- 验证通过:
|
||||
- 基本信息、金额信息、重要日期、申请人信息正常展示
|
||||
- 供应商明细表正常展示
|
||||
- 供应商排序、中标标识、统一信用代码、联系人、联系电话、银行账户展示正确
|
||||
|
||||
### 4.3 新增
|
||||
|
||||
- 新增测试单据:
|
||||
- 采购事项ID:`AUTOBID20260422151036`
|
||||
- 项目名称:`自动化招投标测试项目-1036`
|
||||
- 新增时录入两条供应商:
|
||||
- `杭州自动化供应商A有限公司`
|
||||
- `杭州自动化供应商B有限公司`
|
||||
- 将第 2 条供应商标记为中标后提交成功。
|
||||
- 列表校验通过:
|
||||
- 新增记录进入列表首行
|
||||
- `中标供应商` 显示为 `杭州自动化供应商B有限公司`
|
||||
- `参与供应商数` 显示为 `2`
|
||||
- `预算金额(元)`、申请人、申请部门、申请日期与录入一致
|
||||
|
||||
### 4.4 新增后详情复验
|
||||
|
||||
- 打开新增记录详情后验证通过:
|
||||
- 两条供应商都在详情表中展示
|
||||
- 第 1 条显示 `参标`
|
||||
- 第 2 条显示 `中标`
|
||||
- 排序、联系人、联系电话、银行账户与录入一致
|
||||
- 全部重要日期、采购负责人信息正确回显
|
||||
|
||||
### 4.5 编辑
|
||||
|
||||
- 编辑同一条测试单据,修改内容:
|
||||
- 项目名称改为 `自动化招投标测试项目-1036-已改`
|
||||
- 标的物名称改为 `服务器及配件-1036-复核`
|
||||
- 预算金额改为 `258000`
|
||||
- 将中标供应商从 `杭州自动化供应商B有限公司` 切换为 `杭州自动化供应商A有限公司`
|
||||
- 保存后列表校验通过:
|
||||
- 项目名称、标的物名称、预算金额已更新
|
||||
- `中标供应商` 摘要同步更新为 `杭州自动化供应商A有限公司`
|
||||
- `参与供应商数` 仍为 `2`
|
||||
|
||||
### 4.6 条件查询
|
||||
|
||||
- 以编辑后的项目名称 `自动化招投标测试项目-1036-已改` 进行查询。
|
||||
- 查询结果:
|
||||
- 分页总数显示 `共 1 条`
|
||||
- 列表首条采购事项ID为 `AUTOBID20260422151036`
|
||||
- 说明项目名称条件查询可正常命中目标记录。
|
||||
|
||||
### 4.7 导入模板下载
|
||||
|
||||
- 在真实页面导入弹窗中点击“下载模板”。
|
||||
- 下载结果正常,模板包含两个 Sheet:
|
||||
- `招投标主信息`
|
||||
- `供应商明细`
|
||||
|
||||
### 4.8 导入
|
||||
|
||||
- 使用自制双 Sheet 测试文件 `bidding_info_import_browser_mixed.xlsx` 发起导入。
|
||||
- 测试文件包含 2 个采购事项ID:
|
||||
- 成功样本:`IMPBID20260422152321A`
|
||||
- 失败样本:`IMPBID20260422152321B`
|
||||
- 导入后页面结果验证通过:
|
||||
- 成功样本进入列表
|
||||
- 其 `中标供应商` 显示为 `导入供应商乙有限公司`
|
||||
- 其 `参与供应商数` 显示为 `2`
|
||||
- 页面出现“查看导入失败记录”按钮
|
||||
|
||||
### 4.9 导入失败记录
|
||||
|
||||
- 打开“查看导入失败记录”弹窗。
|
||||
- 页面失败记录命中:
|
||||
- 采购事项ID:`IMPBID20260422152321B`
|
||||
- 项目名称:`导入失败项目-152321`
|
||||
- 标的物名称:`失败样例设备-152321`
|
||||
- 失败原因:`申请人工号必须为7位数字`
|
||||
- 说明导入失败记录分页、失败原因展示链路正常。
|
||||
|
||||
### 4.10 删除与清理
|
||||
|
||||
- 通过真实页面删除以下两条本轮测试产生的成功数据:
|
||||
- `AUTOBID20260422151036`
|
||||
- `IMPBID20260422152321A`
|
||||
- 删除时均经过页面二次确认弹窗,删除成功后搜索结果回到 `共 0 条`。
|
||||
- 清理本地导入任务缓存:
|
||||
- 已移除 `localStorage` 中的 `purchase_transaction_import_last_task`
|
||||
- 页面刷新后,“查看导入失败记录”按钮已消失。
|
||||
- 最终列表总数恢复为:
|
||||
- `共 2004 条`
|
||||
|
||||
## 5. 结论
|
||||
|
||||
- 招投标信息维护模块在真实页面下的核心链路测试通过。
|
||||
- 本次已覆盖:
|
||||
- 页面进入与真实登录
|
||||
- 列表展示
|
||||
- 条件查询
|
||||
- 详情查看
|
||||
- 新增
|
||||
- 编辑
|
||||
- 删除
|
||||
- 导入模板下载
|
||||
- 双 Sheet 导入
|
||||
- 导入失败记录查看
|
||||
- 本轮测试未发现阻断性缺陷。
|
||||
- 本轮新增和导入成功的数据已清理,列表总数已回到测试前水平。
|
||||
|
||||
## 6. 测试收尾
|
||||
|
||||
- 已清理本轮新增/导入成功业务数据。
|
||||
- 已清理前端本地导入任务缓存。
|
||||
- 待测试完成后关闭:
|
||||
- Playwright 浏览器会话
|
||||
- 前端 `npm run dev` 进程
|
||||
@@ -0,0 +1,50 @@
|
||||
# 员工亲属实体关联真实页面测试记录
|
||||
|
||||
## 测试时间
|
||||
|
||||
2026-04-24 13:32
|
||||
|
||||
## 测试范围
|
||||
|
||||
- 页面:员工亲属实体关联
|
||||
- 实际访问地址:`http://localhost:8080/maintain/staffEnterpriseRelation`
|
||||
- 后端接口代理:`http://localhost:8080/dev-api`
|
||||
- 登录账号:`admin`
|
||||
|
||||
## 环境信息
|
||||
|
||||
- 后端:本地 `62318` 端口已启动
|
||||
- 前端:`ruoyi-ui` 使用 `.nvmrc` 指定的 Node `14.21.3`,执行 `npm run dev -- --port 8080 --open false`
|
||||
- 浏览器:Playwright 启动本机 Google Chrome,访问真实业务页面
|
||||
|
||||
## 测试数据
|
||||
|
||||
- 选择的有效亲属:`320101199201010051 LSFX低收入亲属 / 导入验证员工20260317`
|
||||
- 测试统一社会信用代码:`91756899ABCDEFGH12`
|
||||
- 测试企业名称:`自动化测试亲属实体企业56899`
|
||||
- 测试职务:`自动化测试职务`
|
||||
- 编辑后职务:`自动化测试职务-已编辑`
|
||||
|
||||
## 测试步骤与结果
|
||||
|
||||
1. 打开真实业务页面,确认员工亲属实体关联列表加载成功。
|
||||
2. 点击“新增”,通过亲属身份证号下拉选择有效员工亲属,确认亲属姓名与关联员工自动带出。
|
||||
3. 填写统一社会信用代码、企业名称、职务、补充说明并提交,页面提示“新增成功”。
|
||||
4. 按企业名称搜索,确认新增记录展示在列表中,并包含企业名称、职务和关联员工信息。
|
||||
5. 打开“详情”,确认详情弹窗展示亲属身份证号、亲属姓名、关联员工、统一社会信用代码、企业名称、职务、状态、数据来源和补充说明。
|
||||
6. 点击“编辑”,修改职务后提交,页面提示“修改成功”,列表展示编辑后的职务。
|
||||
7. 再次新增同一亲属身份证号与同一统一社会信用代码组合,确认页面拦截并提示“该亲属身份证号和统一社会信用代码组合已存在”。
|
||||
8. 删除本轮新增记录,页面提示“删除成功”,完成测试数据清理。
|
||||
9. 测试结束后通过后端列表接口按测试企业名称复核,返回 `total = 0`,确认本轮测试数据已清理。
|
||||
|
||||
## 验证结论
|
||||
|
||||
- 员工亲属实体关联主链路通过。
|
||||
- 有效亲属下拉搜索、自动带出关联员工、新增、查询、详情、编辑、重复组合校验、删除清理均符合预期。
|
||||
- 测试过程中未发现浏览器控制台错误。
|
||||
- 测试过程中未发现失败请求。
|
||||
|
||||
## 测试产物
|
||||
|
||||
- 页面截图位于 `output/playwright/`,文件名前缀为 `staff-family-enterprise-*2026-04-24T05-32-31-510Z.png`。
|
||||
- 临时 Playwright 脚本位于 `output/playwright/staff-family-enterprise-relation-browser-test.js`,该目录为测试输出目录,不纳入 Git 提交范围。
|
||||
@@ -0,0 +1,60 @@
|
||||
# 员工亲属实体关联导入真实页面测试记录
|
||||
|
||||
## 测试时间
|
||||
|
||||
2026-04-24 13:38
|
||||
|
||||
## 测试范围
|
||||
|
||||
- 页面:员工亲属实体关联
|
||||
- 实际访问地址:`http://localhost:8080/maintain/staffEnterpriseRelation`
|
||||
- 导入接口:`/ccdi/staffEnterpriseRelation/importData`
|
||||
- 导入状态接口:`/ccdi/staffEnterpriseRelation/importStatus/{taskId}`
|
||||
- 失败记录接口:`/ccdi/staffEnterpriseRelation/importFailures/{taskId}`
|
||||
|
||||
## 环境信息
|
||||
|
||||
- 后端:本地 `62318` 端口既有进程
|
||||
- 前端:`ruoyi-ui` 使用 `.nvmrc` 指定的 Node `14.21.3`,执行 `npm run dev -- --port 8080 --open false`
|
||||
- 浏览器:Playwright 启动本机 Google Chrome,访问真实业务页面
|
||||
|
||||
## 测试数据
|
||||
|
||||
- 有效亲属:`320101199201010051 LSFX低收入亲属 / 导入验证员工20260317`
|
||||
- 成功记录统一社会信用代码:`91141873ABCDEFGH12`
|
||||
- 成功记录企业名称:`导入测试亲属实体企业141873`
|
||||
- 成功记录职务:`导入测试职务`
|
||||
- 失败记录场景:同一导入文件内重复 `亲属身份证号 + 统一社会信用代码` 组合
|
||||
|
||||
## 测试步骤与结果
|
||||
|
||||
1. 打开真实业务页面,点击“导入”,确认弹出“员工亲属实体关联数据导入”弹窗。
|
||||
2. 在导入弹窗中点击“下载模板”,下载当前页面模板文件。
|
||||
3. 基于下载的模板生成测试文件,写入两条数据:
|
||||
- 第 1 条为有效亲属 + 唯一统一社会信用代码,预期成功。
|
||||
- 第 2 条与第 1 条使用相同亲属身份证号和统一社会信用代码,预期文件内重复失败。
|
||||
4. 在真实页面上传该测试文件并点击“确定”,页面提示“员工亲属实体关联导入任务已提交”。
|
||||
5. 等待页面异步轮询完成,出现“查看导入失败记录”按钮,说明本轮为部分成功。
|
||||
6. 按成功记录企业名称查询列表,确认成功导入记录展示在列表中。
|
||||
7. 打开成功记录详情,确认统一社会信用代码 `91141873ABCDEFGH12` 与导入来源展示正确。
|
||||
8. 点击“查看导入失败记录”,确认失败记录弹窗展示重复组合错误:`组合在导入文件中重复`。
|
||||
9. 删除本轮成功导入记录,页面提示“删除成功”。
|
||||
10. 测试结束后通过后端列表接口按测试企业名称复核,返回 `total = 0`,确认本轮成功写入数据已清理。
|
||||
|
||||
## 验证结论
|
||||
|
||||
- 导入模板下载正常。
|
||||
- 基于当前模板生成的导入文件可被页面上传并提交。
|
||||
- 异步导入轮询、部分成功提示、失败记录按钮恢复与失败记录弹窗均符合预期。
|
||||
- 成功记录可入库并在列表/详情中查询到。
|
||||
- 文件内重复组合被正确拦截,失败原因展示准确。
|
||||
- 测试过程中未发现浏览器控制台错误。
|
||||
- 测试过程中未发现失败请求。
|
||||
- 本轮成功写入的测试数据已删除清理。
|
||||
|
||||
## 测试产物
|
||||
|
||||
- 下载模板:`output/playwright/staff-family-enterprise-import-template-2026-04-24T05-38-57-495Z.xlsx`
|
||||
- 导入样本:`output/playwright/staff-family-enterprise-import-sample-2026-04-24T05-38-57-495Z.xlsx`
|
||||
- 页面截图位于 `output/playwright/`,文件名前缀为 `staff-family-enterprise-import-*2026-04-24T05-38-57-495Z.png`。
|
||||
- 临时 Playwright 脚本位于 `output/playwright/staff-family-enterprise-relation-import-browser-test.js`,该目录为测试输出目录,不纳入 Git 提交范围。
|
||||
@@ -0,0 +1,84 @@
|
||||
# 员工亲属实体关联导入全场景真实页面测试记录
|
||||
|
||||
## 测试时间
|
||||
|
||||
2026-04-26 16:02
|
||||
|
||||
## 测试范围
|
||||
|
||||
- 页面:员工亲属实体关联
|
||||
- 实际访问地址:`http://localhost:8080/maintain/staffEnterpriseRelation`
|
||||
- 导入接口:`/ccdi/staffEnterpriseRelation/importData`
|
||||
- 导入状态接口:`/ccdi/staffEnterpriseRelation/importStatus/{taskId}`
|
||||
- 失败记录接口:`/ccdi/staffEnterpriseRelation/importFailures/{taskId}`
|
||||
|
||||
## 环境信息
|
||||
|
||||
- 后端:本地 `62318` 端口既有进程
|
||||
- 前端:`ruoyi-ui` 使用 `.nvmrc` 指定的 Node `14.21.3`,执行 `npm run dev -- --port 8080 --open false`
|
||||
- 浏览器:Playwright 启动本机 Google Chrome,访问真实业务页面
|
||||
|
||||
## 前置数据
|
||||
|
||||
- 有效亲属:`320101199201010051 LSFX低收入亲属 / 导入验证员工20260317`
|
||||
- 临时无效亲属:`320101199801010421`
|
||||
- 测试企业名前缀:`全场景导入测试企业520344`
|
||||
|
||||
## 覆盖场景
|
||||
|
||||
1. 空模板
|
||||
- 行数:0
|
||||
- 预期:页面提示 `至少需要一条数据`
|
||||
- 结果:通过
|
||||
|
||||
2. 基础校验失败
|
||||
- 行数:9
|
||||
- 覆盖:
|
||||
- 亲属身份证号为空
|
||||
- 统一社会信用代码为空
|
||||
- 企业名称为空
|
||||
- 亲属身份证号格式错误
|
||||
- 统一社会信用代码格式错误
|
||||
- 亲属身份证号不存在
|
||||
- 亲属身份证号不是有效员工亲属
|
||||
- 企业名称长度超过 200 个字符
|
||||
- 关联人在企业的职务长度超过 100 个字符
|
||||
- 结果:成功 0 条,失败 9 条,失败记录弹窗逐项展示对应原因
|
||||
|
||||
3. 全成功
|
||||
- 行数:3
|
||||
- 结果:成功 3 条,失败 0 条,列表可查询到成功导入记录
|
||||
|
||||
4. 成功失败混合
|
||||
- 行数:5
|
||||
- 覆盖:
|
||||
- 2 条有效数据成功导入
|
||||
- 文件内重复 `亲属身份证号 + 统一社会信用代码` 组合
|
||||
- 亲属身份证号不存在
|
||||
- 统一社会信用代码格式错误
|
||||
- 结果:成功 2 条,失败 3 条,成功记录可查询,失败记录弹窗展示对应原因
|
||||
|
||||
5. 已存在组合
|
||||
- 行数:1
|
||||
- 前置:使用混合场景已成功导入的组合
|
||||
- 预期:拦截已存在的 `亲属身份证号 + 统一社会信用代码` 组合
|
||||
- 结果:成功 0 条,失败 1 条,失败记录展示 `组合已存在,请勿重复导入`
|
||||
|
||||
## 验证结论
|
||||
|
||||
- 导入模板下载正常。
|
||||
- 基于当前页面模板生成的多份测试文件均可在真实页面上传。
|
||||
- 空模板、基础字段校验、有效亲属校验、文件内重复、库内已存在组合、全成功、成功失败混合均已覆盖。
|
||||
- 异步导入轮询、成功统计、失败统计、失败记录按钮和失败记录弹窗均符合预期。
|
||||
- 成功导入记录能够在列表查询到。
|
||||
- 本轮成功写入的 5 条测试数据已删除。
|
||||
- 本轮临时新增的无效亲属前置数据已删除。
|
||||
- 后端接口复核测试企业名前缀返回 `total = 0`。
|
||||
- 浏览器控制台无错误。
|
||||
- 测试过程中无失败请求。
|
||||
|
||||
## 测试产物
|
||||
|
||||
- 下载模板:`output/playwright/staff-family-enterprise-allcases-template-2026-04-26T08-02-00-344Z.xlsx`
|
||||
- 场景样本文件与截图位于 `output/playwright/`,文件名前缀为 `staff-family-enterprise-allcases-*2026-04-26T08-02-00-344Z`。
|
||||
- 临时 Playwright 脚本位于 `output/playwright/staff-family-enterprise-relation-import-all-cases-browser-test.js`,该目录为测试输出目录,不纳入 Git 提交范围。
|
||||
Reference in New Issue
Block a user