You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Appium访问us.justdial.com超时失败问题排查求助

解决Android Chrome自动化中的ADB超时与页面跳转问题

我来帮你一步步排查这个ADB超时的问题,结合你用到的Selenium Oxygen 2、Appium 1.7.1和Android 6.0.1设备的情况,梳理几个针对性的解决方向:

1. 确认ChromeDriver与Chrome版本的精确匹配

你提到已经更新了ChromeDriver,但一定要注意版本必须完全对应——设备上安装的Chrome版本,要和你使用的ChromeDriver版本严格匹配(比如Chrome 68对应ChromeDriver 68.0.3440.75)。可以按以下步骤验证:

  • 在设备的Chrome浏览器中打开chrome://version,查看准确的版本号
  • 下载对应版本的ChromeDriver替换现有驱动
  • 注意:Appium 1.7.1对新版本ChromeDriver兼容性有限,建议选择Chrome 60-70区间的对应驱动,适配性会更好

2. 延长ADB命令超时时间

ADB默认超时时间较短,很容易在页面加载慢的时候触发失败。你可以通过两种方式调整:

  • 在Desired Capabilities中添加超时配置(以Java为例):
DesiredCapabilities caps = new DesiredCapabilities();
// 设置ADB执行超时为30秒(30000毫秒)
caps.setCapability("adbExecTimeout", 30000);
  • 或者启动Appium服务器时添加参数:--adb-exec-timeout 30000

3. 强制Chrome在当前标签打开URL

页面刷新后跳转到新标签,可能是网站的跳转逻辑或Chrome默认设置导致的,你可以通过ChromeOptions强制在当前标签加载:

ChromeOptions chromeOpts = new ChromeOptions();
// 禁用弹窗拦截,避免跳转触发新标签
chromeOpts.addArguments("--disable-popup-blocking");
// 强制使用当前窗口打开链接
chromeOpts.addArguments("--no-new-window");
caps.setCapability(ChromeOptions.CAPABILITY, chromeOpts);

如果设备可以手动操作,也可以在Chrome的设置里关闭“打开链接时在新标签页中打开”的选项。

4. 检查Appium与Android SDK的兼容性

Appium 1.7.1属于较旧版本,要确保你的Android SDK Build Tools版本和它兼容:

  • Appium 1.7.1推荐搭配Android SDK Build Tools 26.x或27.x版本
  • 避免使用过高版本的Build Tools,否则可能出现ADB通信异常

5. 排查设备连接稳定性

ADB超时很多时候和设备连接不稳定有关,试试这些操作:

  • 更换一根质量可靠的USB数据线,确保连接紧密
  • 在设备上确认开启了“USB调试”,如果有“允许模拟位置”选项也一并开启
  • 重启ADB服务:依次执行adb kill-server和adb start-server
  • 检查设备状态:执行adb devices,确保设备状态显示为device,而非unauthorized

6. 调整Appium版本

Appium 1.7.1存在一些已知的Chrome自动化bug,你可以尝试:

  • 升级到Appium 1.8.x版本(这个版本对Android 6.0的支持相对稳定)
  • 或者降级到Appium 1.6.x版本,某些场景下兼容性可能更好
  • 注意调整版本后要重新配置环境,确保所有依赖项适配

如果以上方法都没有解决问题,建议补充更详细的错误日志(比如具体是哪条ADB命令超时),以及你的Desired Capabilities配置,这样能更精准地定位问题。

内容的提问来源于stack exchange,提问作者Vaibhav Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:22:00