2017-05-23 4 views
0

ページオブジェクトパターンを実装するSpock、Groovy、GebでUI機能テストを書いています。イベントの私の流れの間に結果を得るために離れて、現在のページから移動するIMとその結果として、私は私のテストでページオブジェクトを切り替える必要がなく、その下に成功しテストでのページオブジェクトの切り替え - Geb Groovy Spock

テストケース行うことができたhaventは:

def "Navigate to Second Page"() { 
    when: "I navigate to second page" 

    redirctButton.click() 

    then: "Second Page Url should show" 
    browser.getCurrentUrl() == secondpageUrl 
} 

def "Use method form second page"() { 
    when: "Im on second page" 
    SecondPage.performSearch("search") 

    then: "result should show" 
    SecondPage.resultBox == "" 
} 

答えて

0

ページオブジェクトにat-checkingを追加して、atメソッドを使用して、予期したページにいることを確認してbrowser.getCurrentUrl() == secondpageUrlを廃止する必要があります。 at -checkのもう1つの効果は、現在のページを変更し、強く型付けされたアクセスのページオブジェクトも返すことです。強く型付けされたアクセスを気にしない場合は、2番目のテストでexpectブロックを削除できます。それは、型付きのページオブジェクトにアクセスできるようにするためだけです。


@Stepwise 
class PageTest extends GebReportingSpec { 

def "Navigate to Second Page"() { 
    when: "I navigate to second page" 
    redirctButton.click() 

    then: "Second Page Url should show" 
    at SecondPage 
} 

def "Use method form second page"() { 
    expect: 
    def secondPage = at SecondPage 

    when: "Im on second page" 
    secondPage.performSearch("search") 

    then: "result should show" 
    secondPage.resultBox == "" 
} 
} 
+0

おかげでトリック:) –

関連する問題