위키득계정 ↗
기술

Geb

분야
브라우저 자동화
작성 언어
Groovy
기반
WebDriver
구성
페이지 객체와 요소 탐색
Geb는 Groovy로 브라우저 자동화와 웹 검사를 작성하는 도구다. WebDriver 기반 조작에 간결한 요소 탐색과 페이지 객체 모델을 결합해 화면 동작을 재사용 가능한 코드로 구성한다.

페이지를 코드로 표현하기

같은 화면의 요소를 여러 검사에서 직접 찾으면 화면이 바뀔 때 수정할 곳도 늘어난다. Geb는 페이지 객체 모델로 화면의 내용과 동작을 정리하는 방식을 제공한다. 요소를 선택하고 탐색하는 API를 이용해 반복되는 조작을 묶을 수 있다. 페이지 객체가 업무 검사의 기대를 모두 숨기지 않도록 책임을 나눈다.

비동기 화면과 조건 대기

웹 화면은 요청이나 애니메이션 뒤에 상태가 바뀔 수 있다. Geb에서는 조건을 만족할 때까지 제한된 시간 동안 반복 확인하는 구성을 사용할 수 있다. 내용 정의에도 대기를 연결할 수 있다. 고정된 시간을 무조건 멈추는 것과 필요한 상태를 기다리는 것을 구분하고 관찰할 조건을 정확히 정한다.

검사와 자동화의 범위

스크립트 자동화에 사용하거나 Spock과 JUnit, TestNG 같은 프레임워크와 연결할 수 있다. 실제 브라우저 지원은 WebDriver와 드라이버 구성의 영향을 받는다. 원격 브라우저와 로컬 실행의 자원 조건도 다르다. 한 환경에서 성공한 자동화가 모든 화면과 브라우저를 확인한 결과는 아니므로 검사 조합과 데이터 격리 범위를 함께 관리한다.

관련 문서

Spock / Selenide / HtmlUnit / JUnit