Appium 2无法通过Java代码连接服务器问题求助
解决Selenium 4 + Appium 2 Java测试无法连接真机的问题
针对升级到Selenium 4、Appium 2后,Java测试无法连接真机(Android/iOS均失效)但Appium Inspector可正常连接的问题,以下是具体排查和解决建议:
1. 确认Appium 2驱动已正确安装
Appium 2不再默认内置驱动,需手动安装对应平台的驱动:
- 查看已安装驱动:
appium driver list - 安装Android驱动:
appium driver install uiautomator2 - 安装iOS驱动:
appium driver install xcuitest
确保驱动版本与Appium 2、Xcode/Android SDK版本适配。
2. 修正Driver初始化的连接URL
Appium 2与Selenium 4的客户端连接路径可能存在兼容问题,尝试将连接URL从http://127.0.0.1:4723/修改为http://127.0.0.1:4723/wd/hub:
return new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), options);
(Android端同理修改AndroidDriver的连接URL)
3. 匹配Appium Java客户端版本
Selenium 4.5.3需搭配适配Appium 2的Java客户端版本(建议8.x及以上),检查项目依赖中的io.appium:java-client版本,确保与Appium 2兼容。
4. 补充/修正Capabilities参数
- iOS端:确认
platformName值为iOS(严格大写),检查XcodeCertificate的证书ID和类型是否正确,确保真机已信任该开发证书(设置→通用→设备管理中信任)。 - Android端:使用
UiAutomator2Options替代旧的DesiredCapabilities,确保设置了appPackage、appActivity等必要参数,且真机已开启USB调试、允许调试权限。
5. 调整Appium Server启动参数
在启动命令中添加调试和权限相关参数,排查具体错误:
appium server --address 127.0.0.1 --allow-cors --relaxed-security --log-level debug
查看服务器端的debug日志,可定位到会话创建失败的具体原因(如驱动启动失败、证书验证错误、设备权限不足等)。
6. 检查Selenium与Appium版本兼容性
确认Selenium 4.5.3与当前使用的Appium 2版本无兼容性冲突,可尝试将Selenium升级至4.8.x及以上版本,或调整Appium 2到稳定版本。
内容的提问来源于stack exchange,提问作者iMat
相关产品推荐
相关产品推荐

