<aside> 🐕
</aside>
CRDT 적용이 효과가 있는지!
테스트하기 위해 수동으로 매번 그림 그렸던 날들은 안녕!
드로잉 테스트 자동화와 클라이언트 간 캔버스 일치 정도를 수치로 검증하기 위해 브라우저 환경 통합 테스트를 시도해 보고자 먼저 브라우저 환경 테스트 도구를 조사해 보았습니다.
(CRDT란? 아래 글 참고해주시면 감사하겠습니다 :D)
웹 테스트 자동화는 2004년 Jason Huggins가 Selenium Core를 개발하며 시작되었습니다.
Selenium은 반복적인 수동 테스트를 자동화해 효율성을 극대화하였고 이후 WebDriver를 통해 브라우저 제어 기능이 더욱 강화되었습니다.
2015년 TestCafe는 설정 없이 사용할 수 있는 간편함으로 Selenium의 복잡성을 해결하며 새로운 패러다임을 제시했고, 2017년에는 Puppeteer가 등장하여 Headless Chrome을 기반으로 웹 스크래핑, 성능 테스트 등 다양한 작업을 가능하게 했습니다. 같은 해 Cypress는 실시간 리로드와 시간 여행 디버깅 등 혁신적인 기능을 제공하며 주목을 받았습니다.
2020년, Puppeteer의 한계를 보완하며 등장한 Playwright는 크로스 브라우저 지원과 자동 대기 기능으로 안정적인 테스트 환경을 제공하며 인기를 끌고 있습니다.
먼저 지원하는 브라우저, 문법, 장/단점, 적용에 적합한 프로젝트 측면에서 5가지 툴의 특징을 살펴보겠습니다.