我今天开始使用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,Geckodriver 15.0和Selenium 3.3.1。我也试过最新版本的FF而没有成功。
镀铬不会发生这种情况。
你能帮帮我吗?
提前致谢!!
答案 0 :(得分:0)
请尝试使用最新版本的Firefox。您需要根据浏览器使用32位或64位GeckoDriver,并且需要设置Firefox Binary。
请查看此文章以获取完整的设置详情 -
http://www.automationtestinghub.com/selenium-3-0-launch-firefox-with-geckodriver/
答案 1 :(得分:0)
我想感谢您的回复。我的问题是我有一个maven依赖,这导致我相信我使用的版本的问题。依赖是:
<!-- <dependency> -->
<!-- <groupId>org.seleniumhq.selenium</groupId> -->
<!-- <artifactId>selenium-remote-driver</artifactId> -->
<!-- <version>2.51.0</version> -->
<!-- </dependency> -->
通过评论这两个问题,问题解决了。
答案 2 :(得分:0)
最新版本的firefox也存在问题(FF 52,geckodriver 0.15,selenium 3.3.1)。尝试使用firefox 50.1.0。它对我有用。最新的驱动程序通常不支持最新版本的Firefox。