Files
ccdi/docs/tests/records/2026-04-24-staff-family-enterprise-relation-import-browser-test-record.md

61 lines
3.3 KiB
Markdown
Raw Normal View History

2026-07-02 16:48:17 +08:00
# 员工亲属实体关联导入真实页面测试记录
## 测试时间
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 提交范围。