无法连接到二进制火狐二进制与硒在 Maven

我正在运行一些硒测试。当我直接从Eclipse启动它们时,一切都很好。但是当我通过Maven启动它们时,会发生以下异常:

org.openqa.selenium.WebDriverException(Failed to connect to binary FirefoxBinary(C:\winapp\Firefox\firefox.exe) on port 7055; process output follows: 
null
Build info: version: '2.26.0', revision: '18040', time: '2012-11-02 09:44:45'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_35'
Driver info: driver.version: FirefoxDriver)

我使用的是 Firefox 10.0.10 ESR。我也尝试过用硒2.25.0。

这是我最新版本的pom.xml:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.26.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.26.0</version>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>1.4.1</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.jdom</groupId>
        <artifactId>jdom2</artifactId>
        <version>2.0.3</version>
    </dependency>
</dependencies>

如果我能为您提供更多信息,请告诉我。

编辑:更新的pom.xml

edit2:最让我惊奇的是,我可以从eclipse运行测试而不会出现任何问题。它们只是发生,如果我称之为“mvn安装”,例如


答案 1

当我遇到此错误时,通常是两件事之一。

硒版本不支持浏览器版本仔细检查从Eclipse vs Maven运行时的Selenium/浏览器版本是否相同。仔细检查Eclipse和Maven配置为使用相同的Selenium版本。当我的浏览器自动更新时,我发生了这种情况,所以我在浏览器中关闭了它。

硒测试在无头模式下运行如果您与 Eclipse 在同一台机器上手动执行 mvn,则不太可能。当我在我的Jenkins服务器上通过Maven运行Selenium时,这种情况就发生了。Jenkins 服务器在无外设模式下运行。我花了一分钟来弄清楚无头的东西,想想我在Linux中设置了一个DISPLAY env变量之类的东西。


答案 2

我弄清楚了问题出在哪里。

我加载了一些扩展以添加到我用来实例化FireFoxDriver的FirefoxProfile中。这些插件位于 Java/main/resources 下。在Eclipse中,一切都很好,但我无法通过Maven访问这些插件。将这些文件复制到临时文件夹并从那里加载它们后,它甚至可以从Maven工作。

感谢您的帮助


推荐