我在Selenium框架中有一个类,负责获取一个新的驱动程序对象并将其传递给测试以供使用。
但是由于某种原因,它返回一个空错误,我不知道为什么。
这是课程:
DriverManager
private WebDriver driver;
public WebDriver getDriver() {
WebDriverFactory factory = new WebDriverFactory();
driver = factory.CreateBrowser(CHOSEN_BROWSER);
return driver;
}
我的工厂班级:
public WebDriver CreateBrowser(BrowserType browser)
{
switch(browser) {
case Chrome:
return createChromeDriver();
case Firefox:
return createFirefoxDiver();
case InternetExplorer:
return createInternetExplorerDriver();
default:
System.out.println("Invalid browser type");
return null;
}
}
我在创建DriverManager实例的测试:
BaseTest:
public DriverManager driverManager;
public WebDriver driver;
@之前
public void CreateDriver()
{
driver = driverManager.getDriver();
Pages.init(driver);
Logging.info("TEST STARTING: " + name.getMethodName());
}
但是只要它到达CreateDriver
方法的第一行。我收到一个空指针错误,并且测试失败,并显示NullPointerException。
答案 0 :(得分:1)
我假设您的driverManager
属性为null。这就是driver = driverManager.getDriver();
导致NPE的原因。
我想public DriverManager driverManager = new DriverManager();
已经解决了这个问题。