피드로 돌아가기
Dev.toDevOps
원문 읽기
계층형 아키텍처와 POM 최적화를 통한 Cross-Platform 자동화 프레임워크 설계
Designing a Scalable Cross-Platform Appium Framework
AI 요약
Context
플랫폼별 중복 로직과 드라이버 복잡성으로 인한 테스트 불안정성 증대. UI 테스트 신뢰도 하락에 따른 QA 리소스의 인프라 트리아지 편중 현상 발생.
Technical Solution
- Test Runner, Orchestration, Page Objects, Platform Adapters로 구분된 6계층 아키텍처 설계
- DriverFactory를 통한 Capability 관리 일원화로 테스트 코드 내 인라인 설정 제거
- @AndroidFindBy와 @iOSXCUITFindBy를 활용하여 로케이터와 동작을 동일 클래스 내 응집
- Page Object 내 Assertion 배제로 서비스 역할과 검증 역할의 책임 분리
- 반복 UI 요소의 Component Object화를 통한 코드 재사용성 확보 및 중복 제거
- Accessibility ID 기반의 공통 로케이터 전략으로 플랫폼별 코드 분기 최소화
실천 포인트
- Page Object당 메서드 수를 10~20개로 제한하여 단일 책임 원칙 준수 여부 확인 - BasePage에 과도한 헬퍼 메서드를 추가하는 대신 작은 Component Object로 분리 설계 - 드라이버 생성 로직을 DriverFactory로 캡슐화하여 환경 변수 기반 설정 적용 - 플랫폼별 차이는 최소한의 Adapter 클래스에서 처리하고 상위 레이어는 추상화된 서비스 호출