2bde490e9e
TaxBaik CI/CD / build-and-deploy (push) Successful in 51s
- Add Serilog for structured logging (Console + File) - Implement TelegramNotificationService for admin alerts - Log successful/failed login attempts with Telegram notifications - Add application startup/shutdown logging - Log important events to Telegram Chat ID: -5585148480 - Configuration: Telegram:BotToken and Telegram:ChatId in appsettings Features: - Automatic daily log rotation - Structured logging with timestamps - Environment-aware alerts - Error and info level Telegram messages Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
53 lines
1.9 KiB
JavaScript
53 lines
1.9 KiB
JavaScript
import { chromium } from '@playwright/test';
|
|
|
|
const browser = await chromium.launch();
|
|
const page = await browser.newPage();
|
|
|
|
try {
|
|
console.log('🧪 최종 테스트: Settings 페이지 로딩 인디케이터');
|
|
console.log('');
|
|
|
|
// 로그인
|
|
await page.goto('http://178.104.200.7/taxbaik/admin/login', { waitUntil: 'networkidle' });
|
|
await page.fill('input[placeholder="사용자명"]', 'test_admin');
|
|
await page.fill('input[placeholder="비밀번호"]', 'TestAdmin@123456');
|
|
await page.click('button:has-text("로그인")');
|
|
await page.waitForURL(/\/taxbaik\/admin\/dashboard$/);
|
|
console.log('✅ 로그인 성공');
|
|
|
|
// Settings 페이지로 이동
|
|
console.log('📍 Settings 페이지로 이동...');
|
|
await page.goto('http://178.104.200.7/taxbaik/admin/settings', { waitUntil: 'domcontentloaded' });
|
|
|
|
// 로딩 인디케이터 상태 확인
|
|
console.log('');
|
|
console.log('⏱️ 로딩 상태 모니터링:');
|
|
|
|
for (let i = 1; i <= 5; i++) {
|
|
await page.waitForTimeout(500);
|
|
|
|
const loadingVisible = await page.locator('#blazor-loading.show').isVisible().catch(() => false);
|
|
const mudCount = await page.locator('[class*="mud-"]').count();
|
|
const formElements = await page.locator('input, .admin-section-header').count();
|
|
|
|
console.log(` ${i}초: Loading=${loadingVisible ? '보임' : '안보임'}, Mud=${mudCount}, Form=${formElements}`);
|
|
|
|
if (!loadingVisible && mudCount > 20) {
|
|
console.log('');
|
|
console.log('✅ 로딩 인디케이터 정상 작동!');
|
|
console.log(' → 페이지 로드 중: 스피너 표시');
|
|
console.log(' → 페이지 완료: 스피너 숨김');
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 스크린샷
|
|
await page.screenshot({ path: 'settings-final.png' });
|
|
console.log('✅ 스크린샷 저장: settings-final.png');
|
|
|
|
} catch (error) {
|
|
console.error('❌ 오류:', error.message);
|
|
}
|
|
|
|
await browser.close();
|