无法在Linux机器上使用Selenium启动firefox

时间:2014-06-19 09:26:51

标签: java maven firefox selenium selenium-webdriver

我有Fedora 16和firefox版本18.0.2。我正在尝试使用Selenium执行自动化。通过对网络的一些研究,我发现Selenium Webdriver 2.29.0配备firefox 18,(selenium.googlecode.com/git/rb/CHANGES)

以下是我得到例外的一段代码。

public  WebDriver launchBrowser(String browserName) throws URISyntaxException, IOException{
browserName = browserName.toLowerCase();
String browserPath = null;
switch(browserName){
    case "firefox":
        FirefoxProfile profile = new FirefoxProfile();
        profile.setEnableNativeEvents(true);
        browserPath = getLinuxPath(); 
        browserPath = browserPath + "/Firefox_Selenium/" + "firefox"; 
        System.setProperty("webdriver.firefox.bin", browserPath);
        driver = new FirefoxDriver(profile);
        driver.manage().window().maximize();

        LOGS.info("************Launching Firefox ************");
        break;
        }
        return driver;
}

以下是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>TestProject</groupId>
<artifactId>TestProject</artifactId>
<version>2.3.2</version>
<repositories>
  <repository>
    <id>Java.Net</id>
    <url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
 <build>
<sourceDirectory>src/pages</sourceDirectory>
<testSourceDirectory>src/test</testSourceDirectory>
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
      <source>1.7</source>
      <target>1.7</target>
      <executable>/usr/bin/javac</executable>
    </configuration>
  </plugin>
  <plugin>
    <!-- Build an executable JAR -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <archive>
          <manifest>
          <addClasspath>true</addClasspath>
          <classpathPrefix>lib/</classpathPrefix>
              <mainClass>com.gravitant.test.RunTests</mainClass>
          </manifest>
        </archive>
     </configuration>
    </plugin>
</plugins>
</build>
<dependencies>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
</dependency>
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.8</version>
</dependency>
<dependency> 
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
    <groupId>xml-apis</groupId>
    <artifactId>xml-apis</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
</dependency>            
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
    <groupId>net.sf.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>2.3</version>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.3</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.29.0</version>
    </dependency> 
    <dependency>
        <groupId>org.seleniumhd.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.29.0</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.10-beta2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.10-beta2</version>
    </dependency>
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.3</version>
    </dependency>
    <dependency>
        <groupId>net.sf.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>2.3</version>
    </dependency>
    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.29</version>
    </dependency>

</dependencies>
</dependencyManagement>
</project>

这是获得的例外。

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Could not find the Mozilla runtime.
Could not find the Mozilla runtime.

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:188)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:96)
at com.gravitant.utils.Util.launchBrowser(Util.java:1592)
at com.gravitant.test.RunTests.start(RunTests.java:144)
at com.gravitant.test.RunTests.main(RunTests.java:79)
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/home/sohail/AutomationWorkspaceLinux/Firefox_Selenium/firefox) on port 7055; process output follows: 
Could not find the Mozilla runtime.
Could not find the Mozilla runtime.

Build info: version: 'dfb1306b85be4934d23c123122e06e602a15e446', revision: 'unknown', time: '2013-01-17 15:05:54'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.6.11-4.fc16.x86_64', java.version: '1.7.0_09-icedtea'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:188)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:96)
at com.gravitant.utils.Util.launchBrowser(Util.java:1592)
at com.gravitant.test.RunTests.start(RunTests.java:144)
at com.gravitant.test.RunTests.main(RunTests.java:79)
Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Could not find the Mozilla runtime.
Could not find the Mozilla runtime.

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)
... 9 more

你能帮我辨别我哪里错了吗?

0 个答案:

没有答案