我是硒的新手并且仍在探索它。我正在尝试在网站上测试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);
}
我希望我的问题清楚。感谢。
答案 0 :(得分:2)
我非常期待这是个问题:
WebDriver driver = ((WrapsDriver) selenium).getWrappedDriver();
驱动程序实例可能为null。
与您的其他测试不同的是,您明确地将其创建为FirefoxDriver:
driver = new FirefoxDriver();