maven 由于某种原因,找不到org.openqa.selenium.wrapsDriver的Selenium. Selenide. Class文件

enyaitl3  于 2022-11-22  发布在  Maven
关注(0)|答案(2)|浏览(287)

我在Maven项目中使用Java。当我尝试在测试中使用Selenide函数时,出现以下错误:
Error:(39, 26) java: cannot access org.openqa.selenium.WrapsDriver class file for org.openqa.selenium.WrapsDriver not found
同时,我的测试工作良好,没有Selenide代码。
下面是我的POM xml:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.13.0</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>selenide</artifactId>
        <version>5.0.0</version>
    </dependency>

    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>selenide</artifactId>
        <version>RELEASE</version>
    </dependency>
</dependencies>
j5fpnvbx

j5fpnvbx1#

该问题通过添加依赖性来解决

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>3.14.0</version>
    </dependency>
lawou6xi

lawou6xi2#

详细解释答案:当我们添加selenium-java依赖项时,它会隐藏seleniumapi依赖项:

org.seleniumhq.selenium:selenium-java -> 3.141.59
    +--- org.seleniumhq.selenium:selenium-api:3.141.59
    +--- org.seleniumhq.selenium:selenium-chrome-driver:3.141.59  
         +--- org.seleniumhq.selenium:selenium-api:3.141.59

现在,如果有任何其他依赖项也将selenium-api作为可传递依赖项(在本例中,我认为是selenide),则会出现版本不匹配,从而导致错误。
通过将依赖项显式声明为

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-api</artifactId>
    <version>3.14.0</version>
</dependency>

我们告诉我们构建管理工具(除了Maven之外,它也可以是Gradle)要拉取哪个确切版本的selenium api,这样问题就解决了。

相关问题