반응형
UI 테스트 자동화를 하다가 좀 더 나은 test framework 이 없을까 고민을 하다가 발견한 것이 Playwright. 현재는 Selenide를 사용하고 있는데 둘을 비교해 보고 저와 비슷한 고민을 가지신 분들에게도 도움이 될까 싶어서 글을 올려봅니다.
테스트 대상 특징
- 다국어 지원 (I18N)
- 많은 레이어와 구성 요소
- UI Skeleton 로딩
- UI Skeleton 애니메이션
Selenide와 Playwright 개요
특징 | Selenide | Playwright |
언어 지원 | Java | JavaScript, TypeScript, Python, C#, Java |
다국어 지원 | 추가 설정 필요 | 기본 제공 |
DOM 처리 | 명시적 대기 필요 | 자동 대기 및 고급 기능 제공 |
UI Skeleton 로딩 | 커스텀 처리 필요 | 자동 대기 지원 |
UI Skeleton 애니메이션 | 명시적 대기 필요 | 자동 대기 및 유틸리티 제공 |
테스트 실행 기록 | 테스트 실패 시 자동 캡처 | 테스트 수행기록 저장 (수행기록 저장방법 바로가기) |
다중 브라우저 컨텍스트 | 미지원 | 지원 |
네트워크 인터셉션 | 미지원 | 지원 |
API 테스트 | 미지원 | 지원 |
자동 테스트 생성 | 미지원 | 자동 테스트 생성 (Codegen)(Codegen 사용방법 바로가기) |
세부 비교
기능Selenide
기능 | Selenide | Playwright |
다국어 지원 | Java에 익숙한 팀에게 적합, 추가 설정과 라이브러리 필요 | 다양한 언어 지원, 내장 기능 제공, 언어별 콘텐츠 처리 용이 |
레이어 및 구성 요소 처리 | 간결한 API, 명시적 대기 필요 | 자동 대기, shadow DOM 지원, 고급 기능 제공 |
UI Skeleton 로딩 | 명시적 대기와 커스텀 처리 필요 | 요소 준비까지 자동 대기, 상태 변경과 로딩 지표 간단히 처리 |
UI Skeleton 애니메이션 | 명시적 대기와 커스텀 처리 필요, 복잡한 애니메이션 관리 시 테스트 불안정 초래 가능 | 애니메이션 완료까지 자동 대기, 안정성 높음, 전환 원활히 처리하는 유틸리티 제공 |
결론
- Selenide: Java 기반 팀, Selenium 생태계를 활용하는 프로젝트에 적합.
- Playwright: 다국어 지원, 복잡한 웹 애플리케이션, 동적 콘텐츠 및 애니메이션 처리에 탁월한 성능 제공.
제가 테스트해야할 Target의 특징을 고려한다면 Playwright가 더 나은 선택일 것 같아서 바꿔보려고 합니다. 당연히 제가 테스트 해야하는 대상과 다른 특징을 가지고 있다면 Selenide도 좋은 대안이 될 수 있다고 생각합니다. 실제로 Selenide를 선택했을 때 Selenium보다 편리한 기능으로 유용하게 테스트 해 왔기 때문에 한 번 경험해 보시는 것도 추천드립니다.
이후 글에서도 playwright를 실제로 도입하고 예제를 올릴 예정이니 관심 부탁드립니다 ~
반응형
'Playwright' 카테고리의 다른 글
자동화 도구 Cypress VS Playwright (1) | 2024.10.14 |
---|---|
Playwright Capture Artifacts 사용하기 (2) | 2024.07.24 |
Playwright Codegen 자동 테스트 생성 (2) | 2024.07.24 |
Typescript vs Javascript vs. Python vs. Java for Playwright: 어느 것이 더 나을까? (0) | 2024.07.10 |
댓글