WebDriverBackedSelenium中的NullPointerException

时间:2012-05-10 13:49:50

标签: selenium-webdriver

我是硒的新手并且仍在探索它。我正在尝试在网站上测试ajax元素。单击元素时,页面上的某些区域会弹出一些文本。我在RC和WebDriver上运行此测试。它工作正常。现在我想(仅仅是出于好奇)通过WebDriverBackedSelenium来测试它。但这是一个错误。代码是:

    import com.thoughtworks.selenium.SeleneseTestBase;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebDriverBackedSelenium;
    import org.openqa.selenium.internal.WrapsDriver;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;


    public class CheckElements extends SeleneseTestBase {
    @Before
    public void setUp() throws Exception {
        String baseUrl = "path/to/the/site";
        WebDriver driver = ((WrapsDriver) selenium).getWrappedDriver();
        selenium = new WebDriverBackedSelenium(driver, baseUrl);
    }

错误是:

    java.lang.NullPointerException
             at com.CheckElements.setUp(CheckElements.java:17)

我认为主要问题在于设置方法。我正在使用selenium独立服务器2.0和junit 4.7。你能告诉我哪里出错吗?

另一个问题??

如果我编写如下相同的测试,测试运行正常,但即使文本与所需内容不匹配也不会出错。

    import com.thoughtworks.selenium.SeleneseTestBase;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebDriverBackedSelenium;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;


     public class New extends SeleneseTestBase {

      WebDriver driver;
      @Before
      public void setUp() throws Exception {
      driver = new FirefoxDriver();
      String baseUrl = "path/to/the/link";
      selenium = new WebDriverBackedSelenium(driver, baseUrl);
  }

我希望我的问题清楚。感谢。

1 个答案:

答案 0 :(得分:2)

我非常期待这是个问题:

WebDriver driver = ((WrapsDriver) selenium).getWrappedDriver();

驱动程序实例可能为null。

与您的其他测试不同的是,您明​​确地将其创建为FirefoxDriver:

driver = new FirefoxDriver();