为什么该类方法返回“ null”?

时间:2019-11-10 10:13:10

标签: java selenium

我在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。

1 个答案:

答案 0 :(得分:1)

我假设您的driverManager属性为null。这就是driver = driverManager.getDriver();导致NPE的原因。

我想public DriverManager driverManager = new DriverManager();已经解决了这个问题。