Files
ccdi/docs/tests/records/2026-04-22-base-staff-maintenance-browser-test-record.md

197 lines
6.9 KiB
Markdown
Raw Normal View History

2026-07-02 16:48:17 +08:00
# 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` 拉起的后端进程