1

我是硒的新手,仍在探索它。我正在尝试在网站上测试 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);
  }

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

4

1 回答 1

2

我非常希望这是问题所在:

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

驱动程序实例可能为空。

不同之处在于您的其他测试,您明确地将其创建到 FirefoxDriver 中:

driver = new FirefoxDriver();
于 2012-05-10T16:35:12.717 回答