Files
ccdi/doc/test-data/test-reports/2025-02-08-intermediary-import-history-cleanup-test-report.md
2026-02-09 14:28:25 +08:00

9.8 KiB

中介库导入失败记录清除功能测试报告

测试日期: 2026-02-08 测试人员: 待指定 测试环境: 开发环境 (localhost) 功能版本: v1.0


一、测试概述

1.1 测试目标

验证在用户重新提交导入时,系统能够自动清除上一次导入失败记录的 localStorage 数据和页面按钮显示状态。

1.2 测试范围

  • Task 1: ImportDialog.vue 触发清除历史记录事件
  • Task 2: index.vue 添加事件监听
  • Task 3: index.vue 添加事件处理方法

1.3 涉及文件

  • ruoyi-ui/src/views/ccdiIntermediary/components/ImportDialog.vue
  • ruoyi-ui/src/views/ccdiIntermediary/index.vue

二、测试环境准备

2.1 启动前端开发服务器

cd ruoyi-ui
npm run dev

预期结果: 服务器正常运行在 http://localhost

2.2 登录系统

  • 访问: http://localhost
  • 用户名: admin
  • 密码: admin123

2.3 导航到中介库管理页面

点击菜单: 中介库管理中介黑名单


三、详细测试步骤

测试场景 1: 个人中介导入失败记录清除

目的: 验证重新导入个人中介时能够清除上一次的失败记录

步骤:

  1. 准备一份包含错误数据的个人中介导入文件

    • 文件格式: .xlsx.xls
    • 确保至少有 1-2 条数据存在错误(如身份证号格式错误、必填字段缺失等)
  2. 点击"导入"按钮

  3. 确认导入类型为"个人中介"(默认)

  4. 上传准备好的文件

  5. 点击"开始导入"按钮

  6. 等待导入完成(会有通知提示导入完成)

  7. 验证点 1: 确认页面上显示"查看个人导入失败记录"按钮

    • 预期: 按钮显示在工具栏中
  8. 点击"查看个人导入失败记录"按钮

  9. 验证点 2: 确认能看到失败记录列表

    • 预期: 弹出对话框,显示失败的记录和失败原因
  10. 关闭失败记录对话框

  11. 再次点击"导入"按钮

  12. 选择任意文件(可以是正确的文件,也可以是包含错误的文件)

  13. 关键步骤: 点击"开始导入"按钮

  14. 验证点 3: "查看个人导入失败记录"按钮应该立即消失

    • 预期: 按钮在点击"开始导入"后立即从页面上消失
    • 验证时机: 在新导入完成前就能看到效果
  15. 等待新导入完成

  16. 验证点 4: 如果新导入有失败,确认显示的是新的失败记录

    • 预期: 失败记录列表中显示的是新导入的失败数据

测试结果: 通过 失败

备注:


测试场景 2: 实体中介导入失败记录清除

目的: 验证重新导入实体中介时能够清除上一次的失败记录

步骤:

  1. 准备一份包含错误数据的实体中介导入文件

    • 文件格式: .xlsx.xls
    • 确保至少有 1-2 条数据存在错误(如统一社会信用代码格式错误、必填字段缺失等)
  2. 点击"导入"按钮

  3. 切换到"机构中介"标签

  4. 上传准备好的文件

  5. 点击"开始导入"按钮

  6. 等待导入完成

  7. 验证点 1: 确认页面上显示"查看实体导入失败记录"按钮

  8. 点击"查看实体导入失败记录"按钮

  9. 验证点 2: 确认能看到失败记录列表

  10. 关闭失败记录对话框

  11. 再次点击"导入"按钮,选择任意文件

  12. 关键步骤: 点击"开始导入"按钮

  13. 验证点 3: "查看实体导入失败记录"按钮应该立即消失

测试结果: 通过 失败

备注:


测试场景 3: 两种类型互不影响

目的: 验证个人和实体中介的导入记录清除操作互不干扰

步骤:

  1. 导入个人中介数据(确保有失败记录)

    • 点击"导入" → 选择"个人中介" → 上传文件 → 点击"开始导入"
    • 等待导入完成
  2. 验证点 1: 确认显示"查看个人导入失败记录"按钮

  3. 导入实体中介数据(确保有失败记录)

    • 点击"导入" → 选择"机构中介" → 上传文件 → 点击"开始导入"
    • 等待导入完成
  4. 验证点 2: 确认两个按钮都显示

    • 预期: "查看个人导入失败记录"和"查看实体导入失败记录"按钮同时显示
  5. 重新导入个人中介

    • 点击"导入" → 选择"个人中介" → 选择文件 → 点击"开始导入"
  6. 验证点 3: 只清除个人中介的失败记录按钮

    • 预期: "查看个人导入失败记录"按钮消失
    • 预期: "查看实体导入失败记录"按钮仍然显示
  7. 重新导入实体中介

    • 点击"导入" → 选择"机构中介" → 选择文件 → 点击"开始导入"
  8. 验证点 4: 只清除实体中介的失败记录按钮

    • 预期: "查看实体导入失败记录"按钮消失
    • 预期: "查看个人导入失败记录"按钮不会重新出现(因为已在步骤5中清除)

