new AndroidDriver报错java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked
来源:互联网 发布:软件测试性能测试 编辑:程序博客网 时间:2024/05/18 01:45
在appium初始开发中,发现driver = new AndroidDriver(new URL(appiumServerUrl), capabilities);
语句报错,appium对应的driver session已经正常创建,app应用已经启动,但出现此报错无法继续操作。
java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked(Ljava/lang/Throwable;)V
java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked(Ljava/lang/Throwable;)V at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:176) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
对应maven 依赖如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <!-- <version>2.0.0.M2</version> --> <version>1.4.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <!-- <version>5.0.0-BETA9</version> --> <version>4.1.2</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <!-- <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> </exclusion> --> </exclusions> </dependency> </dependencies>
应该是jar依赖的问题,可能发送冲突,或者引入版本不对。查看
com.google.common.base.Throwables.throwIfUnchecked
经过错误位置检查发现此类和方法在
guava-19.0.jar依赖中,后面经过源码查看,确实该com.google.common.base下的类Throwables无此方法,应该是appium的一个bug。后面经过修改maven配置更新此jar包依赖到guava-22.0.jar后能正常创建AndroidDriver没有报错。
修改如下:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <!-- <version>5.0.0-BETA9</version> --> <version>4.1.2</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <!-- <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> </exclusion> --> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>22.0</version> </dependency>
阅读全文
3 0
- new AndroidDriver报错java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked
- selenium在firefox下运行junit4报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkAr
- selenium(webdriver)-safari:failed: java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.cre
- java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors
- strom和kafka整合报java.lang.ClassNotFoundException: com.google.common.base.Strings异常
- java.lang.NoClassDefFoundError: com/google/common/base/Charsets
- java.lang.NoClassDefFoundError: com/google/common/base/Charsets
- Caused by: java.lang.NoClassDefFoundError: com/google/common/base/Function
- 【Android学习笔记】NoSuchMethodError: com.google.common.base.CharMatcher.whitespace()
- java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet()异常解决思路
- 【软件测试】Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet
- JBOSS报错:com.google.common.collect.ComputationException: java.lang.ArrayIndexOutOfBoundsException: 3
- selenium实现时遇到java.lang.NotClassDefFoundError:com/google.common/base/Charsets异常
- Appium测试项目运行是报错“java.lang.NoClassDefFoundError: com/google/common/base/Function”
- Exception in thread “main” java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
- HBASE: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>
- Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function问题解决
- 解决storm整合kafka遇到的:java.lang.NoClassDefFoundError: com/google/common/base/Strings
- samba服务器的搭建与配置
- 几种压缩算法原理介绍
- javaWeb三大器之过滤器:Filter
- 2017.08.05总结
- android游戏开发入门: 贪吃蛇 源代码分析
- new AndroidDriver报错java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked
- YLBrower
- 在Intellij Idea中jstl声明报错解决
- Ajax进阶一
- curator对Zookeeper节点监听总结
- Spring-整合多个配置文件
- 编译器的安装
- CF Flag of Berland
- 改变 AfxMessageBox() 的标题