test: fix E2E base URL for green-blue deployment and use test account
TaxBaik CI/CD / build-and-deploy (push) Successful in 47s
TaxBaik CI/CD / build-and-deploy (push) Successful in 47s
Green-Blue 배포에서 E2E 테스트가 항상 새 버전을 테스트하도록 개선: Changes: - E2E_BASE_URL default: http://localhost/taxbaik (Nginx 라우팅 → active 포트) - 이전: http://localhost:5001/taxbaik (하드코드, 구 버전 테스트 위험) - CI/E2E 워크플로우: test_admin 계정으로 변경 (실 admin 분리) - Playwright config 주석 명확화 (Green-Blue 배포 지원) - 로컬 테스트: Nginx 거쳐서 또는 명시적 포트 설정 Architecture: ┌─────────────────────────┐ │ E2E Test Runner │ │ (test_admin account) │ └────────────┬────────────┘ │ E2E_BASE_URL (env var) │ ┌────────┴────────┐ │ │ http://localhost/ http://localhost:5001/ taxbaik (Nginx) taxbaik (direct) │ │ ┌──▼──┐ │ │Nginx├─────────────┘ └──┬──┘ │ (active port: 5001 or 5002) │ ┌──▼──────────────┐ │Active TaxBaik │ │(5001 or 5002) │ └─────────────────┘ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -61,9 +61,11 @@ jobs:
|
||||
|
||||
- name: Browser E2E verification
|
||||
env:
|
||||
# Green-Blue 배포 지원: Nginx를 통해 active 포트로 라우팅
|
||||
E2E_BASE_URL: http://${{ secrets.DEPLOY_HOST }}/taxbaik
|
||||
E2E_ADMIN_USERNAME: admin
|
||||
E2E_ADMIN_PASSWORD: ${{ secrets.TAXBAIK_ADMIN_TEST_PASSWORD }}
|
||||
# E2E 테스트는 test_admin 테스트 계정 사용 (실 admin 계정과 분리)
|
||||
E2E_ADMIN_USERNAME: test_admin
|
||||
E2E_ADMIN_PASSWORD: test123456
|
||||
run: npm run test:e2e
|
||||
|
||||
- name: Browser E2E summary
|
||||
|
||||
@@ -927,12 +927,19 @@ psql -U taxbaik -d taxbaikdb
|
||||
SELECT * FROM inquiries ORDER BY created_at DESC LIMIT 1;
|
||||
```
|
||||
|
||||
**반응형 디자인 E2E 테스트**:
|
||||
**반응형 디자인 E2E 테스트** (test_admin 테스트 계정 사용):
|
||||
```bash
|
||||
# 모든 디바이스 크기에서 관리자 대시보드 검증 (Desktop, Tablet, Mobile)
|
||||
export E2E_BASE_URL="http://localhost:5001/taxbaik"
|
||||
export E2E_ADMIN_USERNAME="admin"
|
||||
export E2E_ADMIN_PASSWORD="admin123"
|
||||
# Green-Blue 배포 지원:
|
||||
# - Nginx를 통한 포트 무관 라우팅 (http://localhost/taxbaik)
|
||||
# - 또는 직접 포트 지정 (http://localhost:5001/taxbaik)
|
||||
|
||||
# 방법 1: Nginx 거쳐서 (권장 - active 버전 자동 테스트)
|
||||
export E2E_BASE_URL="http://localhost/taxbaik"
|
||||
export E2E_ADMIN_USERNAME="test_admin"
|
||||
export E2E_ADMIN_PASSWORD="test123456"
|
||||
|
||||
# 방법 2: 직접 포트 지정 (5001 또는 5002)
|
||||
# export E2E_BASE_URL="http://localhost:5001/taxbaik"
|
||||
|
||||
# Playwright로 반응형 테스트 실행 (8개 디바이스 크기)
|
||||
npx playwright test admin-responsive.spec.ts
|
||||
@@ -941,6 +948,12 @@ npx playwright test admin-responsive.spec.ts
|
||||
npx playwright test admin-responsive.spec.ts --project="Desktop Chrome"
|
||||
```
|
||||
|
||||
**테스트 계정 정보**:
|
||||
- 사용자명: `test_admin`
|
||||
- 비밀번호: `test123456` (개발/테스트 환경만, 프로덕션에서는 강력한 비밀번호로 변경)
|
||||
- 용도: E2E 자동 테스트 (실 admin 계정과 완전 분리)
|
||||
- 권한: admin과 동일 (마이그레이션 V003에서 자동 생성)
|
||||
|
||||
**테스트 항목**:
|
||||
- ✅ Desktop (1920px, 1440px, 1024px): 메트릭 4개 컬럼
|
||||
- ✅ Tablet L/M (960px, 768px): 메트릭 3/2 컬럼
|
||||
|
||||
@@ -11,7 +11,11 @@ export default defineConfig({
|
||||
retries: process.env.CI ? 1 : 0,
|
||||
reporter: process.env.CI ? [['list'], ['html', { open: 'never' }]] : 'list',
|
||||
use: {
|
||||
baseURL: process.env.E2E_BASE_URL ?? 'http://178.104.200.7/taxbaik',
|
||||
// Green-Blue 배포 지원:
|
||||
// - 로컬 Nginx: http://localhost/taxbaik (포트 무관, active 버전 자동 라우팅)
|
||||
// - 원격: http://178.104.200.7/taxbaik (또는 process.env.E2E_BASE_URL)
|
||||
// - CI: 환경변수로 명시적 설정 가능
|
||||
baseURL: process.env.E2E_BASE_URL ?? 'http://localhost/taxbaik',
|
||||
trace: 'retain-on-failure',
|
||||
screenshot: 'only-on-failure',
|
||||
video: 'retain-on-failure'
|
||||
|
||||
@@ -4,7 +4,17 @@ import { loginThroughAdminUi } from './helpers/admin-auth';
|
||||
// 테스트 계정 (실 admin 계정과 분리)
|
||||
const TEST_USERNAME = 'test_admin';
|
||||
const TEST_PASSWORD = 'test123456';
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'http://localhost:5001/taxbaik').replace(/\/$/, '');
|
||||
|
||||
/**
|
||||
* Green-Blue 배포 지원:
|
||||
* - 로컬: Nginx를 거쳐 http://localhost/taxbaik (포트 무관, 항상 active 버전)
|
||||
* - 원격: 프로덕션 도메인 (Nginx 라우팅)
|
||||
*
|
||||
* E2E_BASE_URL 환경변수 우선 사용, 없으면:
|
||||
* - 운영(localhost): http://localhost/taxbaik (Nginx 라우팅 → active 포트)
|
||||
* - 로컬 직접 테스트: http://127.0.0.1:5001/taxbaik (개발 포트)
|
||||
*/
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'http://localhost/taxbaik').replace(/\/$/, '');
|
||||
|
||||
/**
|
||||
* API를 통한 테스트 데이터 생성
|
||||
|
||||
Reference in New Issue
Block a user