我正在使用Spock,Groovy和Geb编写UI功能测试来实现页面对象模式。在我的事件流程中,我导航离开当前页面以获得结果,因此,我需要在测试中切换页面对象但是还没能成功完成
以下测试用例:
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 :(得分:0)
您应该为页面对象添加at-checking,然后您可以使用at
方法验证您是否在预期页面上,使browser.getCurrentUrl() == secondpageUrl
过时。 at
检查的另一个影响是它更改当前页面并返回强类型访问的页面对象。如果您不关心强类型访问,则可以在第二个测试中删除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 == ""
}
}