Firefox不是使用Geckodriver和Selenium推出的 - 它适用于Chrome

时间:2017-04-07 21:56:21

标签: java selenium firefox selenium-webdriver geckodriver

我今天开始使用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而没有成功。

镀铬不会发生这种情况。

你能帮帮我吗?

提前致谢!!

3 个答案:

答案 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。