2015-01-14 29 views
0

我是Groovy的新手,並使用Geb/Cucumber測試了一個網站,其工作流程相當複雜。如何檢查您已登陸Geb中的幾頁之一

我有一組產品頁面由頁面類Prod1Page,Prod2Page和Prod3Page表示。它們共享某些可以通過相同代碼進行測試的特徵。

我想寫的線沿線的一個ProductPage頁面類:

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

所以如果下面的是真的,

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

會通過:

at Prod1Page 
at Prod2Page 
at Prod3Page 

如果不明確,我的目標是避免重複其他地方的產品[1-3]頁面類的細節。

感謝您的任何見解,

尼克

回答

0

。在檢查的ProductPage的只是斷言所有Prod#Page S之間的共同的HTML元素可用。例如,如果所有ProdPages有<div id="productContainer">元素,那麼你可以把你的ProductPage類以下內容:

class ProductPage extends Page{ 

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

... 
} 

現在,在您的測試,你可以打電話at ProductPage如果這共同點是目前市面上它將斷言屬實WebDriver的DOM;你會知道你在一個ProdPages上。