编译Maven Selenium项目时出现错误 - 编译错误,找不到包。

4

我尝试运行Selenium测试的Maven项目(maven -install)

以下是pom文件

<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>deprecated</groupId>
<artifactId>deprecated</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>
     <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.46.0</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.46.0</version>
    </dependency>
    <dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.9.4</version>
  <scope>test</scope>
</dependency>
</dependencies>

<build>

 <sourceDirectory>src</sourceDirectory>
    <plugins>
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14.1</version>
            <configuration>
             <archive>
            <manifest>
              <addClasspath>true</addClasspath>
            </manifest>
          </archive>
            <forkMode>never</forkMode>
                <suiteXmlFiles>
                    <suiteXmlFile>testsuite/TestSuiteBukalapak.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

</project>

编译错误,提示找不到包org.openqa.selenium、org.testng和org.testng.annotations等,就好像缺少了某些maven构建内容。
[INFO] Compiling 43 source files to D:\deprecated\selenium_testng\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/Tambah_Alamat.java:[3,27] package org.openqa.selenium does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/Tambah_Alamat.java:[4,27] package org.openqa.selenium does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/Tambah_Alamat.java:[5,35] package org.openqa.selenium.support does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/Tambah_Alamat.java:[6,18] package org.testng does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/Tambah_Alamat.java:[7,30] package org.testng.annotations does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[5,27] package org.openqa.selenium does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[6,34] package org.openqa.selenium.chrome does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[7,34] package org.openqa.selenium.chrome does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[8,34] package org.openqa.selenium.chrome does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[9,35] package org.openqa.selenium.firefox does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[10,35] package org.openqa.selenium.firefox does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[11,42] package org.openqa.selenium.support.events does not exist
[ERROR] /D:/deprecated/selenium_testng/src/deprecated/core/Settings.java:[12,18] package org.testng does not exist

你能帮我一下吗?我需要在pom文件中添加哪些特定的依赖项呢?谢谢。


你似乎没有org.openqa.selenium的依赖? - AKS
我遇到了同样的问题,但不记得如何解决 :(。我使用Eclipse并重新构建了类路径mvn eclipse:cleanmvn eclipse:eclipse。这是我的项目https://github.com/nguoianphu/selenium-testng-maven - Tuan
@Tuan 我可以在Eclipse中通过清理来无问题地运行它。但是,当我通过命令行运行它时遇到了问题:( - Raymond
4个回答

4

尝试添加

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>${selenium.version}</version>
    </dependency>

同样的问题,当我添加了${selenium.version}的selenium-java时,尝试解决一个包org.openqa.selenium.opera不存在的问题时,问题就开始了。selenium-chrome-driver已经以相同的版本存在于项目中。 - White_King

0

今天我遇到了和你一样的问题。

这是我解决它的方法:

  1. 我在这里下载了“geckodriver V0.10.0”:https://github.com/mozilla/geckodriver/releases,我使用的是Mac,所以我选择的文件是:geckodriver-v0.10.0-macos.tar.gz

  2. 我还从这里更新了selenium-server版本为3.0.0-beta2:http://www.seleniumhq.org/download/ => [下载版本3.0.0-beta2]

  3. 最后,在新建FirefoxDriver之前,我设置了使用“geckodriver”的必需属性:

    System.setProperty("webdriver.gecko.driver","/xxx/yyy/geckodriver");

然后它就可以工作了,希望对你有帮助。

最后,我发现导入的包已经从“org.openqa.selenium.server.SeleniumServer;”更改为“org.openqa.selenium.remote.server.SeleniumServer”。

*其他参考资料:http://learn-automation.com/use-firefox-selenium-using-geckodriver-selenium-3/


0

你可以添加以下依赖项并尝试一下:

<dependency>
    <groupId>org.openqa.selenium.server</groupId>
    <artifactId>selenium-server-coreless</artifactId>
    <version>1.0-20081010.060147</version>
</dependency>

更多细节在这里


上一个版本无法使用。 - White_King

0
尝试替换Selenium依赖性
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接