Java硒页面对象菜单
作者:互联网
我正在使用页面对象模型.而且在我的网站上,大多数页面都有一个菜单,因此我想我应该创建一个MenuPage类,以便每个其他具有菜单的页面都可以对其进行扩展.
但是现在我想从菜单中重新组合所有WebElement,以将它们与当前页面之一分开.
换句话说,如果一个元素直接在页面上,我将以类似的方式访问它.
MyPage mypage = new MyPage(); /*MyPage extends MenuPage*/
mypage.myWebElement.click();
但是,如果该webelement是菜单的一部分,而不是MyPage的一部分,我想从
MyPage mypage = new MyPage(); /*MyPage extends MenuPage*/
mypage.menu.myWebElement.click();
我知道我可以创建一个类菜单并将其实例化到MenuPage中,但是由于它将仅在其中使用,因此我不希望将其与MenuPage类分开.而且,菜单还具有子菜单,因此我想用多级字段表示它.每个子菜单都有一个新的班级,可以花很多时间来制作很多班级.
这样做的最佳方法是什么,或者您知道解决该问题的另一种方法?
解决方法:
页面不是菜单.页面有菜单.只有当它是A关系时,我们才能扩展.否则请遵循composition over inheritance原则.
我建议您选择Page Fragments,以提高可重用性.
也就是说,您创建了称为“页面片段”的可重用组件,如下所示,并在页面对象中使用了它.
标签:pageobjects,selenium,selenium-webdriver,java 来源: https://codeday.me/bug/20191026/1935732.html