# 员工亲属实体关联导入全场景真实页面测试记录 ## 测试时间 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 提交范围。