我正在尝试运行此代码,但我得到空指针异常。我正在使用 Junit 4.10 和 Selenium 2.24.1 JARS。
例外是在 @After " driver.quit(); "
当我在家中使用 Desktop 运行相同的代码时,它似乎工作正常。唯一的区别是我运行 Eclipse Indigo @ home 而我在这里运行 Eclipse Ganymede。但我不认为这应该是一个问题,除非我弄错了。
堆栈跟踪:在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect 的 framework.Ford.tearDown(Ford.java:36) 的 java.lang.NullPointerException。 DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
谢谢。
public class Ford {
static private WebDriver driver;
static private String baseUrl;
static private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.google.com/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testFord() throws Exception {
driver.get(baseUrl + "/finance");
driver.findElement(By.linkText("AA")).click();
driver.findElement(By.id("gbqfq")).click();
driver.findElement(By.id("gbqfq")).clear();
driver.findElement(By.id("gbqfq")).sendKeys("f");
driver.findElement(By.id(":1")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
}