我的 Selenium 框架中有一个类,负责获取新的驱动程序对象并将其传递给测试以供使用。
但由于某种原因,它返回一个空错误,我不明白为什么。
这是类(class):
驱动管理器
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 实例的测试:
基础测试:
public DriverManager driverManager;
public WebDriver driver;
@之前
public void CreateDriver()
{
driver = driverManager.getDriver();
Pages.init(driver);
Logging.info("TEST STARTING: " + name.getMethodName());
}
但是一旦它到达 CreateDriver
方法中的第一行。我收到空指针错误,测试失败并出现 NullPointerException。
最佳答案
我假设您的 driverManager
属性为 null。这就是 driver = driverManager.getDriver();
导致 NPE 的原因。
我想 public DriverManager driverManager = new DriverManager();
已经可以解决这个问题了。
关于java - 为什么这个类方法返回 'null' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58787634/