You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
4.3 KiB

/**
* 完整 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;