我浏览了该站点,但没有找到所需的答案。

我有


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());

}

09-30 11:56
查看更多