Appium+TestNG启动Android应用报错求助:找不到Rotatable类
问题原因
org.openqa.selenium.Rotatable是Selenium 3及更早版本中的接口,Selenium 4已将其移除。你的项目存在依赖版本不兼容问题:要么是Appium Java客户端依赖的Selenium版本与项目中引入的Selenium版本冲突,要么是使用了Selenium 4但Appium客户端仍依赖旧版Selenium API。- Appium无响应是因为测试代码在初始化阶段就抛出类找不到错误,根本没成功与Appium服务建立连接,所以Appium未收到任何请求,自然无响应。
解决方案
- 统一依赖版本
确保Appium Java客户端与Selenium版本兼容:Appium Java Client 8.x适配Selenium 4,Appium Java Client 7.x对应Selenium 3。
以Maven为例,在pom.xml中明确指定兼容版本,无需单独引入Selenium(Appium客户端会自动引入兼容版本):<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>8.5.1</version> </dependency> - 清理冲突依赖
用mvn dependency:tree命令查看项目依赖树,移除过时的Selenium依赖,排除版本冲突的包。 - 更新代码适配新API
如果代码中直接使用了Rotatable接口的方法(如屏幕旋转),替换为Appium 8+的新API:// 旧代码(Selenium 3) ((Rotatable) driver).rotate(ScreenOrientation.LANDSCAPE); // 新代码(Appium 8+) driver.rotate(ScreenOrientation.LANDSCAPE); - 验证Appium服务配置
确保Appium服务正常启动(执行appium命令后控制台显示启动成功日志),同时检查测试代码中的Desired Capabilities配置是否正确(包含appPackage、appActivity等必要参数)。
内容的提问来源于stack exchange,提问作者Heena Sawlani
相关产品推荐
相关产品推荐

