selenium/node-chromiumSelenium Grid Chromium Node 镜像提供了一个集成了 Chromium 浏览器的 Selenium Grid Node 节点,旨在与 Selenium Grid Hub 配合使用,实现 WebDriver 测试的远程分布式执行。
该镜像允许用户在容器化环境中运行基于 Chromium 浏览器的自动化测试,无需在本地环境安装和配置浏览器及驱动程序。
首先创建一个专用网络,使 Hub 和 Node 能够相互通信:
bashdocker network create grid
使用创建的网络启动 Selenium Hub:
bashdocker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest
Linux/macOS 命令:
bashdocker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ selenium/node-chromium:latest
Windows PowerShell 命令:
powershelldocker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` selenium/node-chromium:latest
将 WebDriver 测试指向 Grid Hub 地址:http://localhost:4444
可通过 VNC 连接查看容器内浏览器操作:
http://localhost:7900/?autoconnect=1&resize=scale&password=secretsecret| 环境变量 | 描述 | 默认值 |
|---|---|---|
| SE_EVENT_BUS_HOST | Selenium Hub 主机名 | - |
| SE_EVENT_BUS_PUBLISH_PORT | Hub 事件总线发布端口 | 4442 |
| SE_EVENT_BUS_SUBSCRIBE_PORT | Hub 事件总线订阅端口 | 4443 |
测试完成后,可使用以下命令清理资源:
bash# 停止并删除容器 docker stop selenium-hub docker rm selenium-hub # 删除网络 docker network rm grid
为确保环境一致性,推荐使用特定版本标签而非 latest。标签命名规则如下:
selenium/node-chromium-<主版本>.<次版本>.<补丁版本>-<发布日期>
selenium/node-chromium-<浏览器版本>-<驱动名称>-<驱动版本>-<Grid版本>-<发布日期>
# 基础标签 selenium/node-chromium-4.9.0-20230426 # 包含浏览器和驱动信息的标签 selenium/node-chromium-112.0-chromedriver-112.0-grid-4.9.0-20230426
更多标签信息请参考 Selenium Docker 镜像标签约定。
--shm-size="2g" 参数以确保浏览器正常运行latest,避免因自动更新导致环境变化有关高级配置和更多使用场景,请参考 Docker-Selenium 项目 GitHub 仓库。
本项目基于 Apache License 2.0 开源许可协议。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务