Files
QuantEngineByItz/tests/e2e/archive/test-static-login.spec.ts
T

52 lines
1.9 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('정적 login.html 검증', async ({ page }) => {
console.log('\n🧪 /login.html 접속\n');
const response = await page.goto('http://localhost:5265/login.html', { waitUntil: 'load' });
console.log(`📍 URL: ${page.url()}`);
console.log(`📊 상태: ${response?.status()}`);
console.log(`📄 제목: ${await page.title()}`);
// 로그인 폼 확인
const form = await page.locator('#loginForm').isVisible();
console.log(`📋 로그인 폼: ${form ? '✅' : '❌'}`);
// 입력 필드 확인
const username = await page.locator('#username').isVisible();
const password = await page.locator('#password').isVisible();
console.log(`🔐 입력 필드 (아이디/비밀번호): ${username && password ? '✅' : '❌'}`);
// 제출 버튼 확인
const button = await page.locator('#loginBtn').isVisible();
console.log(`🔘 제출 버튼: ${button ? '✅' : '❌'}`);
// 텍스트 확인
const text = await page.textContent('body');
console.log(`📝 "QuantEngine": ${text?.includes('QuantEngine') ? '✅' : '❌'}`);
console.log(`📝 "로그인": ${text?.includes('로그인') ? '✅' : '❌'}`);
// 로그인 테스트
console.log('\n🔐 로그인 시도...\n');
await page.fill('#username', 'admin');
await page.fill('#password', 'admin');
await page.click('#loginBtn');
// 응답 대기
await page.waitForTimeout(3000);
console.log(`📍 최종 URL: ${page.url()}`);
console.log(`📄 최종 제목: ${await page.title()}`);
// 홈페이지 확인
if (page.url().includes('/') && !page.url().includes('login')) {
console.log('✅ 로그인 성공! 홈페이지로 이동');
}
// 스크린샷
await page.screenshot({ path: 'test-results/login-html-actual.png', fullPage: true });
console.log('\n📸 스크린샷: test-results/login-html-actual.png\n');
});