Lando环境下Drupal10集成Behat+Selenium4会话超时问题求助
解决方案:Lando环境下Drupal10 + Behat + Selenium4集成问题排查
一、核心兼容问题说明
Behat的MinkExtension从v2.7+开始支持Selenium4,完全不能沿用selenium2配置节点,旧配置与Selenium4不兼容,这是触发后续错误的核心原因之一。
二、修正Behat配置适配Selenium4
标准Behat.yml配置示例(适配Lando环境)
default: suites: default: contexts: - Drupal\DrupalExtension\Context\DrupalContext - Drupal\DrupalExtension\Context\MinkContext - Drupal\DrupalExtension\Context\MessageContext extensions: Drupal\DrupalExtension: blackbox: ~ api_driver: 'drupal' drupal: drupal_root: './web' Behat\MinkExtension: base_url: "http://your-drupal-site.lndo.site" # 替换为你的Lando站点域名 sessions: default: selenium4: browser: chrome capabilities: browserName: chrome goog:chromeOptions: args: - "--headless=new" # Selenium4推荐的无头模式参数,旧--headless已废弃 - "--no-sandbox" - "--disable-dev-shm-usage" wd_host: "http://selenium:4444/wd/hub" # 用Lando服务名替代固定IP,避免IP动态变动问题
关键配置要点:
- 替换原
selenium2节点为selenium4 - 禁止使用固定IP访问Selenium,直接用Lando服务名(如
selenium),依赖Lando内部DNS解析容器动态IP - 确保Chrome启动参数为Selenium4兼容的新版本格式
三、修正Lando的Selenium服务配置
在.lando.yml中配置兼容Selenium4的官方镜像,保证Chrome、Chromedriver版本匹配:
services: selenium: type: compose services: image: selenium/standalone-chrome:4.16.0-20240123 # 选择对应Chrome版本的镜像,需与容器内版本一致 ports: - "4444:4444" - "7900:7900" # 可选,VNC端口用于可视化查看浏览器 command: /opt/bin/entry_point.sh
要点:
- 必须使用Selenium4官方镜像,禁止混用Selenium3镜像
- 镜像版本需与容器内Chrome、Chromedriver主版本完全一致,避免版本不匹配报错
四、排查网络与Chromedriver 500错误
ping不通固定IP问题
- Lando容器IP为动态分配,重启服务后会变动,禁止用固定IP访问Selenium,改用服务名
selenium即可 - 测试连通性可在Lando app容器内执行
ping selenium
- Lando容器IP为动态分配,重启服务后会变动,禁止用固定IP访问Selenium,改用服务名
Chromedriver HTTP 500错误
- 优先检查版本匹配:执行
docker exec -it <selenium容器ID> google-chrome --version和docker exec -it <selenium容器ID> chromedriver --version,确保主版本完全一致 - 检查Chrome启动参数:替换旧的
--headless为--headless=new - 权限问题:添加
--no-sandbox和--disable-dev-shm-usage参数解决容器内Chrome启动权限限制
- 优先检查版本匹配:执行
五、验证步骤
- 重启Lando服务:
lando rebuild -y - 进入app容器:
lando ssh - 测试Selenium连通性:
curl http://selenium:4444/wd/hub/status,返回JSON状态信息则服务正常 - 运行Behat测试:
./vendor/bin/behat
内容的提问来源于stack exchange,提问作者phpwebdev
相关产品推荐
相关产品推荐

