Java 如何使用Maven在Firefox中运行Selenium WebDriver测试用例?

Java 如何使用Maven在Firefox中运行Selenium WebDriver测试用例?,java,maven,selenium,firefox,selenium-webdriver,Java,Maven,Selenium,Firefox,Selenium Webdriver,我需要使用FirefoxDriver和Maven创建简单的自动测试 摘自pom.xml: <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.53.1</version> </dependency> 运行测试后执行命令

我需要使用FirefoxDriver和Maven创建简单的自动测试

摘自pom.xml:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.53.1</version>
</dependency>
运行测试后执行命令

mvn -test
我收到以下例外情况:

org.openqa.selenium.WebDriverException:无法连接到端口7055上的二进制FirefoxBinary(C:\Program Files(x86)\Mozilla Firefox\Firefox.exe);过程输出如下:为轻量管理器注册关机阻塞器

Mozilla Firefox版本:49.0.1
(应与Selenium Webdriver兼容)。“主机”文件为空。Windows防火墙已禁用


你有什么想法吗?我如何解决这个问题?

看起来似乎是
Selenium2
Mozilla Firefox版本49.0.1
之间的不兼容问题

实际上,就像其他使用selenium的可执行驱动程序一样

,在任何位置将下载的zip文件解压缩到您的系统中,并使用变量
webdriver.gecko.driver
将此可执行文件路径与可执行文件本身设置为
system

详情如下:-

System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");

//Now you can Initialize marionette driver to launch firefox
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);

WebDriver driver = new MarionetteDriver(capabilities); //for selenium 3 use new FirefoxDriver(capabilities);

注意:-如果在系统的默认位置安装了
Mozilla Firefox
,则无需在selenium脚本中明确提供二进制路径,selenium本身会从默认位置找到它。

它看起来像是
Selenium2
Mozilla Firefox版本49.0.1
之间的不兼容问题

实际上,就像其他使用selenium的可执行驱动程序一样

,在任何位置将下载的zip文件解压缩到您的系统中,并使用变量
webdriver.gecko.driver
将此可执行文件路径与可执行文件本身设置为
system

详情如下:-

System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");

//Now you can Initialize marionette driver to launch firefox
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);

WebDriver driver = new MarionetteDriver(capabilities); //for selenium 3 use new FirefoxDriver(capabilities);
注意:-如果在系统的默认位置安装了
Mozilla Firefox
,则无需在selenium脚本中明确提供二进制路径,selenium将从默认位置找到它