java - Selenium WebDriver Java Firefox Headless 不工作

标签 java selenium selenium-webdriver automated-tests

我正在尝试在我的 Macbook 上本地运行 Fiorefox headless,但到目前为止还没有成功。我正在研究 Selenium WebDrive Java。

我尝试了这两种方法来解决问题,除了完全忽略的 headless 选项之外,它们都工作得很好。

package Follo;

public class Class_4 {

    @Test
    public void Firefox1() {

        System.setProperty("webdriver.gecko.driver", "/Users/alessandroborini/Dropbox/Firefox Drivers/geckodriver");

        FirefoxBinary firefoxBinary = new FirefoxBinary();
        firefoxBinary.addCommandLineOptions("--headless");
        FirefoxOptions options = new FirefoxOptions();
        WebDriver driver = new FirefoxDriver(options);
        options.setBinary(firefoxBinary);

        driver.get("https://www.google.com");
        driver.quit();
    }

    @Test
    public void Firefox2() {

        System.setProperty("webdriver.gecko.driver", "/Users/alessandroborini/Dropbox/Firefox Drivers/geckodriver");

        FirefoxOptions options = new FirefoxOptions();
        WebDriver driver = new FirefoxDriver(options);
        driver.manage().window().maximize();
        options.setHeadless(true);
        driver.get("https://www.google.com");
        driver. quit();
    }
}

我在测试开始时有一些警告,但从我所看到的来看,它们似乎与我的问题无关。

以下是控制台中的警告,但没有错误:

1562862838014   addons.webextension.screenshots@mozilla.org WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1562862838014   addons.webextension.screenshots@mozilla.org WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1562862838015   addons.webextension.screenshots@mozilla.org WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1562862838015   addons.webextension.screenshots@mozilla.org WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1562862841133   Marionette  INFO    Listening on port 57308
1562862841209   Marionette  WARN    TLS certificate errors will be ignored for this session
Jul 11, 2019 5:34:01 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C```

```PASSED: Firefox1
PASSED: Firefox2

===============================================
    Default test
    Tests run: 2, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================```

最佳答案

无需调整二进制文件的命令行,而是直接在选项中显式设置 headless 标志:

FirefoxBinary firefoxBinary = new FirefoxBinary();
FirefoxOptions options = new FirefoxOptions();
options.setBinary(firefoxBinary);
options.setHeadless(true);  // <-- headless set here
WebDriver driver = new FirefoxDriver(options);

关于java - Selenium WebDriver Java Firefox Headless 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56993812/

相关文章:

testing - Selenium 2.0/网络驱动程序

c# - 使用 C# 和 selenium 查看 blob 文件

java - 在 div、selenium java eclipse 中找不到输入元素

java - 解锁 HPUX LDAP Directory Server 中的用户对象

java - 无法在 selenium webdriver 中找到元素(用户名和密码)

javascript - 在 Cordova 应用程序上使用视觉回归测试

c# - Selenium 错误 : No response from server for url http://localhost:7055

java - 使用 StepExecutionContext/JobExecutionContext 共享大值 Hashmap 的后果

java - 泛型中的通配符不起作用

java - 在 iOS/Android 和 Firebase 中处理 Date 的最佳方法是什么?