构建错误:java:无法访问org.openqa.selenium.HasDownloads

问题描述 投票:0回答:1

有人可以协助执行以下操作吗: Google Chrome最新更新后(从版本119到120),Selenium框架中的所有测试都无法运行。

已更新到最新版本selenium-java (4.16.1) & https-jdk-client (4.13.0) 但在 DevTools 线上出现错误

DevTools devTools = ((ChromeDriver) driver).getDevTools();   devTools.createSession();

下面是完整的pom.xml

`

<modelVersion>4.0.0</modelVersion>

<groupId>project</groupId>
<artifactId>project.automate</artifactId>
<version>1.0.0</version>

<properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <maven.compiler>3.8.1</maven.compiler>
    <maven.surefire>3.0.0-M4</maven.surefire>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <selenium.version>4.16.1</selenium.version>
    <sqlunit.version>0.4.1</sqlunit.version>
    <poi.version>3.17</poi.version>
    <testng.version>7.5</testng.version>
    <appium.version>8.0.0</appium.version>
    <googleauth.version>1.4.0</googleauth.version>
    <rest.assured>4.5.1</rest.assured>
    <gson>2.9.0</gson>
    <assertj>3.17.2</assertj>
    <java.faker>1.0.2</java.faker>
    <extent.reports>5.0.9</extent.reports>
    <webdrivermanager>5.3.1</webdrivermanager>
    <mailinator.version>1.6</mailinator.version>
</properties>

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-http-jdk-client</artifactId>
        <version>4.13.0</version>
    </dependency>

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.assertj/assertj-core -->
    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj}</version>
        <scope>test</scope>
    </dependency>

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

    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>br.com.objectos.way</groupId>
        <artifactId>sqlunit</artifactId>
        <version>${sqlunit.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>${poi.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>${poi.version}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.appium/java-client -->
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>${appium.version}</version>
    </dependency>

    <dependency>
        <groupId>com.warrenstrange</groupId>
        <artifactId>googleauth</artifactId>
        <version>${googleauth.version}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>${rest.assured}</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.rest-assured/json-path -->
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>json-path</artifactId>
        <version>${rest.assured}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.github.javafaker/javafaker -->
    <dependency>
        <groupId>com.github.javafaker</groupId>
        <artifactId>javafaker</artifactId>
        <version>${java.faker}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
    <dependency>
        <groupId>com.aventstack</groupId>
        <artifactId>extentreports</artifactId>
        <version>${extent.reports}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.manybrain/mailinator-client -->
    <dependency>
        <groupId>com.manybrain</groupId>
        <artifactId>mailinator-client</artifactId>
        <version>${mailinator.version}</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.json/json -->
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20220924</version>
    </dependency>


    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.22</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>htmlunit-driver</artifactId>
        <version>4.8.0</version>
    </dependency>


    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>2.0.6</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-reload4j</artifactId>
        <version>2.0.6</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>5.2.0</version>
        <scope>test</scope>
    </dependency>


</dependencies>

<build>
    <resources>
        <resource>
            <directory>src/main/resources/scripts</directory>
            <excludes>
                <exclude>**/*.au3</exclude>
            </excludes>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven.compiler}</version>
            <configuration>
                <source>${maven.compiler.source}</source>
                <target>${maven.compiler.target}</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven.surefire}</version>
            <configuration>
                <suiteXmlFiles>
                    <!--suppress UnresolvedMavenProperty -->
                    <suiteXmlFile>${suiteXmlFiles}</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>

    </plugins>
</build>

`

因此,尝试构建/重建项目后的错误是:

java: cannot access org.openqa.selenium.HasDownloads class file for org.openqa.selenium.HasDownloads not found

将 DevTools 更新至版本 120 和/或 119:

import org.openqa.selenium.devtools.v119.network.Network; import org.openqa.selenium.devtools.v119.network.model.RequestId;

java selenium-webdriver google-chrome-devtools devtools
1个回答
0
投票

找到解决方案 - 只需在 pom.xml 依赖项中注释/删除 selenium-http-jdk-client 并重建项目

© www.soinside.com 2019 - 2024. All rights reserved.