페이지 객체: UI 테스트의 취약성 줄이기

웹 페이지 테스트에는 요소와 상호 작용해야 하지만, HTML을 직접 조작하면 테스트가 취약해집니다. 페이지 객체는 페이지 또는 조각을 애플리케이션 특정 API로 캡슐화하여 이 문제를 해결합니다. 이를 통해 HTML에 직접 액세스하지 않고 요소와 상호 작용할 수 있습니다. 목표는 사용자 동작을 모방하고 기본 위젯을 숨기는 깔끔한 인터페이스를 제공하는 것입니다. 텍스트 필드는 문자열 접근자를, 체크박스는 부울 값을, 버튼은 동작 지향 메서드를 사용합니다. 우수한 페이지 객체는 UI의 내부 구조가 아니라 사용자의 관점에 따라 모델링되며, 기본 데이터 유형 또는 다른 페이지 객체를 반환합니다. 페이지 객체에 어서션을 포함할지 여부에 대한 논의가 있습니다. 저자는 부풀어 오른 페이지 객체를 피하기 위해 어서션을 테스트 스크립트에 유지하고, 어서션 라이브러리를 사용하여 중복을 줄이는 것을 권장합니다. 이 패턴은 다양한 UI 기술에서 작동하며, 테스트뿐만 아니라 애플리케이션의 스크립팅 인터페이스로도 유용합니다.
더 보기