我有一个Spring Boot 应用程序,我想用Selenium测试它。我使用WebDriverManager v5.0.3
设置WebDriver WebDriverManager.chromedriver().setup();
时出现异常:
java.lang.NoClassDefFoundError: org/openqa/selenium/internal/Require
或
java.lang.ClassNotFoundException: org.openqa.selenium.internal.FindsById
我的pom.xml包含以下内容:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.0.3</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>4.1.0</version>
</dependency>
4条答案
按热度按时间ymzxtsji1#
WebDriverManager v5.0.3和Selenium v4之间存在不兼容性。将Selenium降级到最新的v3 subversion后,一切正常。
**更新:**截至下面的评论,它与WebDriverManager〉=v5.1.0一起工作
z31licg02#
您可以将资源库与项目一起检查。
我也面临这个问题,最后我发现在我的maven项目中,selenium的依赖关系库没有相同的版本。
我创建了一个新的项目,使用Gradle而不是Maven与 selenium 4.0.0,它的工作很好。
所以我检查了不正确的库,并手动调整到与我的pom.xml中的selenium-java库相同的版本。最后它工作了。
顺便说一句:mvn清洁安装不为我工作。
tvokkenx3#
将版本更改为4**或将此依赖项添加到pom文件后,需要在
pom.xml
文件所在的同一目录上执行mvn clean compile
命令。pbgvytdp4#
最新的Selenium 4.6.0与Web驱动程序管理器5不兼容。因此,您需要将Web驱动程序管理器降级到4.4.3。这是5.0之前的最后一个稳定版本。将其降级,它将正常工作