Geb:如何注册意外页面

Geb: how to register unexpexted pages

我在 GebConfig.groovy 中注册了一个如下所示的意外页面:

unexpectedPages = [EmptySearchResultPage]

页面 class 如下所示:

import geb.Page

class EmptySearchResultPage extends Page{
    static at = {
//      errorTitle.displayed
         $("h1",text:contains('Sorry… We Found No XXX.')) 
        }
    static content = {
        errorTitle(wait:true,required:false) { $("h1",text:contains('Sorry… We Found No XXX.')) }
    }
}

但我遇到以下异常:

geb.error.InvalidGebConfiguration: Unexpected pages configuration has to be a collection of classes that extend geb.Page but found "[[:]]". Did you forget to include some imports in your config file?
    at geb.Configuration.getUnexpectedPages(Configuration.groovy:189)
    at geb.Browser.doCheckIfAtAnUnexpectedPage(Browser.groovy:416)
    at geb.Browser.checkIfAtAnUnexpectedPage(Browser.groovy:402)
    at geb.Page.verifyAt(Page.groovy:181)
    at geb.Browser.doAt(Browser.groovy:454)
    at geb.Browser.at(Browser.groovy:353)
    at geb.Browser.to(Browser.groovy:568)
    at geb.Browser.to(Browser.groovy:556)
    at geb.Browser.to(Browser.groovy:523)
    at geb.spock.GebSpec.methodMissing(GebSpec.groovy:56)
    at com.skygate.global.HomePageTest.Open Homepage(HomePageTest.groovy:59)

我犯了什么错误? 请帮忙。谢谢。

错误信息是这样说的:

Did you forget to include some imports in your config file?

因此,假设您的页面不在默认包中(JVM 不喜欢那样!),您需要将其导入 GebConfig。