无法使用Maven启动FirefoxDriver

时间:2016-04-26 05:55:08

标签: java xml maven selenium selenium-firefoxdriver

在Maven的帮助下,我正在尝试启动firefox浏览器并传递google网址。但是在Firefox浏览器推出后它无法运行。

我已经在pom.xml依赖项中添加了所有jar。

driver = new FirefoxDriver(); 行无效。引导我伸出援手。

代码:

$var = "/1/2/3/4";

$in = join(" , ", explode("/", ltrim($var, '/')));

$sql = "SELECT `dt`.`fullname` FROM `db_table` dt
        LEFT JOIN `organization` o
        ON `o`.`organisationid` = `dt`.`id`
        WHERE `o`.`id` IN ($in) AND (`o`.`data` = 'HQ' OR `o`.`data` = 'advisory')";

的pom.xml

public class Test {
    WebDriver driver;

    @BeforeTest
    public void main() {
        // TODO Auto-generated method stub
        System.out.println("Driver is running");
        driver = new FirefoxDriver();
        System.out.println(driver.toString());
        System.out.println("Driver is running");
        driver.manage().window().maximize();
    }

    @org.testng.annotations.Test
    public void open(){
        driver.get("www.google.com");
    }

    @AfterTest
    public void close() throws InterruptedException{
        driver.wait(5000);
    }
}

的testng.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>com.maven.sample</groupId>
 <artifactId>first</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <name>Sample Project</name>
 <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
                <configuration>
                    <suiteXmlFiles>
                    <!-- TestNG suite XML files -->
                        <suiteXmlFile>testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
        </plugin>
    </plugins>
</build>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.43.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>19.0</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.10</version>
        </dependency>
  </dependencies>
</project>

控制台:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Automationsuite">
  <test name="demoTest">
    <classes>
       <class name="first.Test" />
    </classes>
  </test>  
</suite>

3 个答案:

答案 0 :(得分:1)

让我们一步一步走下去:
1.创建一个简单的maven项目,只需添加selenium-java最新库 2.使用main方法创建一个简单的Java类,只有一行调用firefox浏览器
3.尝试运行那个 下一步:
1.将最新的testng依赖项添加到您的maven pom文件中。
2.创建一个TestNG类,并将相同的代码从主类复制粘贴到测试类方法 3.右键单击并运行Testng(如果您为eclipse安装了TestNG插件)

答案 1 :(得分:0)

尝试将POM.xml依赖项更新为最新版本:

Selenium to 2.53.0 
TestNG to 6.9.10
guava to 19.0

编辑: 您也可以尝试将maven-surefire-plugin更新为2.19.1

答案 2 :(得分:0)

我最终遇到了同样的问题。下面是我的解决方法。

  • 首先,在创建Maven项目后,检查您的Test类是否在src / test / java下。

  • 其次,您应该保存pom.xml文件并更新maven项目。 如果您正在使用eclipse: 右键单击您的项目-选择Maven并更新项目

  • 然后,检查是否已导入所有注释:
    import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test;

  • 然后,您可以测试您的maven项目。 如果您正在使用eclipse: 右键单击您的项目-选择“运行方式”,然后单击“ Maven测试”。

  • 因此,通过运行TestNG框架来测试Maven项目是没有用的。