From 9b5ded4cc7c83b95abbdafd76bbae90c1eb5aa3d Mon Sep 17 00:00:00 2001 From: snowgitea Date: Wed, 29 Apr 2026 02:08:56 +0800 Subject: [PATCH] chore: remove frontend/chart-switch-test.cjs --- frontend/chart-switch-test.cjs | 129 --------------------------------- 1 file changed, 129 deletions(-) delete mode 100644 frontend/chart-switch-test.cjs diff --git a/frontend/chart-switch-test.cjs b/frontend/chart-switch-test.cjs deleted file mode 100644 index 5d9b7ee..0000000 --- a/frontend/chart-switch-test.cjs +++ /dev/null @@ -1,129 +0,0 @@ -const { chromium } = require('playwright'); - -async function runChartSwitchTest() { - const browser = await chromium.launch({ headless: true }); - const context = await browser.newContext(); - const page = await context.newPage(); - - const results = []; - const switchSequence = ['line', 'pie', 'line', 'pie', 'bar', 'pie', 'bar', 'pie', 'line', 'bar', 'pie', 'bar', 'line', 'pie', 'line', 'bar', 'pie', 'bar', 'line', 'pie']; - - console.log('打开统计页面...'); - await page.goto('http://localhost:5173/statistics', { waitUntil: 'networkidle', timeout: 15000 }); - - // 等待更长时间让数据加载 - console.log('等待数据加载 (15秒)...'); - await page.waitForTimeout(15000); - - // 检查 DOM 状态 - const domCheck = await page.evaluate(() => { - const echartsContainer = document.querySelector('.echarts-container'); - const pieContainer = document.querySelector('.pie-chart-container'); - const canvases = document.querySelectorAll('canvas'); - return { - hasEchartsContainer: !!echartsContainer, - hasPieContainer: !!pieContainer, - canvasCount: canvases.length, - bodyText: document.body.innerText.substring(0, 500) - }; - }); - - console.log('\n页面 DOM 状态:'); - console.log(' .echarts-container:', domCheck.hasEchartsContainer ? '存在' : '不存在'); - console.log(' .pie-chart-container:', domCheck.hasPieContainer ? '存在' : '不存在'); - console.log(' canvas 数量:', domCheck.canvasCount); - console.log(' 页面文本:', domCheck.bodyText.replace(/\n/g, ' ').substring(0, 100)); - - console.log('\n开始20次图表切换测试...'); - - for (let i = 0; i < switchSequence.length; i++) { - const chartType = switchSequence[i]; - const btnSelector = `[data-type="${chartType}"]`; - - try { - await page.click(btnSelector, { timeout: 5000 }); - await page.waitForTimeout(1500); - - let chartStatus = 'OK'; - let errorMsg = ''; - - if (chartType === 'pie') { - const pieCanvas = await page.$$('.pie-chart-container canvas'); - const trendCanvas = await page.$$('.echarts-container canvas'); - if (pieCanvas.length === 0) { - chartStatus = 'FAIL'; - errorMsg = '饼图 canvas 为空'; - } else if (pieCanvas.length > 1) { - chartStatus = 'WARN'; - errorMsg = `饼图 canvas 重复(${pieCanvas.length})`; - } - if (trendCanvas.length > 0) { - chartStatus = 'FAIL'; - errorMsg = `趋势图未销毁(${trendCanvas.length})`; - } - } else { - const trendCanvas = await page.$$('.echarts-container canvas'); - if (trendCanvas.length === 0) { - chartStatus = 'FAIL'; - errorMsg = '趋势图 canvas 为空'; - } else if (trendCanvas.length > 1) { - chartStatus = 'WARN'; - errorMsg = `趋势图 canvas 重复(${trendCanvas.length})`; - } - const pieCanvas = await page.$$('.pie-chart-container canvas'); - if (pieCanvas.length > 0) { - chartStatus = 'FAIL'; - errorMsg = `饼图未销毁(${pieCanvas.length})`; - } - } - - results.push({ - step: i + 1, - to: chartType, - status: chartStatus, - error: errorMsg - }); - - console.log(`[${i + 1}/20] ${chartType.padEnd(5)}: ${chartStatus}${errorMsg ? ' - ' + errorMsg : ''}`); - - } catch (e) { - results.push({ - step: i + 1, - to: chartType, - status: 'FAIL', - error: e.message.substring(0, 80) - }); - console.log(`[${i + 1}/20] ${chartType.padEnd(5)}: FAIL - ${e.message.substring(0, 50)}`); - } - } - - console.log('\n========== 测试结果统计 =========='); - const passCount = results.filter(r => r.status === 'OK').length; - const warnCount = results.filter(r => r.status === 'WARN').length; - const failCount = results.filter(r => r.status === 'FAIL').length; - - console.log(`通过: ${passCount}/20 (${(passCount/20*100).toFixed(1)}%)`); - console.log(`警告: ${warnCount}/20`); - console.log(`失败: ${failCount}/20`); - - if (failCount > 0) { - console.log('\n失败详情:'); - results.filter(r => r.status === 'FAIL').forEach(r => { - console.log(` Step ${r.step}: ${r.to} - ${r.error}`); - }); - } - - await browser.close(); - - return { passCount, failCount, warnCount, details: results }; -} - -runChartSwitchTest() - .then(result => { - console.log('\n测试完成'); - process.exit(result.failCount > 0 ? 1 : 0); - }) - .catch(e => { - console.error('测试失败:', e); - process.exit(1); - });