描述: 下面是简单的AppiumDriver初始化代码,它始终失败 以下错误(独立是否存在maven依赖关系中的硒)
试验:
@Test
public void testSomething() throws MalformedURLException {
AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), new DesiredCapabilities());
driver.quit();
}
}
https://www.refheap.com/d0ec095c62d8061ac2cef768d
输出错误:
java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
https://www.refheap.com/b71dbf880e1c997b3a885c13d
的pom.xml:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>3.2.0</version>
</dependency>
//Here was 2 cases: with and without selenium dependency
//both was not helpful
有趣: 如果我在提到的测试所在的同一个项目中创建了没有appium的简单Selenide \ selenium测试 - 所有测试都正常工作
我做了什么: maven .m2文件夹清理 - 没有帮助, 导入\删除selenium java客户端 - 没有帮助, 创建干净的项目 - 没有帮助,
有谁知道出了什么问题?
答案 0 :(得分:0)
我看到appium java-client已经在它的pom文件(https://github.com/appium/java-client/blob/master/pom.xml)中包含对selenium selenium-java 2.47.1的依赖。
当jar中相同类之间发生冲突时,可能会抛出NoClassDefFoundError。
我建议您删除
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.47.1</version>
</dependency>
从你的pom 尝试运行它。我希望它有所帮助。
答案 1 :(得分:0)
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.47.1</version>
</dependency>
在你的pom.xml中使用它