Java 继承类中的泛型和构造函数

Java 继承类中的泛型和构造函数,java,selenium,generics,Java,Selenium,Generics,伙计们。我是一名QA测试人员,我一直在学习Selenium和Java的自动化。我不明白为什么我需要在类概要页面中添加泛型和构造函数? 因此,让我们创建页面对象类: public class BasePageObject { protected WebDriver driver; protected void getPage(String url){ driver.get(url); } private WebElement find(By element) { retu

伙计们。我是一名QA测试人员,我一直在学习Selenium和Java的自动化。我不明白为什么我需要在类概要页面中添加泛型和构造函数? 因此,让我们创建页面对象类:

public class BasePageObject {

protected WebDriver driver; 

protected void getPage(String url){
    driver.get(url);

}

private WebElement find(By element) {
    return driver.findElement(element);
}   

protected void type(String text, By element){
    find(element).sendKeys(text);
} 
}
现在让我们为配置文件页面创建类:

public class ProfilePage extends BasePageObject<ProfilePage> {

private By editProfileButton = By.xpath("//button[@id='editProfile']");
private By advancededitProfileButton = By.xpath("//a[@class='dice-btn-link']");
private By profileContactNameText = By.xpath("//h1[@class='profile-contact-name']");

protected ProfilePage(WebDriver driver) {
    super(driver);
}



public boolean isCorrectProfileLoaded(String correctProfileName){
    if (getText(profileContactNameText).equals(correctProfileName)){
    return true;
}else
    return false;
    } 
 }
公共类ProfilePage扩展了BasePageObject{
private By editProfileButton=By.xpath(“//button[@id='editProfile']”);
private By advancededitProfileButton=By.xpath(“//a[@class='dice-btn-link']”);
private By profileContactNameText=By.xpath(“//h1[@class='profile-contact-name']”);
受保护的配置文件页(WebDriver驱动程序){
超级司机;
}
公共布尔值isCorrectProfileLoaded(字符串correctProfileName){
if(getText(profileContactNameText).equals(correctProfileName)){
返回true;
}否则
返回false;
} 
}
所以问题是:为什么我应该在extends BasePageObject之后使用泛型“ProfilePage”,为什么我必须创建
受保护的ProfilePage(WebDriver驱动程序){
超级司机;
}


谢谢

我认为你的怀疑是有道理的。就seleniums
BasePageObject
而言,它没有类型参数,也没有需要
WebDriver
参数的构造函数

除了
com.wikia.webdriver.pageobjectsfactory.pageobject
,包中是否可能还有另一个
BasePageObject

如果是,那就是一个原因。不过这有点令人困惑。

否则,这个
ProfilePage
将无法编译。

是!!!非常感谢。我错过了我从另一个包中以相同的名称打开的类!