# 中介黑名单弹窗优化功能测试 ## 测试概述 本测试套件用于验证中介黑名单弹窗优化后的功能正确性,主要包括: 1. **新增模式交互**:验证类型选择卡片的用户体验 2. **表单验证**:验证个人/机构类型的字段验证规则 3. **数据同步**:验证机构类型证件号与统一社会信用代码的同步 4. **修改模式锁定**:验证修改时类型不可更改 5. **边界情况处理**:验证各种异常输入的处理 ## 运行测试 ### 前置条件 1. 后端服务已启动(默认 `http://localhost:8080`) 2. 测试账号可用(`admin/admin123`) 3. 已安装 Node.js ### 安装依赖 ```bash cd doc/scripts npm install ``` ### 执行测试 ```bash # 直接运行测试(输出到控制台) npm test # 运行测试并生成报告文件 npm run test:report # 或者直接使用 Node.js node test_intermediary_dialog.js ``` ## 测试用例说明 | 测试编号 | 测试名称 | 测试目标 | 预期结果 | |------|---------------|------------------|-----------| | 1 | 登录系统 | 获取认证Token | 成功获取Token | | 2 | 新增个人中介-必填字段 | 验证姓名和证件号必填 | 缺少必填项时被拒绝 | | 3 | 新增个人中介-字段长度 | 验证字段长度限制 | 超长时被拒绝 | | 4 | 新增机构中介-证件号同步 | 验证证件号同步到统一社会信用代码 | 两字段值一致 | | 5 | 新增机构中介-信用代码长度 | 验证统一社会信用代码长度 | 前端限制18位 | | 6 | 修改个人中介-类型锁定 | 验证修改时类型不可更改 | 类型字段保持不变 | | 7 | 修改机构中介-类型锁定 | 验证修改时类型不可更改 | 类型字段保持不变 | | 8 | 新增无类型 | 验证未选择类型无法提交 | 后端拒绝请求 | | 9 | 查询列表 | 验证数据正确性 | 返回正确的类型分布 | ## 测试报告示例 ``` ============================================================== 测试1:登录系统 ============================================================== ✓ 通过 - 登录成功 Token: eyJhbGciOiJIUzUxMiJ9... ============================================================== 测试2:新增个人中介 - 验证必填字段 ============================================================== ✓ 通过 - 空姓名 应该被拒绝 ✓ 通过 - 空证件号 应该被拒绝 ✓ 通过 - 完整必填字段 成功创建,ID: 123 ... ``` ## 功能验证清单 ### 前端交互验证 - [ ] 点击新增后显示类型选择卡片 - [ ] 卡片有 hover 效果 - [ ] 点击卡片后表单展开带淡入动画 - [ ] 点击卡片后表单不立即显示验证错误 - [ ] 未选择类型时确定按钮被禁用 - [ ] 个人类型表单显示正确的字段 - [ ] 机构类型表单显示正确的字段 - [ ] 个人类型证件号字段显示正确的占位符:"请输入证件号码" - [ ] 机构类型证件号字段显示正确的占位符:"统一社会信用代码(18位)" - [ ] 证件号输入框后无提示图标 ### 表单验证验证 - [ ] 个人类型姓名必填验证 - [ ] 个人类型证件号必填验证 - [ ] 机构类型名称必填验证 - [ ] 机构类型证件号必填验证 - [ ] 机构类型证件号长度限制18位 - [ ] 备注字段长度限制500字符 ### 数据同步验证 - [ ] 机构类型输入证件号后自动同步到统一社会信用代码 - [ ] 提交时两个字段值一致 ### 修改模式验证 - [ ] 修改时直接显示对应类型表单 - [ ] 修改时不显示类型选择器 - [ ] 修改时类型字段不可更改 ## 故障排查 ### 测试失败常见原因 1. **后端服务未启动** - 检查 `http://localhost:8080` 是否可访问 - 检查后端日志是否有错误 2. **认证失败** - 确认测试账号密码正确 - 检查后端是否启用了认证 3. **端口冲突** - 修改 `CONFIG.baseURL` 为实际后端地址 4. **依赖缺失** - 运行 `npm install` 安装依赖 ## 注意事项 1. 测试会创建真实数据,测试结束后会自动清理 2. 请勿在生产环境运行测试 3. 如需修改测试数据,编辑 `CONFIG` 对象 4. 测试报告会保存在 `test_report.txt` 文件中