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

求助:Laravel中Android WebDriver无法创建会话报错的解决方法

Android Web自动化测试会话创建失败的解决方案

看起来你遇到的是Android端Web自动化会话创建失败的问题,结合你的环境配置和报错信息,我帮你梳理几个关键的排查和解决步骤:

1. 确认ChromeDriver与Android设备Chrome版本严格匹配

这是最常见的问题,Selenium/ChromeDriver对版本匹配要求极高:

  • 打开Android设备上的Chrome,进入「设置」→「关于Chrome」,查看当前Chrome的版本号(比如118.0.5993.117)
  • 下载对应版本的ChromeDriver for Android(注意要匹配设备的CPU架构,比如arm64、x86等),下载后放到本地容易访问的路径

2. 补全DesiredCapabilities配置

你当前的capabilities只指定了Android平台,但缺少浏览器类型、设备信息、ChromeDriver路径等关键参数,修改后的PHP代码示例如下:

$host = 'http://localhost:4444/wd/hub';
$capabilities = [
    'browserName' => 'chrome',
    'platformName' => 'Android',
    'deviceName' => 'emulator-5554', // 替换为你的设备名称,通过`adb devices`命令获取
    'chromedriverExecutable' => 'D:/tools/chromedriver.exe', // 替换为你下载的ChromeDriver路径
    'appPackage' => 'com.android.chrome',
    'appActivity' => 'com.google.android.apps.chrome.Main'
];
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
$driver->get('https://www.seleniumhq.org/');

3. 确保Android设备已正确连接

  • 运行命令 adb devices,确认终端输出里能看到你的Android设备(真机需开启USB调试,模拟器需正常启动)
  • 如果adb devices无输出,检查Android Studio的ADB配置,或重启设备/ADB服务(adb kill-server + adb start-server)

4. 考虑使用Appium替代单纯的Selenium Server

Selenium原生对移动端的支持有限,Appium是专门针对移动端自动化的工具,兼容Selenium协议,步骤如下:

  • 通过npm安装Appium:npm install -g appium
  • 启动Appium服务:直接在终端运行appium(默认端口4723)
  • 修改代码中的host为 http://localhost:4723/wd/hub,同时使用上面补全后的capabilities配置

按照以上步骤排查后,应该能解决会话创建失败的问题,如果还有疑问,可以补充设备Chrome版本、ADB连接状态等信息进一步排查。

内容的提问来源于stack exchange,提问作者Choi yun seok

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:19:31