test: Visual Regression 테스트 성공 및 베이스라인 생성

- 로그인 페이지 스크린샷 (1920x1080)
- 대시보드 스크린샷 (1920x1080)
- 대시보드 모바일 스크린샷 (iPhone 13)
- 동적 콘텐츠 마스킹 정상 동작
- 뷰포트 전환 정상 동작

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
light
2026-01-31 11:41:37 +09:00
parent ba2a4cac57
commit 4e29774b59
4 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
# ✅ Visual Regression 테스트 성공
**테스트 ID**: Visual-Regression-Test | **실행**: 2026-01-31 11:40:59 | **결과**: PASS
---
## 📊 테스트 요약
| 항목 | 결과 |
|------|------|
| 스크린샷 캡처 | ✅ 정상 |
| 동적 콘텐츠 마스킹 | ✅ 정상 |
| 뷰포트 전환 | ✅ 정상 |
| 베이스라인 생성 | ✅ 3개 생성 |
---
## 📸 캡처된 스크린샷
### 베이스라인 스크린샷 (신규 생성)
| 파일명 | 뷰포트 | 크기 | 페이지 |
|--------|--------|------|--------|
| login_page_1920x1080_baseline | 1920×1080 | 32 KB | 로그인 |
| dashboard_main_1920x1080_baseline | 1920×1080 | 156 KB | 대시보드 |
| dashboard_main_390x844_mobile_baseline | 390×844 | 45 KB | 대시보드 (모바일) |
### 저장 경로
```
e2e/results/screenshots/baseline/
├── login_page_1920x1080_baseline-2026-01-31T02-40-12-177Z.png
├── dashboard_main_1920x1080_baseline-2026-01-31T02-40-40-295Z.png
└── dashboard_main_390x844_mobile_baseline-2026-01-31T02-40-50-001Z.png
```
---
## 🔧 테스트 워크플로우
### 1. 준비 (Prepare)
```javascript
// 페이지 안정화 대기
await new Promise(r => setTimeout(r, 1000));
// 로딩 요소 숨김
document.querySelectorAll('.loading, .spinner')
.forEach(el => el.style.visibility = 'hidden');
```
### 2. 마스킹 (Mask Dynamic Content)
```javascript
// 동적 콘텐츠 마스킹
const masks = [
{ selector: '[class*="time"]', color: '#888' },
{ selector: '[class*="avatar"]', color: '#ccc' },
{ selector: '[class*="badge"]', color: '#666' }
];
```
### 3. 캡처 (Capture)
```javascript
// Playwright 스크린샷
mcp__playwright__playwright_screenshot({
name: "page_viewport_baseline",
fullPage: false,
savePng: true,
downloadsDir: "e2e/results/screenshots/baseline"
});
```
### 4. 뷰포트 전환 (Viewport Switch)
```javascript
// 모바일 뷰포트
mcp__playwright__playwright_resize({
device: "iPhone 13" // 390x664, mobile, touch
});
```
---
## 📱 뷰포트 테스트
| 뷰포트 | 해상도 | 디바이스 | 테스트 |
|--------|--------|----------|--------|
| Desktop HD | 1920×1080 | - | ✅ |
| Mobile | 390×844 | iPhone 13 | ✅ |
---
## ✅ 검증 완료 항목
- [x] 로그인 페이지 스크린샷 캡처
- [x] 대시보드 페이지 스크린샷 캡처
- [x] 모바일 뷰포트 스크린샷 캡처
- [x] PNG 파일 저장 정상
- [x] 베이스라인 폴더 구조 생성
- [x] 동적 콘텐츠 마스킹 스크립트
---
## 📂 폴더 구조
```
e2e/results/screenshots/
├── baseline/ ← 기준 스크린샷 (3개 생성됨)
├── current/ ← 테스트 중 캡처 (비교용)
└── diff/ ← 차이 이미지 (비교 결과)
```
---
## 📁 관련 파일
- Visual 전역 설정: `e2e/scenarios/_global-visual-config.json`
- E2E 설정 문서: `.claude/E2E_TEST_CONFIG.md`

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB