chore: remove test-pages.js
This commit is contained in:
-209
@@ -1,209 +0,0 @@
|
|||||||
// 多页面测试脚本
|
|
||||||
const { chromium } = require('playwright');
|
|
||||||
|
|
||||||
async function testAllPages() {
|
|
||||||
console.log('🚀 开始多页面测试...\n');
|
|
||||||
const browser = await chromium.launch({ headless: false });
|
|
||||||
const context = await browser.newContext();
|
|
||||||
const page = await context.newPage();
|
|
||||||
|
|
||||||
const baseUrl = 'http://localhost:5173';
|
|
||||||
const results = [];
|
|
||||||
|
|
||||||
// 1. 测试首页
|
|
||||||
console.log('📄 测试1: 首页 (Dashboard)');
|
|
||||||
try {
|
|
||||||
await page.goto(baseUrl, { waitUntil: 'networkidle', timeout: 30000 });
|
|
||||||
await page.waitForTimeout(2000);
|
|
||||||
|
|
||||||
// 检查关键元素
|
|
||||||
const title = await page.title();
|
|
||||||
const balanceCard = await page.$('.balance-card');
|
|
||||||
const statsGrid = await page.$('.stats-grid');
|
|
||||||
|
|
||||||
results.push({
|
|
||||||
page: '首页',
|
|
||||||
status: balanceCard && statsGrid ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
title: title,
|
|
||||||
hasBalance: !!balanceCard,
|
|
||||||
hasStats: !!statsGrid
|
|
||||||
});
|
|
||||||
console.log(` 标题: ${title}`);
|
|
||||||
console.log(` 余额卡片: ${balanceCard ? '✅' : '❌'}`);
|
|
||||||
console.log(` 统计网格: ${statsGrid ? '✅' : '❌'}\n`);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '首页', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2. 测试记账页面
|
|
||||||
console.log('📄 测试2: 记账页面 (Record)');
|
|
||||||
try {
|
|
||||||
await page.goto(`${baseUrl}/record`, { waitUntil: 'networkidle', timeout: 30000 });
|
|
||||||
await page.waitForTimeout(2000);
|
|
||||||
|
|
||||||
const pageTitle = await page.$('.page-title');
|
|
||||||
const filterBar = await page.$('.filter-bar');
|
|
||||||
|
|
||||||
results.push({
|
|
||||||
page: '记账',
|
|
||||||
status: pageTitle || filterBar ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
hasTitle: !!pageTitle,
|
|
||||||
hasFilter: !!filterBar
|
|
||||||
});
|
|
||||||
console.log(` 页面标题: ${pageTitle ? '✅' : '❌'}`);
|
|
||||||
console.log(` 筛选栏: ${filterBar ? '✅' : '❌'}\n`);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '记账', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3. 测试预算页面
|
|
||||||
console.log('📄 测试3: 预算页面 (Budget)');
|
|
||||||
try {
|
|
||||||
await page.goto(`${baseUrl}/budget`, { waitUntil: 'networkidle', timeout: 30000 });
|
|
||||||
await page.waitForTimeout(2000);
|
|
||||||
|
|
||||||
const overviewCard = await page.$('.overview-card');
|
|
||||||
const budgetList = await page.$('.budget-list');
|
|
||||||
|
|
||||||
results.push({
|
|
||||||
page: '预算',
|
|
||||||
status: overviewCard || budgetList ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
hasOverview: !!overviewCard,
|
|
||||||
hasBudget: !!budgetList
|
|
||||||
});
|
|
||||||
console.log(` 概览卡片: ${overviewCard ? '✅' : '❌'}`);
|
|
||||||
console.log(` 预算列表: ${budgetList ? '✅' : '❌'}\n`);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '预算', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. 测试统计页面
|
|
||||||
console.log('📄 测试4: 统计页面 (Statistics)');
|
|
||||||
try {
|
|
||||||
await page.goto(`${baseUrl}/statistics`, { waitUntil: 'networkidle', timeout: 30000 });
|
|
||||||
await page.waitForTimeout(2000);
|
|
||||||
|
|
||||||
const chartCards = await page.$$('.chart-card');
|
|
||||||
const tabsContainer = await page.$('.chart-tabs');
|
|
||||||
|
|
||||||
results.push({
|
|
||||||
page: '统计',
|
|
||||||
status: chartCards.length > 0 ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
chartCount: chartCards.length,
|
|
||||||
hasTabs: !!tabsContainer
|
|
||||||
});
|
|
||||||
console.log(` 图表卡片数量: ${chartCards.length}`);
|
|
||||||
console.log(` 图表切换标签: ${tabsContainer ? '✅' : '❌'}\n`);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '统计', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 5. 测试侧边栏导航
|
|
||||||
console.log('📄 测试5: 侧边栏导航');
|
|
||||||
try {
|
|
||||||
const navItems = await page.$$('.sidebar-nav-item');
|
|
||||||
results.push({
|
|
||||||
page: '导航',
|
|
||||||
status: navItems.length >= 4 ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
navCount: navItems.length
|
|
||||||
});
|
|
||||||
console.log(` 导航项数量: ${navItems.length}`);
|
|
||||||
console.log(` 导航功能: ${navItems.length >= 4 ? '✅' : '❌'}\n`);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '导航', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 6. 测试响应式布局
|
|
||||||
console.log('📄 测试6: 响应式布局');
|
|
||||||
try {
|
|
||||||
await page.setViewportSize({ width: 1920, height: 1080 });
|
|
||||||
await page.waitForTimeout(1000);
|
|
||||||
const sidebarDesktop = await page.$('.sidebar');
|
|
||||||
const mainContentDesktop = await page.$('.main-content');
|
|
||||||
|
|
||||||
await page.setViewportSize({ width: 375, height: 667 });
|
|
||||||
await page.waitForTimeout(1000);
|
|
||||||
const mobileHeader = await page.$('.mobile-header');
|
|
||||||
const bottomTab = await page.$('.bottom-tab-bar');
|
|
||||||
|
|
||||||
results.push({
|
|
||||||
page: '响应式',
|
|
||||||
status: (sidebarDesktop && mainContentDesktop) || (mobileHeader && bottomTab) ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
desktopMode: !!(sidebarDesktop && mainContentDesktop),
|
|
||||||
mobileMode: !!(mobileHeader && bottomTab)
|
|
||||||
});
|
|
||||||
console.log(` 桌面模式(1920px): ${sidebarDesktop && mainContentDesktop ? '✅' : '❌'}`);
|
|
||||||
console.log(` 移动模式(375px): ${mobileHeader && bottomTab ? '✅' : '❌'}\n`);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '响应式', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 7. 测试侧边栏折叠功能
|
|
||||||
console.log('📄 测试7: 侧边栏折叠功能');
|
|
||||||
try {
|
|
||||||
await page.setViewportSize({ width: 1920, height: 1080 });
|
|
||||||
await page.goto(baseUrl, { waitUntil: 'networkidle', timeout: 30000 });
|
|
||||||
|
|
||||||
const toggleBtn = await page.$('.sidebar-toggle');
|
|
||||||
if (toggleBtn) {
|
|
||||||
await toggleBtn.click();
|
|
||||||
await page.waitForTimeout(500);
|
|
||||||
const isCollapsed = await page.$('.sidebar.collapsed');
|
|
||||||
console.log(` 折叠功能: ${isCollapsed ? '✅' : '❌'}`);
|
|
||||||
|
|
||||||
await toggleBtn.click();
|
|
||||||
await page.waitForTimeout(500);
|
|
||||||
const isExpanded = await page.$('.sidebar:not(.collapsed)');
|
|
||||||
console.log(` 展开功能: ${isExpanded ? '✅' : '❌'}\n`);
|
|
||||||
|
|
||||||
results.push({
|
|
||||||
page: '折叠功能',
|
|
||||||
status: isCollapsed && isExpanded ? '✅ 通过' : '⚠️ 部分通过',
|
|
||||||
collapsible: !!isCollapsed,
|
|
||||||
expandable: !!isExpanded
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
console.log(` 折叠按钮: ❌ 未找到\n`);
|
|
||||||
results.push({ page: '折叠功能', status: '❌ 失败', error: '未找到折叠按钮' });
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(` ❌ 错误: ${error.message}\n`);
|
|
||||||
results.push({ page: '折叠功能', status: '❌ 失败', error: error.message });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 测试总结
|
|
||||||
console.log('='.repeat(50));
|
|
||||||
console.log('📊 测试总结');
|
|
||||||
console.log('='.repeat(50));
|
|
||||||
|
|
||||||
const passed = results.filter(r => r.status.includes('通过')).length;
|
|
||||||
const total = results.length;
|
|
||||||
const passRate = ((passed / total) * 100).toFixed(1);
|
|
||||||
|
|
||||||
results.forEach(r => {
|
|
||||||
console.log(`${r.page.padEnd(10)} : ${r.status}`);
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log('='.repeat(50));
|
|
||||||
console.log(`总计: ${passed}/${total} 通过 (${passRate}%)`);
|
|
||||||
console.log('='.repeat(50));
|
|
||||||
|
|
||||||
if (parseFloat(passRate) >= 80) {
|
|
||||||
console.log('\n🎉 测试结果:优秀!系统功能正常!');
|
|
||||||
} else if (parseFloat(passRate) >= 60) {
|
|
||||||
console.log('\n⚠️ 测试结果:一般,部分功能需要修复');
|
|
||||||
} else {
|
|
||||||
console.log('\n❌ 测试结果:不理想,需要修复关键问题');
|
|
||||||
}
|
|
||||||
|
|
||||||
await browser.close();
|
|
||||||
console.log('\n✅ 测试完成!');
|
|
||||||
}
|
|
||||||
|
|
||||||
testAllPages().catch(console.error);
|
|
||||||
Reference in New Issue
Block a user