我正在使用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? 有没有办法在执行开始时只启动一个浏览器&最后关闭而不使用静态?
答案 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;
}