我浏览了该站点,但没有找到所需的答案。
我有
Superbase类-在这里,我只是创建一个Webdriver对象
Baseclass-在此类中,我扩展Superbase类,调用驱动程序,然后打开URL。
Clicklink类-在该类中,我再次扩展Superbase类,但仅是找到一个空指针异常。我认为由于驱动程序对象未初始化,我正在收到异常。
我只是一个初学者,没有尝试过browserfactory和其他选项,因为我想从简单的流程入手。
超类
Public class Superclass
{
public webdriver Driver;
}
基类
public class Baseclass extends Superclass
{
setting capabilities and launching the browser
}
点击链接
public class Clicklink extends Superclass
{
here I want to click on a link
driver.findelement(by.xpath("xpath").click());
// after this statement I get a null pointer exception
}
你能在这里指导我吗?我怎么能达到同样的目的。
非常感谢!
最佳答案
在我看来,这是很多猜测工作,但是请确保您的超类确实设置了驱动程序并返回了驱动程序。您实际上可以通过两种方法来实现:
public class Superclass
{
public WebDriver driver;
public Superclass(){
driver = new FirefoxDriver();
}
public WebDriver getdriver(){
if (driver == null){
driver = new FirefoxDriver();
return driver;
}else{
return driver;
}
}
}
稍后在方法中,您可以通过以下方式调用它:
public class Clicklink extends Superclass
{
getdriver().findelement(by.xpath("xpath").click());
}