Firefox 不是使用 Geckodriver 和 Selenium 启动的 - 它适用于 Chrome

Firefox is not launched using Geckodriver and Selenium - It works with Chrome

我今天开始使用 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 Listening on 127.0.0.1:27826

我正在使用:

我也尝试过最新版本的 FF,但没有成功。

chrome不会发生这种情况。

你能帮帮我吗?

提前致谢!!

请尝试使用最新版本的 Firefox。您需要根据浏览器使用 32 位或 64 位 GeckoDriver,并且需要设置 Firefox Binary。

请查看这篇文章以获取完整的设置详细信息 -

http://www.automationtestinghub.com/selenium-3-0-launch-firefox-with-geckodriver/

感谢您的回复。我的问题是我有一个 maven 依赖项,这导致我相信我正在使用的版本出现问题。依赖项是:

<!--        <dependency> -->
<!--            <groupId>org.seleniumhq.selenium</groupId> -->
<!--            <artifactId>selenium-remote-driver</artifactId> -->
<!--            <version>2.51.0</version> -->
<!--        </dependency> -->

评论这2条,问题就解决了。

最新版本的 firefox 也有问题(FF 52、geckodriver 0.15、selenium 3.3.1)。尝试使用 firefox 50.1.0。它对我有用。最新版本的 Firefox 通常不受最新驱动程序的支持。