41 lines
1.6 KiB
JavaScript
41 lines
1.6 KiB
JavaScript
|
|
const { chromium } = require('playwright');
|
||
|
|
|
||
|
|
(async () => {
|
||
|
|
const browser = await chromium.launch({ headless: true });
|
||
|
|
const page = await browser.newPage();
|
||
|
|
|
||
|
|
const results = [];
|
||
|
|
|
||
|
|
// 测试页面列表
|
||
|
|
const pages = [
|
||
|
|
{ url: 'http://127.0.0.1:20199/', name: '首页' },
|
||
|
|
{ url: 'http://127.0.0.1:20199/pages/queue/status/index', name: '公排状态页' },
|
||
|
|
{ url: 'http://127.0.0.1:20199/pages/queue/history/index', name: '公排历史页' },
|
||
|
|
{ url: 'http://127.0.0.1:20199/pages/queue/rules/index', name: '公排规则页' },
|
||
|
|
{ url: 'http://127.0.0.1:20199/pages/assets/index/index', name: '我的资产页' },
|
||
|
|
{ url: 'http://127.0.0.1:20199/pages/assets/points_detail/index', name: '积分明细页' },
|
||
|
|
{ url: 'http://127.0.0.1:20199/pages/guide/hjf_intro/index', name: '引导页' },
|
||
|
|
];
|
||
|
|
|
||
|
|
console.log('🧪 开始 E2E 页面测试...\n');
|
||
|
|
|
||
|
|
for (const p of pages) {
|
||
|
|
try {
|
||
|
|
await page.goto(p.url, { waitUntil: 'networkidle', timeout: 15000 });
|
||
|
|
const title = await page.title();
|
||
|
|
results.push({ name: p.name, status: '✅ PASS', title });
|
||
|
|
console.log(`✅ ${p.name}: ${title}`);
|
||
|
|
} catch (e) {
|
||
|
|
results.push({ name: p.name, status: '❌ FAIL', error: e.message });
|
||
|
|
console.log(`❌ ${p.name}: ${e.message}`);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('\n📊 测试结果汇总:');
|
||
|
|
console.log(` 通过: ${results.filter(r => r.status === '✅ PASS').length}/${pages.length}`);
|
||
|
|
console.log(` 失败: ${results.filter(r => r.status === '❌ FAIL').length}/${pages.length}`);
|
||
|
|
|
||
|
|
await browser.close();
|
||
|
|
process.exit(results.filter(r => r.status === '❌ FAIL').length > 0 ? 1 : 0);
|
||
|
|
})();
|