Groovy 扩展另一个页面对象的页面对象

Groovy 扩展另一个页面对象的页面对象,groovy,geb,Groovy,Geb,我试图创建一个扩展另一个页面的页面,并在尝试运行项目时收到以下错误消息: groovy.lang.MissingPropertyException:没有此类属性:类:myPage的navLinkPage1 import geb.Page class HomePage extends myPage { static url = "http://www.mywebsite.com" static at = { title == "Home"}

我试图创建一个扩展另一个页面的页面,并在尝试运行项目时收到以下错误消息: groovy.lang.MissingPropertyException:没有此类属性:类:myPage的navLinkPage1

    import geb.Page

    class HomePage extends myPage {
        static url = "http://www.mywebsite.com"
        static at = { title == "Home"}
    }

    class MyPage extends Page {
        static content = { navLinkPage1 { $("#page1Link") }
    }

每个页面都会有完全相同的页面标题块,带有相同的链接等等。那么为什么我不能创建一个页面对象,然后在以后的各个页面中继承它呢?还是我做得不对?

如果你能包括实际使用
navLinkPage1
链接的代码块,我相信我们可以通过
navLinkPage1
追踪到你的确切问题,但听起来你的代码块是“
到MyPage
”而不是“
到HomePage

这样说,考虑复杂的UIS的页面对象模式(免责声明:我刚刚提出了这个术语)。因此,与其让每个页面继承自

MyPage
,在
页面
之间创建(false?)关系,不如创建一个“
导航模块”
”,一个la:

在你的测试中,你会说:

to HomePage
navBar.contactLink.click()

就个人而言,我一直将模块视为类,并假装它们的内容是私有的,只允许自己访问操作而不是内容。因此,仅通过
登录(用户,通过)
方法访问我的
登录模块
,而不是直接与
用户名
密码
成员交互。。。但是这可能对你不起作用。导航栏特别适合直接进入。:-)

多谢各位。我在手册的页面对象部分寻找答案。在阅读了您的解决方案后,我最终在模块部分找到了它。
to HomePage
navBar.contactLink.click()