1

我刚刚为 Jenkins 安装了 Selenium Grid 插件,并开始探索用它分发测试。我创建了一个简单的测试,它只打开一个浏览器,获取一个 url,然后关闭浏览器。这似乎适用于 Chrome(在 Mac 上)和 IE(在 Windows 上),但由于某种原因,在 Mac 上使用 Firefox 18.0.2 时,我看到浏览器窗口打开,但我应该加载的 url 从未出现在 url 中酒吧和东西挂起,我得到一个错误:

WebDriverException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

它挂在构造函数中的某个位置以创建 RemoteDriver。我在构造函数之后添加了一个跟踪语句,代码永远不会到达那里。

奇怪的是,如果我在失败的同一台机器上启动本地 Selenium Grid 节点并将我的测试定向到那里而不是 Jenkins Selenium Grid 集线器,那么测试执行得很好。所以这似乎是我如何设置 Jenkins 节点的问题,但我不知道如何解决这个问题。任何帮助,将不胜感激。

我的代码是这样的:

WebDriver driver = null;

public Browser(String gridUrl) {
     driver = makeFirefox(gridUrl);
     driver.get(url);
}


private WebDriver makeFirefox(String gridUrl) {

      FirefoxProfile prof = new FirefoxProfile();
      prof.setEnableNativeEvents(true);

      DesiredCapabilities capabilities = DesiredCapabilities.firefox();
      capabilities.setCapability(FirefoxDriver.PROFILE, prof);

      WebDriver driver = null;
      try{
         driver = new RemoteWebDriver(new URL(gridUrl), capabilities);
      } catch (MalformedURLException e) {
         e.printStackTrace();
      }

      return driver;
   }
4

1 回答 1

0

对于遇到这种情况的任何人,我至少可以通过降级到 Firefox 17 来暂时“解决”这个问题。那里一切正常,只是 Firefox 18 不行。

于 2013-02-13T08:35:17.487 回答