Java 继承类中的泛型和构造函数
伙计们。我是一名QA测试人员,我一直在学习Selenium和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
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
将无法编译。是!!!非常感谢。我错过了我从另一个包中以相同的名称打开的类!