selenium/distributor该镜像提供Selenium Grid Distributor组件,需与Selenium分布式网格的其他组件配合使用。这些组件共同协作,使您能够远程运行WebDriver测试。
分布式模式专为大型网格设计,其优势在于可更精细地分配CPU和RAM资源,实现更优的性能调优。
该镜像需与其他分布式组件一起运行。由于分布式网格至少由6个不同镜像(Router、Session Queue、Distributor、Event Bus、Session Map和Nodes)组成,以下通过docker-compose.yml文件展示完整示例以简化配置。
yml# 要执行此docker-compose文件,请使用`docker-compose -f docker-compose-v3-full-grid.yml up` # 末尾添加`-d`标志可后台运行 # 要停止执行,按Ctrl+C,然后执行`docker-compose -f docker-compose-v3-full-grid.yml down` version: "3" services: selenium-event-bus: image: selenium/event-bus:latest container_name: selenium-event-bus ports: - "4442:4442" - "4443:4443" - "5557:5557" selenium-sessions: image: selenium/sessions:latest container_name: selenium-sessions ports: - "5556:5556" depends_on: - selenium-event-bus environment: - SE_EVENT_BUS_HOST=selenium-event-bus - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: image: selenium/session-queue:latest container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: image: selenium/distributor:latest container_name: selenium-distributor ports: - "5553:5553" depends_on: - selenium-event-bus - selenium-sessions - selenium-session-queue environment: - SE_EVENT_BUS_HOST=selenium-event-bus - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_SESSIONS_MAP_HOST=selenium-sessions - SE_SESSIONS_MAP_PORT=5556 - SE_SESSION_QUEUE_HOST=selenium-session-queue - SE_SESSION_QUEUE_PORT=5559 selenium-router: image: selenium/router:latest container_name: selenium-router ports: - "4444:4444" depends_on: - selenium-distributor - selenium-sessions - selenium-session-queue environment: - SE_DISTRIBUTOR_HOST=selenium-distributor - SE_DISTRIBUTOR_PORT=5553 - SE_SESSIONS_MAP_HOST=selenium-sessions - SE_SESSIONS_MAP_PORT=5556 - SE_SESSION_QUEUE_HOST=selenium-session-queue - SE_SESSION_QUEUE_PORT=5559 chrome: image: selenium/node-chrome:latest shm_size: 2gb depends_on: - selenium-event-bus environment: - SE_EVENT_BUS_HOST=selenium-event-bus - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: image: selenium/node-edge:latest shm_size: 2gb depends_on: - selenium-event-bus environment: - SE_EVENT_BUS_HOST=selenium-event-bus - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: image: selenium/node-firefox:latest shm_size: 2gb depends_on: - selenium-event-bus environment: - SE_EVENT_BUS_HOST=selenium-event-bus - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
启动完整的compose文件后,将WebDriver测试指向http://localhost:4444即可。
上述示例使用
latest标签,建议使用完整标签固定特定浏览器和Grid版本。详情请参见标签约定。
标签结构如下:
selenium/session-queue-<主版本>.<次版本>.<补丁版本>-<发布日期>
Selenium Server 4.9.0 发布日期 20230426 e***f151e selenium/distributor 4 e***f151e selenium/distributor 4.9 e***f151e selenium/distributor 4.9.0 e***f151e selenium/distributor 4.9.0-20230426
通过上述标签结构,您可以使用不同标签获取特定版本或最新发布版本。
GitHub上的Docker-Selenium项目提供了详细的README,帮助您根据具体场景正确部署和运行镜像。
本项目由志愿者贡献者投入数千小时开发,源代码根据Apache License 2.0开源。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务