2015-01-14 2 views
0

Groovy를 처음 사용하고 Geb/Cucumber를 사용하여 비교적 복잡한 워크 플로우로 웹 사이트를 테스트하는 것은 처음입니다.Geb의 여러 페이지 중 하나에 착륙했는지 확인하는 방법

페이지 클래스 Prod1Page, Prod2Page 및 Prod3Page로 표시된 일련의 제품 페이지가 있습니다. 동일한 코드로 테스트 할 수있는 특정 특성을 공유합니다. 다음 중 하나에 해당한다면 그래서

Given(~/.../) { 
    ... 
    at ProductPage 
    ... 
} 

통과 할

class ProductPage extends Page { 
    ... 
    static at = {...} 
    ... 
} 

:

나는의 라인을 따라 ProductPage 페이지 클래스를 작성하려면

at Prod1Page 
at Prod2Page 
at Prod3Page 

확실하지 않은 경우, 제 목표는 Prod [1-3] Page 클래스의 세부 사항을 다른 곳으로 복사하는 것을 피하는 것입니다. 어떤 통찰력

감사합니다,

닉 검사에서 ProductPage 년대에

답변

0

은 모든 Prod#Page들 사이의 일반적인 HTML 요소를 사용할 수 있음을 주장한다. 모든 ProdPages가 <div id="productContainer"> 요소가있는 경우 예를 들어, 당신은 당신의 ProductPage 클래스에 다음과 같은 넣을 수 있습니다 :

class ProductPage extends Page{ 

static at = { $("#productContainer").displayed } 

... 
} 

이제 시험에서 당신은 at ProductPage를 호출 할 수 있습니다, 그 공통 요소가에서 현재 사용할 수있는 경우 그것은 사실 주장합니다 WebDriver의 DOM; 당신은 ProdPages 중 하나에 있음을 알게 될 것입니다.