我刚刚为Jenkins安装了Selenium Grid插件,并开始探索使用它进行分发测试。我创建了一个简单的测试,只需打开一个浏览器,获取一个URL,然后关闭浏览器。这似乎适用于Chrome(在Mac上)和IE(在Windows上),但由于某些原因在Mac上使用Firefox 18.0.2时,我看到浏览器窗口打开但我应该加载的网址永远不会显示在网址中酒吧和东西挂起,我收到一个错误:
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;
}
答案 0 :(得分:0)
对于遇到此问题的任何人,我至少可以暂时解决问题。通过降级到Firefox 17的问题。事情在那里工作正常,而不是Firefox 18。