import { test } from '@playwright/test'; test('브라우저 콘솔 에러 확인', async ({ page }) => { const consoleMessages: string[] = []; const jsErrors: string[] = []; page.on('console', msg => { console.log(`[${msg.type().toUpperCase()}] ${msg.text()}`); if (msg.type() === 'error') { jsErrors.push(msg.text()); } consoleMessages.push(`${msg.type()}: ${msg.text()}`); }); page.on('pageerror', error => { console.log(`[PAGE ERROR] ${error.message}`); jsErrors.push(error.message); }); console.log('\n로그인 페이지 접근...'); await page.goto('http://localhost:5265/login'); await page.waitForLoadState('networkidle'); await page.waitForTimeout(2000); console.log('\n입력 및 로그인...'); const usernameInput = page.locator('input[type="text"]').first(); const passwordInput = page.locator('input[type="password"]'); const loginButton = page.locator('button:has-text("로그인")'); await usernameInput.fill('admin'); await passwordInput.fill('admin'); console.log('로그인 버튼 클릭...'); await loginButton.click(); await page.waitForTimeout(3000); console.log('\n\n╔════════════════════════════════════════════════════╗'); console.log('║ 콘솔 메시지 요약 ║'); console.log('╚════════════════════════════════════════════════════╝\n'); console.log(`총 메시지: ${consoleMessages.length}`); console.log(`JavaScript 에러: ${jsErrors.length}`); if (jsErrors.length > 0) { console.log('\n❌ 감지된 에러:'); jsErrors.forEach((err, i) => { console.log(` ${i + 1}. ${err}`); }); } else { console.log('\n✅ JavaScript 에러 없음'); } // Blazor 관련 콘솔 메시지 const blazorMessages = consoleMessages.filter(m => m.toLowerCase().includes('blazor')); if (blazorMessages.length > 0) { console.log('\n🔵 Blazor 메시지:'); blazorMessages.forEach(msg => { console.log(` - ${msg}`); }); } console.log('\n최종 URL:', page.url()); });