gpt4 book ai didi

Java selenium 页面对象菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:24 25 4
gpt4 key购买 nike

我正在使用页面对象模型。在我的网站上,大多数页面都有一个菜单,所以我想我应该创建一个 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 分开。而且,菜单也有子菜单,所以我想用多级字段来表示它。并且为每个子菜单添加一个新类可以用这么少的钱做很多类。

这样做的最佳方法是什么,或者您知道解决该问题的其他方法吗?

最佳答案

页面不是菜单。页面有菜单。只有当它是 IS A 关系时,我们才能扩展。否则使用 composition over inheritance 原则。

我建议您使用 Page Fragments以获得更好的可重用性。

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

enter image description here

关于Java selenium 页面对象菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41725861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com