测试结果: 通过 失败

备注:


测试场景 4: 边界情况测试

目的: 验证特殊情况下功能的稳定性

步骤:

  1. 子场景 4.1: 导入全部成功,无失败记录

    • 准备一份完全正确的导入文件
    • 执行导入操作
    • 验证点: 确认不显示失败记录按钮
    • 再次导入其他数据
    • 验证点: 确认不影响任何状态,页面正常工作
  2. 子场景 4.2: localStorage 数据过期

    • 导入数据(有失败),确认按钮显示
    • 打开浏览器开发者工具(F12)
    • 进入 Application → Local Storage
    • 手动修改 intermediary_person_import_last_tasksaveTime 为过期时间(如7天前)
    • 刷新页面
    • 验证点: 确认按钮不显示(数据已过期)
    • 重新导入数据
    • 验证点: 导入正常进行,不受localStorage过期影响
  3. 子场景 4.3: 浏览器控制台无错误

    • 打开浏览器开发者工具(F12)
    • 切换到 Console 标签
    • 执行所有导入操作
    • 验证点: 确认 Console 没有错误日志
  4. 子场景 4.4: localStorage 数据验证

    • 执行导入操作(有失败)
    • 打开开发者工具 → Application → Local Storage
    • 验证点 1: 确认存在 intermediary_person_import_last_task 数据
    • 重新导入
    • 验证点 2: 确认点击"开始导入"后,localStorage 中的对应数据被清除
    • 刷新页面
    • 验证点 3: 确认按钮不再显示

测试结果: 通过 失败

备注:


测试场景 5: 快速连续点击

目的: 验证防止重复提交的机制

步骤:

  1. 导入数据(有失败),确认按钮显示

  2. 打开导入对话框

  3. 选择任意文件

  4. 关键步骤: 快速连续多次点击"开始导入"按钮(如双击或三击)

  5. 验证点: 按钮被禁用

    • 预期: 按钮变为灰色,显示"导入中..."
    • 预期: 不会重复触发多次上传
    • 预期: isUploading 状态为 true,阻止重复提交
  6. 等待导入完成

  7. 验证点: 只执行了一次导入操作

    • 预期: 只有一个通知提示
    • 预期: 失败记录列表只有一组数据

测试结果: 通过 失败

备注:


测试场景 6: 刷新页面后状态保持

目的: 验证 localStorage 的持久化功能

步骤:

  1. 导入个人中介数据(有失败)

  2. 验证点 1: 确认显示失败记录按钮

  3. 刷新浏览器页面(F5)

  4. 验证点 2: 确认按钮仍然显示

    • 预期: localStorage 数据持久化,状态保持
  5. 打开导入对话框,选择文件,点击"开始导入"

  6. 验证点 3: 按钮立即消失

    • 预期: 即使刷新页面后,清除功能仍然正常工作

测试结果: 通过 失败

备注:


四、测试数据准备

4.1 个人中介导入文件模板

必需字段:

  • 姓名(name)
  • 证件号码(personId)
  • 人员类型(personType)
  • 性别(gender)
  • 手机号码(mobile)

错误数据示例:

姓名 证件号码 人员类型 性别 手机号码
张三 12345 中介人员 13800138000
李四 评估人员 13900139000
王五 110101199001011234 13700137000

4.2 实体中介导入文件模板

必需字段:

  • 机构名称(enterpriseName)
  • 统一社会信用代码(socialCreditCode)
  • 主体类型(enterpriseType)
  • 企业性质(enterpriseNature)
  • 法定代表人(legalRepresentative)

错误数据示例:

机构名称 统一社会信用代码 主体类型 企业性质 法定代表人
测试公司1 ABCDEFGHIJKL 律师事务所 个人独资 张三
测试公司2 会计师事务所 合伙 李四
测试公司3 91110000123456789X 王五

五、已知问题


六、测试总结

6.1 测试覆盖率

  • 个人中介导入失败记录清除
  • 实体中介导入失败记录清除
  • 两种类型互不影响
  • 边界情况处理
  • 快速连续点击防护
  • 页面刷新后状态保持

6.2 测试结果统计

  • 总测试场景: 6 个
  • 通过场景: __ 个
  • 失败场景: __ 个
  • 阻塞问题: __ 个

6.3 整体评估

通过 - 所有测试场景通过,功能符合预期 有条件通过 - 大部分测试通过,存在非阻塞问题 不通过 - 存在关键功能缺陷,需要修复

6.4 建议

  • (根据测试结果填写建议)

七、附录

7.1 相关代码提交

  • Task 1: commit 1216ba9 "feat: 导入时触发清除历史记录事件"
  • Task 2: commit 51dc466 "feat: 监听清除导入历史记录事件"
  • Task 3: commit b35d05a "feat: 实现清除导入历史记录方法"

7.2 相关文档

  • 实施计划: doc/plans/2025-02-08-intermediary-import-history-cleanup.md
  • 需求文档: 待补充

7.3 联系方式

  • 开发人员: Claude (AI Assistant)
  • 测试负责人: 待指定
  • 项目经理: 待指定

测试报告版本: v1.0 最后更新: 2026-02-08