测试类中的驱动程序实例为null

时间:2015-02-07 11:07:03

标签: java selenium-webdriver webdriver

我正在使用testng + webdriver&以下列方式初始化浏览器 -

public class base{
    private WebDriver driver;
    @Test
    public void launch(){
        System.out.println("In base class");
        driver = new FirefoxDriver();
    }
    public WebDriver getdriver(){
        return driver;
    }
}

然后测试类就像 -

public class test extends base{
    WebDriver driver;
    @BeforeClass
    public void init(){
        driver = getdriver(); //getdriver method from base class
    }
    @Test   
    public void test1(){
        driver.get("http://www.yahoo.co.in"); //null pointer exception here
    }
}

但是在测试类中,我将null指针异常作为驱动程序实例在null中。 在测试类中,驱动程序的任何原因都是null? 有没有办法在执行开始时只启动一个浏览器&最后关闭而不使用静态?

1 个答案:

答案 0 :(得分:0)

从启动中删除@Test并从getdriver中调用启动。似乎你可以在launch / getdriver中做同样的事情:

public WebDriver getDriver(){
    return new FirefoxDriver();
}

OR

private WebDriver driver;
public void launch(){
    System.out.println("In base class");
    driver = new FirefoxDriver();
}
public WebDriver getDriver(){
    launch();
    return driver;
}