Skip to content

[cicd-64/e2e] Playwright 기본 설정 추가 #172

Description

@hm1n

Summary

Playwright 기반 E2E 테스트를 작성하고 실행할 수 있는 기본 환경을 구축합니다.
테스트 디렉토리, 설정 파일, 로컬 실행 스크립트를 추가해 이후 핵심 사용자 흐름 자동화의 기반을 마련합니다.
이번 이슈는 E2E 전체 자동화가 아니라 Playwright 기본 설정 추가에 집중합니다.


Why

해결하려는 문제가 무엇인가요?

  • 현재 주요 기능 검증은 개발자가 브라우저에서 수동으로 확인하는 방식에 의존하고 있습니다.
  • 기능별 테스트 절차가 코드와 실행 가능한 테스트로 정리되어 있지 않아 PR 또는 배포 전 핵심 플로우의 회귀 여부를 빠르게 확인하기 어렵습니다.
  • 초대, 그룹 생성, 정산, 로그인처럼 여러 조건이 얽힌 기능을 이후 자동화하려면 먼저 안정적인 Playwright 실행 기반이 필요합니다.

Goal

완료되면 무엇이 달라지나요?

  • Playwright 설정 파일과 E2E 테스트 디렉토리가 추가됩니다.
  • 로컬에서 기본 E2E 테스트를 실행할 수 있는 npm script가 추가됩니다.
  • baseURL, reporter, trace, screenshot, video 등 기본 테스트 실행 옵션을 검토하고 설정합니다.
  • 이후 인증 상태 관리, 테스트 데이터 준비, 핵심 사용자 플로우 테스트 작성, GitHub Actions 연동을 진행할 수 있는 기반이 마련됩니다.

이번 작업에서 해결하지 않는 범위(Non-goal)

  • 모든 기능의 E2E 테스트 자동화
  • 인증 및 테스트 데이터 준비 구조 구현
  • 그룹 생성, 초대, 정산 등 핵심 사용자 플로우 테스트 코드 작성
  • GitHub Actions E2E 테스트 workflow 추가
  • 테스트 전용 DB 또는 seed 시스템 고도화
  • 시각적 회귀 테스트, 성능 테스트, 모든 브라우저/디바이스 조합 테스트 도입

Approach

어떻게 해결할 계획인가요?

  • Playwright 패키지와 기본 설정 파일을 추가합니다.
  • 프로젝트 구조에 맞는 E2E 테스트 디렉토리를 구성합니다.
  • 로컬 실행을 위한 npm script를 추가합니다.
  • 기본 smoke 수준의 E2E 테스트가 실행 가능한지 확인합니다.
  • reporter, trace, screenshot, video 설정은 실패 원인 확인이 가능한 방향으로 구성합니다.

검토한 대안과 선택 이유

  • Playwright 기반 E2E 테스트를 선택합니다.
    • 실제 브라우저 기반으로 로그인, 페이지 이동, 입력, 클릭, 네트워크 응답 등 사용자 흐름을 검증할 수 있습니다.
    • GitHub Actions 연동과 HTML report, trace 등 디버깅 도구 활용이 가능합니다.
  • 수동 테스트 체크리스트만 유지하는 방식은 이번 작업의 목적과 맞지 않습니다.
    • 반복 비용과 누락 가능성이 높고, PR 또는 배포 전 자동 검증 기준을 만들 수 없습니다.
  • 단위 테스트 우선 도입은 이번 작업에서는 선택하지 않습니다.
    • 개별 로직 검증에는 유리하지만 실제 사용자 흐름 전체를 검증하기 어렵습니다.

Tasks

  • Playwright 패키지 추가
  • Playwright 설정 파일 추가
  • E2E 테스트 디렉토리 구성
  • baseURL, reporter, trace, screenshot, video 설정 검토 및 반영
  • 로컬 테스트 실행 npm script 추가
  • 기본 E2E 테스트 실행 가능 여부 확인

Constraints

  • 기존 기능 동작에 영향을 주지 않아야 합니다.
  • 운영 환경에서만 사용하는 설정이나 secret을 변경하지 않습니다.
  • 테스트 계정, 인증 상태 재사용, 테스트 데이터 생성/정리 구조는 이번 이슈에서 구현하지 않습니다.
  • CI workflow 추가는 후속 이슈에서 진행합니다.
  • Playwright 설정은 이후 인증 테스트와 핵심 플로우 테스트가 확장 가능하도록 구성합니다.

Definition of Done

  • Playwright 설정 및 테스트 디렉토리가 추가됨
  • 로컬 실행용 npm script가 추가됨
  • 기본 E2E 테스트가 로컬에서 실행 가능함
  • npm run lint 통과
  • npm run build 통과
  • 후속 작업 범위가 인증/테스트 데이터, 핵심 플로우 테스트, CI workflow로 분리되어 있음

References

Metadata

Metadata

Assignees

Labels

🔁 CI/CDCI/CD 및 운영 관련 작업

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions