# 员工亲属实体关联导入真实页面测试记录

## 测试时间

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 提交范围。
