无法在页面 class 内容中使用 withFrame

can't use withFrame in page class content

我正在使用 geb-spock。我正在尝试在页面本身中验证页面 class 的内容,以便我只调用变量或函数。使用功能。我做了这样的事情

class BasePage extends Page {
    static content = { 

       verifyheader { withFrame ("myFrame") { assert $("h1").text() == "Header1" } 

    }
  }
}



  ...

then: 
  to BasePage  
and: 
  verifyheader 

I am getting an error that the test failed and withFrame is null. This does not occuer when I put the withFrame in the test case

  then: 
    to BasePage
  and: 
   withFrame('myFrame') {...}

效果很好,但我想在页面 class 中使用它。可能吗?我该怎么办?或者换句话说,我的代码有什么问题

是的,您的内容定义中的 withFrame 调用 returns null,因为传递给它的块内的最后一条语句是始终 returns null 的断言。你不应该在你的内容定义中断言,而是在你的测试中:

class BasePage extends Page {
    static content = { 
       headerText { withFrame("myFrame") { $("h1").text() } }
  }
}

和:

when:
    to BasePage

then:
    headerText == "Header1"