Selenium 测试 / Java 多态性

Selenium tests / Java Polymorphism

从超类继承元素并在子类中使用它们是一种好习惯吗? (可重用并执行发送键或点击等不同操作的元素)

当然,定义 clickVisibleElement()sendTextToElement()scrollElementIntoView() 等常用方法和 saveBtn、[=14 等常用元素定位器是一个很好的做法=] 等 BasePage class 并在所有页面继承的整个项目中使用它们 classes 可以使用它们的地方。

关于 POM 和一般的良好实践,应该依赖 composition over inheritance。这意味着所有可重用代码和对象映射都应该驻留在自己的 container/class 中,您可以根据当前设计在测试或页面中调用它们。

例如:

public LoginPage(WebDriver driver) {           
     this.driver = driver; 
     this.loginForm = new LoginForm(driver);
     // other forms in that page, like SingUp etc.
}