【发布时间】:2017-09-03 09:35:51
【问题描述】:
我今天开始使用 Geckodriver,但没有成功。
相同的脚本使用 chrome 工作(chrome 启动正确),但 Firefox 浏览器没有启动,并且 TestNG 在启动浏览器之前使脚本失败。
代码就这么简单:
case "IE":
System.setProperty("webdriver.ie.driver", ECC.IE_DRIVER_PATH);
localWebDriver = new InternetExplorerDriver();
break;
case "FIREFOX":
System.setProperty("webdriver.gecko.driver", ECC.FIREFOX_DRIVER_PATH);
localWebDriver = new FirefoxDriver();
break;
case "CHROME":
System.setProperty("webdriver.chrome.driver", ECC.CHROME_DRIVER_PATH);
localWebDriver = new ChromeDriver();
break;
}
在执行localWebDriver = new FirefoxDriver();时,不会启动浏览器,而是自动转到invoker.class下面的代码:
catch(InvocationTargetException ite) {
testResult.setThrowable(ite.getCause());
setTestStatus(testResult, ITestResult.FAILURE);
}
控制台只显示这个:
1491601901866 geckodriver INFO 监听 127.0.0.1:27826
我正在使用:
- FF 版本 48
- 壁虎司机 15.0
- 硒 3.3.1
我也尝试过最新版本的FF,但没有成功。
chrome 不会发生这种情况。
你能帮帮我吗?
提前致谢!!
【问题讨论】:
-
嗨!抛出的具体错误是什么?
-
在深入挖掘之前,您是否尝试过
DesiredCapabilities方式?DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette", true); WebDriver driver = new FirefoxDriver(capabilities);还是要使用这个方法设置webdriver.gecko.driver属性 -
将 Firefox 升级到 52.0.1
-
相信升级FF应该对你有帮助。正如Geckodriver Github page 中所说:“Firefox 48 及更高版本的支持最好,尽管通常 Firefox 版本越新,体验就越好……”。此外,在Selenium release for version 3.3.1 中,修复了“修复设置二进制文件导致 Firefox 无法启动的问题”。
-
大家好,我已经尝试了这些选项以及最新的 FF 版本,但没有成功。关于错误,我没有看到任何错误,基本上TestNG像正常运行一样使脚本失败,并且在代码执行时捕获了失败异常:new FirefoxDriver();
标签: java selenium firefox selenium-webdriver geckodriver