无法使用phantomjs驱动程序运行selenium脚本

时间:2013-10-03 11:22:53

标签: java selenium selenium-webdriver testng phantomjs

我是phantomjs驱动程序的新手,我需要使用phantomjs无头驱动程序在后台运行我的脚本。
这是我的代码我得到空指针异常。 目前我正在使用硒2.32,testNG,phantomjs jar 1.0.3

public class PhantomjsDemo {

public WebDriver driver;

@BeforeMethod
public void setup(){
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setJavascriptEnabled(true);
    caps.setCapability("takesScreenshot", true);
    caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,"C:\\phantomjs-1.9.2-windows\\phantomjs.exe");
     WebDriver driver = new PhantomJSDriver(caps);
     driver.get("www.google.com");
}

@Test
public void google(){
    driver.findElement(By.xpath("//*[@id='gbqfba']")).getText();
    driver.findElement(By.xpath("//*[@id='gbqfba']")).getSize().getHeight();
    driver.findElement(By.xpath("//*[@id='gbqfba']")).getSize().getWidth();
    driver.findElement(By.xpath("//*[@id='gbqfba']")).click();
}

@AfterMethod
public void close(){
    driver.quit();
}
}

1 个答案:

答案 0 :(得分:2)

您没有在setup()方法中初始化Webdriver成员变量,而是在方法变量中初始化:

WebDriver driver = new PhantomJSDriver(caps);

将其更改为

this.driver = new PhantomJSDriver(caps);

并且NPE应该消失。