import { FullConfig } from '@playwright/test'; import fs from 'fs'; import path from 'path'; /** * Playwright E2E全局清理 * 在测试结束后执行: * 1. 清理测试数据 * 2. 关闭资源 * 3. 生成测试报告 */ async function globalTeardown(config: FullConfig) { console.log(''); console.log('🧹 开始E2E测试全局清理...'); try { // 1. 读取测试数据 const testDataPath = path.join(__dirname, '..', '.e2e-test-data.json'); if (fs.existsSync(testDataPath)) { const testData = JSON.parse(fs.readFileSync(testDataPath, 'utf-8')); // 2. 清理测试数据(可选:调用后端API删除测试数据) console.log(` 📋 清理测试活动 ID=${testData.activityId}`); // 3. 删除测试数据文件 fs.unlinkSync(testDataPath); console.log(' ✅ 测试数据文件已清理'); } // 4. 生成测试摘要 console.log(''); console.log('📊 E2E测试摘要'); console.log(' 查看完整报告: npx playwright show-report e2e-report'); console.log(''); console.log('✅ 全局清理完成!'); } catch (error) { console.error('❌ 全局清理出错:', error); // 不抛出错误,避免影响测试报告 } } export default globalTeardown;