const { chromium } = require('playwright'); (async () => { let browser; try { console.log('访问新启动的Vite服务器...'); browser = await chromium.launch({ headless: false, slowMo: 300 }); const context = await browser.newContext({ viewport: { width: 1920, height: 1080 } }); const page = await context.newPage(); // 监听所有控制台消息 page.on('console', msg => { console.log(`[${msg.type()}] ${msg.text()}`); }); // 监听页面错误 page.on('pageerror', error => { console.log('页面错误:', error.message); }); // 访问5173端口 console.log('\n访问 http://localhost:5173 ...'); await page.goto('http://localhost:5173/', { waitUntil: 'networkidle' }); // 等待可能的错误覆盖层 await page.waitForTimeout(2000); // 检查Vite错误覆盖层 const viteErrorOverlay = await page.locator('vite-error-overlay').count(); if (viteErrorOverlay > 0) { console.log('\n发现Vite错误覆盖层!'); // 获取错误信息 const errorMessage = await page.locator('vite-error-overlay .message').textContent(); const errorStack = await page.locator('vite-error-overlay .stack').textContent(); const errorFile = await page.locator('vite-error-overlay .file').textContent(); console.log('\n=== VITE 错误 ==='); console.log('错误消息:', errorMessage); console.log('错误文件:', errorFile); console.log('错误堆栈:', errorStack); // 截图错误 await page.screenshot({ path: 'test-screenshots/vite-error.png', fullPage: true }); } else { console.log('没有发现Vite错误覆盖层'); // 检查是否有其他错误提示 const anyError = await page.locator('.error, [class*="error"]').count(); if (anyError > 0) { console.log('发现其他错误元素'); } } // 尝试登录 console.log('\n尝试登录...'); await page.fill('[name="username"]', 'admin'); await page.fill('[name="password"]', '111111'); await page.click('button:has-text("登录")'); await page.waitForTimeout(3000); console.log('当前URL:', page.url()); console.log('页面标题:', await page.title()); console.log('\n保持浏览器打开...'); await new Promise(() => {}); } catch (error) { console.error('出错了:', error); if (browser) { await browser.close(); } } })();