
조회 15
2026-10-20 15:01
Playwright는 테스트를 브라우저 컨텍스트로 격리해, 서로 영향 없이 안정적으로 실행합니다.
인증 상태를 파일로 저장해 재사용하면 매 테스트마다 로그인할 필요가 없어 속도가 빨라집니다.
다만 인증 파일에는 민감 정보가 담길 수 있어, 저장 위치와 관리 방식이 무엇보다 중요합니다.
안녕하세요. 디지털에이전시 이앤아이입니다.
E2E 테스트를 돌릴 때 가장 아까운 시간이 '로그인'인 경우가 많죠. 특히 Playwright로 여러 테스트를 병렬로 돌리면, 로그인 화면을 반복해서 통과하느라 전체 실행 시간이 늘어나고, 가끔은 인증이 꼬여서 테스트가 연쇄적으로 실패하기도 합니다. Playwright가 권장하는 해법은 의외로 단순합니다. 한 번 로그인해서 '인증된 브라우저 상태'를 저장해두고, 이후 테스트는 그 상태로 바로 시작하는 방식이에요.
핵심 배경은 Playwright의 '브라우저 컨텍스트(browser context)'입니다. 테스트는 컨텍스트 단위로 격리된 환경에서 실행되기 때문에, 쿠키나 로컬 스토리지 같은 상태가 서로 섞이지 않습니다. 이 격리 모델 덕분에 재현성이 좋아지고, 한 테스트의 실패가 다른 테스트로 번지는 상황도 줄어드는데요. 여기에 인증 상태를 파일로 불러오면, 각 테스트가 시작부터 '이미 로그인된 상태'가 됩니다.
실무에서 가장 많이 쓰는 패턴은 playwright/.auth 같은 폴더를 만들고, 여기에 storageState 파일을 저장하는 겁니다. 그리고 이 폴더는 .gitignore에 넣어 저장소에 올라가지 않게 관리하라고 문서에서 강하게 권고합니다. 이유는 명확해요. 인증 상태 파일에는 쿠키나 헤더 등 민감 정보가 포함될 수 있고, 유출되면 테스트 계정이든 개인 계정이든 '가장하기'에 악용될 수 있습니다.

그럼 어떤 방식이 맞을까요. 서버 상태를 건드리지 않는 테스트라면 '공유 계정 1개 + setup 프로젝트 1번 로그인'이 가장 간단합니다. auth.setup.ts 같은 파일에서 한 번 로그인한 뒤 storageState를 저장하고, playwright.config.ts에서 각 프로젝트가 그 파일을 storageState로 사용하도록 지정하는 식이죠. 반대로 설정 변경, 데이터 생성처럼 서버 상태를 바꾸는 테스트를 병렬로 돌린다면 이야기가 달라집니다. 이때는 워커(worker)마다 계정을 분리해, 워커 단위로 한 번만 인증하고 그 워커가 실행하는 테스트들이 같은 상태를 재사용하는 방식이 더 안전합니다.
조금 더 고급 시나리오도 있습니다. UI로 로그인하는 것보다 API로 인증하는 게 빠른 서비스라면 APIRequestContext로 인증 요청을 보내고, 그 결과를 storageState로 저장해 테스트에 재사용할 수 있어요. 또 관리자/일반 사용자처럼 역할이 여러 개라면 역할별로 storageState 파일을 따로 만들어, 테스트 파일이나 그룹 단위로 필요한 역할을 골라 쓰는 방식도 가능합니다. 드물게 sessionStorage에 로그인 상태가 걸려 있는 서비스라면, Playwright가 기본 제공하는 저장 범위(쿠키, 로컬 스토리지, IndexedDB 등) 밖이므로 별도 스니펫으로 저장·복원하는 접근이 필요하다는 점도 체크 포인트입니다.
마지막으로 운영 팁 하나만 더요. 저장해둔 인증 상태는 만료됩니다. UI 모드에서는 setup 프로젝트가 기본으로 돌지 않기 때문에, 인증이 풀렸을 때는 setup을 수동으로 한 번 실행해 갱신하는 흐름을 팀 규칙으로 정해두면 테스트가 훨씬 덜 흔들립니다. 결국 '로그인을 자동화했다'에서 끝나는 게 아니라, 인증 파일의 저장 위치, 만료 대응, 계정 분리 전략까지 포함해 테스트 운영을 설계하는 게 포인트입니다.
이앤아이 인사이트로 정리하면, 테스트 자동화의 병목은 코드보다 '상태 관리'에서 자주 생깁니다. 로그인 상태를 어떻게 재사용하고, 민감 정보를 어떻게 보호하며, 병렬 실행에서 충돌을 어떻게 피할지까지 정리해두면 QA 속도와 안정성이 같이 올라가요.
이앤아이와 함께 더 나은 웹 환경을 만들어 나가요!
#Playwright #E2E테스트 #테스트자동화 #storageState #브라우저컨텍스트 #병렬테스트 #인증자동화 #QA #이앤아이 #디지털에이전시 #ENIMedia