0

このコードを実行しようとしていますが、ヌル ポインター例外が発生します。Junit 4.10 と Selenium 2.24.1 JARS を使用しています。

例外は @After " driver.quit(); " にあります。

デスクトップを使用して自宅で同じコードを実行すると、正常に動作するようです。唯一の違いは、Eclipse Indigo @ home を実行し、ここで Eclipse Ganymede を実行することです。しかし、私が間違っていない限り、それは問題になるべきではないと思います。

スタック トレース: Sun.reflect.NativeMethodAccessorImpl.invoke0 (ネイティブ メソッド) の Framework.Ford.tearDown(Ford.java:36) で java.lang.NullPointerException (ソース不明)。
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)の java.lang.reflect.Method.invoke(不明なソース) の DelegatingMethodAccessorImpl.invoke(不明なソース)

ありがとう。

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

}
4

1 に答える 1

0

teaDown() メソッドでこの変更を行った後に試すことができますか -

@After
public void tearDown() throws Exception {
    if (driver != null)
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
        fail(verificationErrorString);
    }
}

これで問題が解決する場合があります。

于 2012-06-29T07:08:09.130 に答える