IOS 驱动程序创建没有 class 定义错误
No class definition error with IOS driver creation
我在尝试 运行 一些代码来设置用于 Appium 的 IOSDriver 时遇到 org.openqa.selenium.remote.JsonToWebElementConverter 的 NoClassDefFound 错误。到目前为止,我要做的就是设置功能并打开驱动程序。但是,错误发生在驱动程序初始化行上。
到目前为止,我已尝试将 org.openqa.selenium.remote.JsonToWebElementConverter 导入 class,但仍然出现相同的错误。我的 Eclipse 指向正确的 JDK 并且 Java 已正确安装。我相信我也有所有的依赖关系。
依赖关系:
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
</dependency>
<dependency>
<groupId>com.github.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
</dependency>
</dependencies>
我正在尝试设置驱动程序。
try {
IOSDriver driver = new IOSDriver(new URL("http://localhost:4723/wd/hub"),capabilites);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
产生错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/internal/JsonToWebElementConverter
在 appiumtests.BaseIOTest.main(BaseIOTest.java:31)
原因:java.lang.ClassNotFoundException:org.openqa.selenium.remote.internal.JsonToWebElementConverter
在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 1 个
selenium 依赖性存在问题。
Appium 7.6 使用 selenium 版本 3.141.59
,而您添加了 selenium 4.1.1
,因此它们不兼容。
1 尝试从 pom 中删除对 selenium 的依赖。
2只留下
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
</dependency>
用于 appium java 客户端。
我在尝试 运行 一些代码来设置用于 Appium 的 IOSDriver 时遇到 org.openqa.selenium.remote.JsonToWebElementConverter 的 NoClassDefFound 错误。到目前为止,我要做的就是设置功能并打开驱动程序。但是,错误发生在驱动程序初始化行上。
到目前为止,我已尝试将 org.openqa.selenium.remote.JsonToWebElementConverter 导入 class,但仍然出现相同的错误。我的 Eclipse 指向正确的 JDK 并且 Java 已正确安装。我相信我也有所有的依赖关系。
依赖关系:
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
</dependency>
<dependency>
<groupId>com.github.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
</dependency>
</dependencies>
我正在尝试设置驱动程序。
try {
IOSDriver driver = new IOSDriver(new URL("http://localhost:4723/wd/hub"),capabilites);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
产生错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/internal/JsonToWebElementConverter
在 appiumtests.BaseIOTest.main(BaseIOTest.java:31) 原因:java.lang.ClassNotFoundException:org.openqa.selenium.remote.internal.JsonToWebElementConverter 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ... 1 个
selenium 依赖性存在问题。
Appium 7.6 使用 selenium 版本 3.141.59
,而您添加了 selenium 4.1.1
,因此它们不兼容。
1 尝试从 pom 中删除对 selenium 的依赖。
2只留下
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
</dependency>
用于 appium java 客户端。