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

Appium+Java安卓模拟器测试报Can't stop process错误如何解决

错误根因分析

该报错本质是chromedriver进程启动失败,Appium在会话初始化失败后尝试终止不存在的chromedriver进程触发报错,常见诱因如下:

  • chromedriver版本与模拟器内置Chrome浏览器版本不匹配:安卓9系统自带Chrome大版本通常为70-73区间,若本地使用的chromedriver版本不在对应兼容区间,会直接启动失败,无运行中的进程供Appium终止。
  • chromedriver路径配置错误或无执行权限:代码中配置的chromedriverExecutable路径与实际文件存放路径不一致,或是Windows系统权限限制,导致Appium无法拉起chromedriver.exe进程。
  • 端口被占用:日志显示chromedriver尝试绑定8000端口,若该端口被残留的chromedriver进程或其他服务占用,会直接导致进程启动失败。
  • 配置冲突:新增的w3c: false配置与当前使用的Selenium 3.141.59、Appium服务版本不适配,导致chromedriver启动参数异常。
解决方案
  • 匹配驱动版本:打开安卓模拟器,进入「设置-应用-查看全部应用-找到Chrome」,查看其具体版本号,下载对应大版本的chromedriver替换项目resources目录下的exe文件即可,安卓9对应Chrome版本通常适配chromedriver 2.46~73.x区间。
  • 校验路径与权限:将代码中配置的chromedriver绝对路径复制到Windows资源管理器地址栏,确认可正常定位到exe文件;若路径正确,右键点击chromedriver.exe,选择「属性-安全」,给当前登录用户添加「读取和执行」权限。
  • 清理端口占用与残留进程:打开Windows任务管理器,结束所有运行中的chromedriver.exe进程;再打开CMD执行netstat -ano | findstr "8000",若有进程占用8000端口,执行taskkill /f /pid [对应PID]杀掉进程,也可以在capability中新增配置cap.setCapability("chromedriverPort", 9515);切换为chromedriver默认的9515端口避免冲突。
  • 调整适配配置:删除cap.setCapability("appium:chromeOptions", ImmutableMap.of("w3c", false));这行配置,Selenium 3.141.59默认兼容W3C协议,强制关闭反而会触发版本适配问题。
  • 前置验证:修改完配置后,双击启动本地的chromedriver.exe,若无闪退、控制台输出端口监听日志,说明驱动本身可正常运行,再执行测试即可。

内容的提问来源于stack exchange,提问作者Asanga Korala

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:15:07