编程语言
首页 > 编程语言> > Java硒页面对象菜单

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,以提高可重用性.

也就是说,您创建了称为“页面片段”的可重用组件,如下所示,并在页面对象中使用了它.

enter image description here

标签:pageobjects,selenium,selenium-webdriver,java
来源: https://codeday.me/bug/20191026/1935732.html