2014-01-24 131 views
0

我试图运行此代码:火狐不开与FirefoxDriver硒

@Before 
public void setUp() throws Exception { 
    driver = new FirefoxDriver(); 
    baseUrl = "https://www.google.com.br/"; 
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
} 

,但是它停止(应用程序不退出,仅停止)在FirefoxDriver(),并不会引发任何错误。 我使用Firefox 25.0.1(32位),硒IDE 2.5,JAVA JDK 1.7中,Windows 7(64位)与Maven运行:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-firefox-driver</artifactId> 
    <version>2.9.0</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-server</artifactId> 
    <version>2.9.0</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium</artifactId> 
    <version>2.0rc2</version> 
    <type>pom</type> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>2.11.0</version> 
</dependency> 
<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <artifactId>selenium-api</artifactId> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <type>jar</type> 
    <version>2.9.0</version> 
</dependency> 

回答

3

您使用硒的一个非常过时的版本。

在项目对象模型xml文件的顶部添加一个变量,然后将其用作您的硒版本。

<properties> 
    <selenium.version>2.39.0</selenium.version> 
</properties> 
... 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-firefox-driver</artifactId> 
    <version>${selenium.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-server</artifactId> 
    <version>${selenium.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium</artifactId> 
    <version>2.0rc2</version> 
    <type>pom</type> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>${selenium.version}</version> 
</dependency> 
<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <artifactId>selenium-api</artifactId> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <type>jar</type> 
    <version>${selenium.version}</version> 
</dependency> 
+0

没错!当我添加Maven依赖关系时,他以一种奇怪的方式命令,为此我得到了旧的。 – ThiagoKrug

1

我认为您的硒版本对于Firefox 25来说太老了。它目前在2.39。 通常你也只需要selenium-java和selenium-api,并且保持版本的一致性是个好主意。我的pom.xml看起来是这样的:

... 
    <properties> 
    ... 
    <selenium.version>2.39.0</selenium.version> 
    ... 
    </properties> 
    ... 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>${selenium.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-api</artifactId> 
     <version>${selenium.version}</version> 
    </dependency> 
    ... 
-2

请添加以下的依赖:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-api</artifactId> 
    <version>2.53.1</version> 
</dependency> 
+0

已发布。 – user5226582

+0

重复的答案 –