/** * 完整 E2E 测试执行入口 * 运行方式: 在 Claude 中输入 "执行完整 E2E 测试" */ import { userE2ETests } from './users.e2e.test'; import { dashboardE2ETests } from './dashboard.e2e.test'; export async function runFullE2ETests() { console.log('╔═══════════════════════════════════════════════════════════╗'); console.log('║ 完整 E2E 测试套件 ║'); console.log('╚═══════════════════════════════════════════════════════════╝'); console.log(''); const startTime = Date.now(); let totalPassed = 0; let totalFailed = 0; // 测试套件 1: 仪表盘测试 console.log('\n┌─────────────────────────────────────────────────────────┐'); console.log('│ 📊 测试套件 1: 仪表盘数据验证 │'); console.log('└─────────────────────────────────────────────────────────┘'); console.log(''); console.log('测试流程:'); console.log(' 1. 登录系统'); console.log(' 2. 验证仪表盘统计数据'); console.log(' 3. 验证最近活动列表'); console.log(' 4. 验证快捷操作'); console.log(''); let dashboardPassed = 0; try { await dashboardE2ETests.runFullTest(); dashboardPassed = 4; totalPassed += 4; } catch (error) { totalFailed += 1; console.error('\n❌ 仪表盘测试失败:', error); } // 测试套件 2: 用户管理 CRUD 测试 console.log('\n┌─────────────────────────────────────────────────────────┐'); console.log('│ 👥 测试套件 2: 用户管理 CRUD │'); console.log('└─────────────────────────────────────────────────────────┘'); console.log(''); console.log('测试流程:'); console.log(' 1. 登录系统'); console.log(' 2. 导航到用户管理'); console.log(' 3. 创建新用户'); console.log(' 4. 验证用户创建'); console.log(' 5. 编辑用户信息'); console.log(' 6. 验证用户更新'); console.log(' 7. 删除用户(含确认弹窗)'); console.log(' 8. 验证用户删除'); console.log(''); let userPassed = 0; try { await userE2ETests.runFullCRUDTest(); userPassed = 8; totalPassed += 8; } catch (error) { totalFailed += 1; console.error('\n❌ 用户管理测试失败:', error); } const duration = Date.now() - startTime; console.log('\n═══════════════════════════════════════════════════════════'); console.log('📊 完整测试报告'); console.log('═══════════════════════════════════════════════════════════'); console.log(` 仪表盘测试: ${dashboardPassed}/4 ✅`); console.log(` 用户管理测试: ${userPassed}/8 ✅`); console.log(` ─────────────────────────────────────────`); console.log(` 总计步骤: ${totalPassed + totalFailed}`); console.log(` ✅ 通过: ${totalPassed}`); console.log(` ❌ 失败: ${totalFailed}`); console.log(` ⏱️ 耗时: ${(duration / 1000).toFixed(2)} 秒`); console.log('═══════════════════════════════════════════════════════════'); return { passed: totalPassed, failed: totalFailed, duration }; } // 如果直接运行此文件 if (require.main === module) { runFullE2ETests(); } export default runFullE2ETests;