求助: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
相关产品推荐
相关产品推荐

