페이지를 코드로 표현하기
같은 화면의 요소를 여러 검사에서 직접 찾으면 화면이 바뀔 때 수정할 곳도 늘어난다. Geb는 페이지 객체 모델로 화면의 내용과 동작을 정리하는 방식을 제공한다. 요소를 선택하고 탐색하는 API를 이용해 반복되는 조작을 묶을 수 있다. 페이지 객체가 업무 검사의 기대를 모두 숨기지 않도록 책임을 나눈다.
비동기 화면과 조건 대기
웹 화면은 요청이나 애니메이션 뒤에 상태가 바뀔 수 있다. Geb에서는 조건을 만족할 때까지 제한된 시간 동안 반복 확인하는 구성을 사용할 수 있다. 내용 정의에도 대기를 연결할 수 있다. 고정된 시간을 무조건 멈추는 것과 필요한 상태를 기다리는 것을 구분하고 관찰할 조건을 정확히 정한다.
검사와 자동화의 범위
스크립트 자동화에 사용하거나 Spock과 JUnit, TestNG 같은 프레임워크와 연결할 수 있다. 실제 브라우저 지원은 WebDriver와 드라이버 구성의 영향을 받는다. 원격 브라우저와 로컬 실행의 자원 조건도 다르다. 한 환경에서 성공한 자동화가 모든 화면과 브라우저를 확인한 결과는 아니므로 검사 조합과 데이터 격리 범위를 함께 관리한다.