You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
staging 브랜치에 push(머지) 될 때마다, 각 화면에서 만날 수 있는 서버 호출 에러 케이스(해피케이스 포함)를 Playwright로 재현해 스크린샷을 일괄 캡쳐하고, 결과물을 GitHub Actions artifact 로 저장 + 디스코드 채널로 전송하는 자동화 파이프라인을 구축한다.
→ production promote 전에 전 화면의 정상/에러 상태를 스크린샷으로 확인하는 배포 QA 게이트 역할.
배경
staging 배포 시점마다 주요 화면의 정상/에러 상태를 눈으로 일일이 확인하기 어렵다. production promote 여부를 결정하기 전에 한눈에 볼 수 있는 자료가 필요하다.
특히 에러 화면(4xx/5xx, 빈 상태)은 실서버로는 재현이 어렵지만, 기존 E2E 목킹 구조(api.error(), SSR 목 스텁)를 활용하면 결정적으로 재현할 수 있다.
구현할 기능
staging 브랜치에 push(머지) 될 때마다, 각 화면에서 만날 수 있는 서버 호출 에러 케이스(해피케이스 포함)를 Playwright로 재현해 스크린샷을 일괄 캡쳐하고, 결과물을 GitHub Actions artifact 로 저장 + 디스코드 채널로 전송하는 자동화 파이프라인을 구축한다.
→ production promote 전에 전 화면의 정상/에러 상태를 스크린샷으로 확인하는 배포 QA 게이트 역할.
배경
api.error(), SSR 목 스텁)를 활용하면 결정적으로 재현할 수 있다.DISCORD_BOT_TOKEN).작업 상세 내용
playwright.config.ts에screenshotsproject 분리, 기존 E2E와 독립 실행 (--project=screenshots)page.screenshot()캡쳐. 파일명은{화면}__{케이스}.png규칙으로 디스코드에서 식별 가능하게on: push: branches: [staging], 빌드 → 스크린샷 project 실행 →upload-artifact로 저장완료 조건
playwright test --project=screenshots로 동일하게 재현 가능하다참고
api.error()사용법:apps/web/e2e/README.md.github/workflows/discord-pr-bot.yml