java - Firefox 驱动程序返回 null

标签 java selenium firefox selenium-webdriver junit

所以我将 Selenium 与 JUnit 结合使用。我遇到的问题是,当我使用以下方法配置 Firefox 驱动程序时,驱动程序返回 null

这是配置它的函数-

public WebDriver ConfigureFirefox(WebDriver Driver){

    System.setProperty("webdriver.firefox.marionette","/Users/wshaikh/Downloads/geckodriver");
    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setCapability("marionette", true);
    Driver = new FirefoxDriver();

    return Driver;
}

以下是它在测试设置中的使用方式-

@Before
public void SetupTest()
{
    Driver = testHelper.ConfigureFirefox(Driver);
    checkPointPage = new CheckPointPage(Driver);

    Driver.get(URL);
}

我不断收到 NullPointer 异常。单步执行代码后,我发现 Driver 一直返回 null,但不知道为什么。

我使用的是 Mac。

有什么想法吗?

谢谢!

最佳答案

您需要使用功能初始化驱动程序。您也不需要将驱动程序发送到ConfigureFirefox

public WebDriver ConfigureFirefox() {  
    System.setProperty("webdriver.firefox.marionette","/Users/wshaikh/Downloads/geckodriver");
    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setCapability("marionette", true);
    WebDriver driver = new FirefoxDriver(capabilities);

    return driver;
}

@Before
public void SetupTest() {
    Driver = testHelper.ConfigureFirefox();
    checkPointPage = new CheckPointPage(Driver);

    Driver.get(URL);
}

关于java - Firefox 驱动程序返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272557/

相关文章:

java - 配置一个 XSD 由多个 xs :schemas? 组成

CSS : overflow : auto will not work under FireFox 3. 6.2

html - 如何解决浏览器之间不同的填充大小

firefox - 是否可以直接从命令行使用 firefox 的 google 搜索栏?

java - 为什么 java 中默认的 hashcode() 不好?

java - 在java中打印阿拉伯字符串

java - Fetch join 导致 N+1 查询或抛出 org.hibernate.QueryException

javascript - Webdriver IO 中的帧处理

selenium - 如何仅获取元素 id - 使用 Selenium WebDriver 2

python - 如何在Selenium(python)中提取两个元素?