java - 代码错误“org.openqa.selenium.remote.DriverCommand.NEW_SESSION”
问题描述
我的 java 程序出现以下错误:-
Exception in thread "main" java.lang.NoSuchMethodError: org.openqa.selenium.remote.DriverCommand.NEW_SESSION(Lorg/openqa/selenium/Capabilities;)Lorg/openqa/selenium/remote/CommandPayload;
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:211)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:147)
at automation.flyYatra.mainTest(flyYatra.java:42)
at automation.flyYatra.main(flyYatra.java:243)
尝试添加最新的 jar 文件,如下面的快照所示,但无法解决。请问有什么帮助吗?
包装自动化;
public class flyYatra {
public void mainTest() throws IOException, InterruptedException, WebDriverException, SocketException {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Downloads\\Driver\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--incognito");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(capabilities);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
尝试了各种版本的jar文件,但无法解决
解决方案
您various versions of jar files
的问题被称为JAR Hell,因为在CLASSPATH中有多个具有相同类的库,并且类加载的顺序取决于底层操作系统和库的位置。
确保拥有相同版本的 Selenium Java 库,更具体地说,最新的是3.141.59
所以我建议使用像Apache Maven这样的依赖管理解决方案,你应该使用这个小的pom.xml文件来获得一些东西
<?xml version="1.0" encoding="UTF-8"?>
<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>com.example</groupId>
<artifactId>selenium-java</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
</project>
将它保存在磁盘上的某个位置并执行mvn dependency:copy-dependencies命令 - 它会将一堆“好”的 .jar 下载到“target/dependencies”文件夹。
您还可以使用Selenium with Java文章中提到的这个存储库作为测试的基础
推荐阅读
- python - 调用 CreateProcess 失败。错误代码:2(TensorFlow)
- django - 检查令牌是否存在
- prometheus - Tomcat 9 中的 jmx_exporter 在 catalina.out 中报告错误
- mariadb - Not able to drop field in MariaDB table
- android - How to manage Flutter dependencies' dependencies?
- reactjs - React useState 在通过传播引用克隆数组时不会重新渲染
- video - Autoplay Drive embedded video after clicking on image
- python - Python:使用 OpenCV 从左上角到右下角对项目进行排序
- html - How to get my sub-menus to expand upwards?
- html - Responsivity Misconfiguration