[일반] Selenium 공식문서 페이지오브젝트모델 가이드라인
작성자 정보
- QARobot 작성
- 작성일
컨텐츠 정보
- 1,053 조회
본문
[기술포스팅 원문] https://velog.io/@dahunyoo/Guideline-about-Page-object-model-on-Selenium-document
[기술포스팅 요약]
- 페이지 오브젝트 모델(Page Object Model, POM)은 애플리케이션의 UI 페이지를 객체로 표현해 테스트 코드에서 활용할 수 있는 방식입니다. UI와 테스트 코드의 분리를 통해 코드의 유지 보수성을 높이고 중복을 줄입니다.
- 예시를 통해 로그인 기능 코드를 POM으로 적용하여 테스트 코드와 UI 객체 코드를 분리한 예가 소개되었습니다.
- Assertions를 POM 코드에 포함하지 않으며, 대신 생성자에 페이지 로딩 확인용 로직을 포함하는 방법이 설명되었습니다. 이는 올바른 페이지 로딩 여부를 확인하기 위한 것입니다.
- 페이지 내 복잡한 UI 구성 요소를 효율적으로 다루기 위해 Page Component Objects를 사용해 일부 UI 요소들을 독립적인 객체로 관리하는 방식을 제시했습니다.
- 테스트 코드 예제는 POM을 통해 제품 페이지와 개별 제품을 표현하여 UI 요소에 대한 조작과 확인을 보다 명확하게 할 수 있습니다.
- 코드 내에서 WebDriver 객체를 테스트 코드에 드러내지 않으며, 각 페이지가 실제 애플리케이션의 동작을 최대한 반영할 수 있도록 페이지 객체 내에서 필요한 페이지 객체를 반환하도록 합니다.
- POM 구현의 핵심 사항:
- 공개 메서드는 해당 페이지가 제공하는 서비스만을 나타냅니다.
- 페이지 내부 구현을 외부에 노출하지 않습니다.
- 페이지 객체 내부에는 assertion을 작성하지 않으며, 가능한 메서드는 다른 페이지 객체를 반환합니다.
- 모든 UI 요소를 구현하지 않고, 특정 동작에 따라 다른 결과를 반환하는 메서드를 따로 작성할 수 있습니다.
이 게시글은 [GPT-4o model]를 통해 요약되었으며, 정보 공유 목적으로 게시되었습니다. 원문 게시물에 대한 책임이나 이해 관계가 없습니다. - 소프트웨어QA 포럼
관련자료
-
이전
-
다음
댓글 0개
등록된 댓글이 없습니다.