页面对象模型中的私有静态最终 WebElement
Private static final WebElement in Page Object Model
我想知道对网络元素使用私有静态最终是否是一个好习惯,然后为这个网络元素发出一个getter
示例登录页面:
private static final SelenideElement LOGIN_BUTTON = $(By.xpath("XPath"));
对于登录按钮 getter...
这是一个好的做法吗?
不,在定位器的情况下遵循这不是一个好的做法,而且正如您提到的,您使用 POM,因此重要的是使它们 public 并移动到基本定位器 class 如果多个页面需要相同的定位器。
对元素字段使用 static 不会给您带来任何好处。
如果您查找示例和教程,您将不会遇到这样的实现。
这是 Selenide 推荐的 POM 方法:
https://selenide.gitbooks.io/user-guide/content/en/pageobjects.html
您可能会考虑将所有内容设为静态,而不仅仅是元素字段。有人喜欢这种无状态的实现,但我相信它被少数人使用并且不是很流行。没有像“伙计们,使用静态 POM,它好多了”之类的文章。
我想知道对网络元素使用私有静态最终是否是一个好习惯,然后为这个网络元素发出一个getter
示例登录页面:
private static final SelenideElement LOGIN_BUTTON = $(By.xpath("XPath"));
对于登录按钮 getter...
这是一个好的做法吗?
不,在定位器的情况下遵循这不是一个好的做法,而且正如您提到的,您使用 POM,因此重要的是使它们 public 并移动到基本定位器 class 如果多个页面需要相同的定位器。
对元素字段使用 static 不会给您带来任何好处。
如果您查找示例和教程,您将不会遇到这样的实现。
这是 Selenide 推荐的 POM 方法:
https://selenide.gitbooks.io/user-guide/content/en/pageobjects.html
您可能会考虑将所有内容设为静态,而不仅仅是元素字段。有人喜欢这种无状态的实现,但我相信它被少数人使用并且不是很流行。没有像“伙计们,使用静态 POM,它好多了”之类的文章。