【问题标题】:Firefox unable to launch in VM machineFirefox 无法在 VM 机器中启动
【发布时间】:2020-08-05 11:48:51
【问题描述】:

我正在使用以下代码在本地和通过虚拟机启动 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"
      }
    ]
  }
}

【问题讨论】:

  • 你有没有试过在这一行里添加geckodriver.exe的完整路径System.setProperty("webdriver.gecko.driver", "Drivers/geckodriver.exe");
  • @AnonymousFox :我们将驱动程序 exe 文件添加到我们的项目中。这就是我们的完整路径。

标签: java selenium-webdriver firefox grid geckodriver


【解决方案1】:

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

请告诉我:-

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

其余代码看起来不错。

【讨论】:

  • 我正在使用 IP 网桥配置远程运行脚本。集线器和节点位于另一台机器上,我能够在该机器上成功启动 chrome 和 IE。我只面临 Firefox 的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 2020-03-13
  • 2016-05-13
  • 1970-01-01
  • 2013-08-08
  • 2016-08-17
相关资源
最近更新 更多