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

使用Appium在安卓模拟器运行Chrome浏览器的报错排查及解决

从提供的Appium服务端日志可100%确认,报错的核心原因是当前运行的安卓模拟器未安装Chrome浏览器,日志中明确输出了[debug] [ADB] 'com.android.chrome' is not installed的检测结果,后续的会话创建失败、'app' option is required for reinstall报错都是基于这个前提触发的。

验证方法

你可以手动执行ADB命令二次确认Chrome的安装状态:

adb -s emulator-5554 shell dumpsys package com.android.chrome

如果命令执行后无任何应用包信息输出,即可确认模拟器未安装Chrome。

修复方案

方案1:手动安装Chrome到模拟器

  • 下载和模拟器安卓版本、CPU架构匹配的Chrome APK安装包(x86/x86_64架构的模拟器需下载对应x86版本的APK,避免安装失败)
  • 确保模拟器处于运行状态,执行ADB安装命令:
    adb install /本地路径/Chrome安装包.apk
    
  • 安装完成后手动打开一次Chrome,完成初始引导设置,避免自动化运行时弹出引导页阻断执行

方案2:修改配置让Appium自动安装Chrome

在现有Capability配置中新增app参数,值为本地Chrome APK的绝对路径,Appium启动会话时会自动完成安装,修改后的代码示例如下:

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "EmulatorName");
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
// 新增app配置,指定Chrome APK本地路径
cap.setCapability(MobileCapabilityType.APP, "/Users/test/Downloads/chrome.apk");
cap.setCapability("appium:chromeOptions", ImmutableMap.of("w3c", false));
cap.setCapability("chromedriverExecutable", "/Users/test/Downloads/chromedriver");

driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
注意事项
  • 已配置的chromedriverExecutable版本必须和模拟器安装的Chrome大版本完全匹配,否则会触发版本不兼容报错。可在Chrome设置的「关于Chrome」页面查看版本号,下载对应版本的ChromeDriver即可。
  • 不要使用模拟器自带的默认浏览器,其包名和Chrome不同,无法被BROWSER_NAME=Chrome的配置识别。

内容的提问来源于stack exchange,提问作者Gaj Julije

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:01