在Maven项目中,文件夹src/main/java中的类可以';t解析导入org.openqa.selenium.WebElement

在Maven项目中,文件夹src/main/java中的类可以';t解析导入org.openqa.selenium.WebElement,maven,selenium,Maven,Selenium,我有一个针对Selenium测试项目的maven项目。所有必要的依赖项都在pom.xml中定义,如 selenium-java webdrivermanager assertj-core testng maven-surefire-plugin maven-failsafe-plugin slf4j-api slf4j-simple 现在,我编写了一个helper类,它必须作为位于src/test/java文件夹中的selenium测试的公共工具。这个类有一个静态方法,其中WebElement

我有一个针对Selenium测试项目的maven项目。所有必要的依赖项都在pom.xml中定义,如

selenium-java
webdrivermanager
assertj-core
testng
maven-surefire-plugin
maven-failsafe-plugin
slf4j-api
slf4j-simple
现在,我编写了一个helper类,它必须作为位于src/test/java文件夹中的selenium测试的公共工具。这个类有一个静态方法,其中WebElement作为参数,我试图导入org.openqa.*.*类。我发现“导入org.openqa无法解决”

如果我将类/方法保持在一个selenium测试类中,并且 src/test/java文件夹,它正在很好地解析。为什么错误是特定于 src/main/java文件夹类


@拉胡尔的评论回答了这个问题。我应该把它标记为答案。

只是在答案中添加注释。要在src/main/java文件夹中定义的类中使用selenium依赖项,请确保为项目定义了作用域

`<scope>test</scope>`
`test`
从selenium依赖项中删除上述作用域

`<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.5</version>
</dependency>
`
`
org.seleniumhq.selenium
硒爪哇
3.141.5
`

检查为硒依赖性定义的范围它是“测试”范围。这会是个问题吗?我把它注释掉了,它得到了解决。我希望您没有将maven插件(surefire、failsafe)定义为依赖项?