本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

session-queue Docker 镜像下载 - 轩辕镜像

session-queue 镜像详细信息和使用指南

session-queue 镜像标签列表和版本信息

session-queue 镜像拉取命令和加速下载

session-queue 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

session-queue
selenium/session-queue

session-queue 镜像详细信息

session-queue 镜像标签列表

session-queue 镜像使用说明

session-queue 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Selenium Grid会话队列模式镜像,用于管理分布式测试环境中的测试会话排队与分配,优化资源利用,支持并行测试执行。
3 收藏0 次下载activeselenium镜像

session-queue 镜像详细说明

session-queue 使用指南

session-queue 配置说明

session-queue 官方文档

Selenium Grid SessionQueue Docker镜像文档

镜像概述和主要用途

本镜像提供Selenium Grid SessionQueue组件,用于Selenium分布式Grid架构中。该组件需与分布式Grid的其他组件(Router、Distributor、Event Bus、Session Map、Nodes等)配合使用,共同实现WebDriver测试的远程执行功能。

核心功能和特性

核心功能

  • 管理WebDriver测试会话的排队机制,确保测试请求在节点资源不足时有序等待
  • 与分布式Grid其他组件协同工作,接收来自Distributor的会话请求并进行队列管理
  • 维护会话请求的优先级和顺序,避免资源竞争和请求冲突

特性

  • 适配Selenium Grid分布式模式,支持大规模测试场景
  • 轻量级设计,专注于会话队列管理,资源占用低
  • 与Event Bus、Session Map等组件松耦合,便于独立扩展和维护

使用场景和适用范围

适用场景

  • 大规模WebDriver测试执行:当并发测试请求数量超过当前可用节点容量时,通过队列机制平滑处理请求峰值
  • 资源精细化管理:在分布式Grid环境中,配合其他组件实现CPU、RAM资源的动态分配
  • 稳定性保障:避免因瞬间大量请求导致Grid组件过载或测试失败

适用范围

  • 需要并行执行大量Web自动化测试的团队或组织
  • 基于Selenium Grid构建的持续集成/持续部署(CI/CD)流程
  • 对测试执行稳定性和资源利用率有较高要求的自动化测试架构

详细使用方法和配置说明

Docker Compose部署示例

SessionQueue组件需与分布式Grid的其他组件协同运行,以下是完整的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:
  # 事件总线:协调Grid各组件间通信
  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"  # Grid对外服务端口
    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
  chrome:
    image: selenium/node-chrome:latest
    shm_size: 2gb  # 共享内存大小,避免Chrome崩溃
    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
  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
  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

部署步骤

  1. 将上述配置保存为docker-compose-v3-full-grid.yml
  2. 启动Grid集群:
    bash
    docker-compose -f docker-compose-v3-full-grid.yml up
    
    如需后台运行,添加-d参数:
    bash
    docker-compose -f docker-compose-v3-full-grid.yml up -d
    
  3. 访问Grid控制台:打开浏览器访问http://localhost:4444
  4. 停止集群:
    bash
    docker-compose -f docker-compose-v3-full-grid.yml down
    

镜像标签选择

标签结构

SessionQueue镜像标签遵循以下格式:

selenium/session-queue-<Major>.<Minor>.<Patch>-<YYYYMMDD>

标签示例(以Selenium Grid 4.9.0版本为例,发布日期20230426)

标签格式说明
4最新的4.x系列版本
4.9最新的4.9.x系列版本
4.9.0特定版本4.9.0
4.9.0-20230426包含发布日期的精确版本(推荐用于生产环境)

使用建议

  • 生产环境推荐使用包含完整版本号和日期的标签(如4.9.0-20230426),避免因latest标签自动更新导致兼容性问题
  • 开发环境可使用主版本或次版本标签(如44.9),快速获取最新特性

完整文档与许可证

完整文档

有关Selenium Docker镜像的更多详细信息,请参考GitHub项目README。

许可证

本项目源代码基于Apache License 2.0开源协议发布,由志愿者贡献者开发维护。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"