java - Firefox 无法在 VM 机器中启动

标签 java selenium-webdriver firefox grid geckodriver

我正在使用以下代码在本地和通过 VM 机器启动 Firefox。但是我无法通过 VM 机器启动 Firefox。

 case FIREFOX:
                    browserType = BrowserTypes.FIREFOX;
                    System.setProperty("webdriver.gecko.driver", "Drivers/geckodriver.exe");
                    FirefoxOptions firefoxOptions = new FirefoxOptions();
                   firefoxOptions.setCapability("marionette", true);
                    firefoxOptions.setAcceptInsecureCerts(true);
                    if(isRemote) {
                        webDriver = launchGridDriver(firefoxOptions, configProps.getNodeUrl());
                        Reporter.log("Running test on Grid, in browser \'Firefox\'", true);
                    } else {
                        webDriver = new FirefoxDriver(firefoxOptions);
                        Reporter.log("Running test in browser \'FIREFOX\'", true);
                    }
                    break;


 private WebDriver launchGridDriver(Capabilities capabilities, String url){
        try{
            return new RemoteWebDriver(new URL(url), capabilities);
        } catch(Exception e){
            Reporter.log("There was an error setting up the remote WebDriver.");
            e.printStackTrace();
            return null;
        }
    }

我能够在本地启动 firefox,当我只是尝试在远程启动时出现以下错误。
org.openqa.selenium.SessionNotCreatedException: Unable to create session from {
  "desiredCapabilities": {
    "browserName": "firefox",
    "server:CONFIG_UUID": "02c53809-74d8-4b47-95a1-fc97610ba78c",
    "moz:firefoxOptions": {
      "args": [
      ],
      "prefs": {
      }
    },
    "marionette": true,
    "acceptInsecureCerts": true
  },
  "capabilities": {
    "firstMatch": [
      {
        "acceptInsecureCerts": true,
        "browserName": "firefox",
        "moz:firefoxOptions": {
          "args": [
          ],
          "prefs": {
          }
        },
        "server:CONFIG_UUID": "02c53809-74d8-4b47-95a1-fc97610ba78c"
      }
    ]
  }
}

最佳答案

需要更多输入.. 看起来是网络问题,您的代码主机无法访问集线器。

请让我知道:-

  • 集线器 VM 位于何处,如果它在同一台机器上,请使用 IP 桥接配置而不是 NAT。
  • 你的机器有代码和集线器在同一个 VLAN 上。
  • 节点在哪里?您不会在 Hub 上看到浏览器启动。它将在节点上。
  • getNodeUrl() 返回集线器机器的 IP。
  • 集线器和节点上的防火墙以及代码主机关闭(只是为了确保它不会阻止连接)

  • 其余代码看起来不错。

    关于java - Firefox 无法在 VM 机器中启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61365436/

    相关文章:

    java - OrientDB 选择一个对象的名称,后跟 2 个以上用户

    java - Java 中 token 的 Hashmap 语法错误

    java - 用于读取现有数据时,如何使用数据库中的数据填充托管 bean 属性?

    selenium - 第一次在容器上运行 Protractor 失败并出现错误

    firefox - compass 单转换混合在 Firefox 22 中不起作用

    java - Java 中对象的自定义字符串表示

    internet-explorer - selenium webdriver IE 按钮问题

    vba - 有条件地检查 VBA 中的 XPath 是否正确

    javascript - 在 Firefox 扩展中的文件之间共享数据

    python - HTML 火狐书签