AndroidDriver抛出ClassNotFoundException的问题排查及解决
解决Appium初始化AndroidDriver时的ClassNotFoundException问题
问题场景
你在跟着Appium教程编写测试脚本时,卡在了驱动初始化这一步——当执行代码:
AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(caps);
时,一直抛出ClassNotFoundException。
你已经尝试过:
- 手动将
java-client-6.0.0-BETA2.jar添加到项目构建路径 - 解决了之前的
import io无法解析问题 - 将项目转为Maven项目,并在pom.xml中添加java-client依赖:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>6.0.0-BETA2</version> </dependency>
- 执行
mvn verify clean重新构建
但以上操作都没能解决这个类找不到的问题。
最终解决方案
经过咨询Appium支持团队,得到了关键提示:
Selenium需要Guava库在类路径中
你需要在pom.xml中添加Guava的依赖包。这里有两个版本可选,注意区分场景:
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <!-- 常规Java项目用这个版本 --> <version>23.6-jre</version> <!-- 如果你是Android项目,替换为这个版本: <version>23.6-android</version> --> </dependency>
需要注意的是,如果你一开始尝试了Android版本的Guava出现其他错误,切换为常规JRE版本就能解决问题。
内容的提问来源于stack exchange,提问作者Steve Staple
相关产品推荐
相关产品推荐

