docker swarm里搭建Selenium Grid分布式测试集群,测试节点随时在线,无需反复启停,效率增倍

embedded/2025/2/8 18:06:41/

分布式测试集群搭建

Selenium Grid 是 Selenium 生态系统中的关键组件,专为分布式测试设计,支持在多环境、多设备上并行执行测试用例,显著提升测试效率

核心组成:

  • Hub(中心节点):作为控制中枢,负责接收测试请求并将任务分发至符合条件的节点。通常运行在单一机器上。

  • Node(执行节点):实际执行测试的机器,可注册到 Hub。每个节点可配置不同的浏览器、版本及操作系统(如 Chrome on Windows、Firefox on macOS)。

docker_Swarm_9">docker Swarm里执行

先启动hub中心

docker service create \--name selenium-hub\--with-registry-auth\--network product_overlay_network \--replicas 1 \--constraint 'node.labels.jeecgcenter== true' \docker.m.daocloud.io/selenium/hub:latest

再启动node节点

docker service create \--name selenium-node-chromium \--network product_overlay_network \--replicas 1 \--constraint 'node.labels.jeecgcenter==true' \-e SE_EVENT_BUS_HOST=selenium-hub \--mount type=tmpfs,destination=/dev/shm,tmpfs-size=2g \-e SE_EVENT_BUS_PUBLISH_PORT=4442 \-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \docker.m.daocloud.io/selenium/node-chromium:latest

注意:swarm集群和 network网络请自行创建。

  • 子节点可以后面调整节点个数,默认为1个

效果展示:

启动8个节点的效果如下:

在这里插入图片描述

使用场景

  • 1.不同类型浏览器进行测试用例测试
  • 2.数据抓取的时候,使用该集群可以减少浏览器安装以及驱动配置支持selenium,playwright框架。

优势

可以指定任意数量的节点运行,
节点实时运行,不需要每次都启动停止浏览器,用完只需断开连接,后面继续使用连接上来就行,效率很高


http://www.ppmy.cn/embedded/160593.html

相关文章

Redis存储⑤Redis五大数据类型之 List 和 Set。

目录 1. List 列表 1.1 List 列表常见命令 1.2 阻塞版本命令 1.3 List命令总结和内部编码 1.4 List典型使用场景 1.4.1 消息队列 1.4.2 分频道的消息队列 1.4.3 微博 Timeline 2. Set 集合 2.1 Set 集合常见命令 2.2 Set 集合间命令 2.3 Set命令小结和内部编码 2.…

支持向量机(一)

支持向量机是典型的二分类模型,以其模型简单、实现简单、效果卓越而著称。 一元支持向量机 我们通过一条中间线根据特征对样本实现分类,很明显:两个支持样本的差别越大,两个支持样本的分类效果就越好。 二元支持向量机 在实际生…

chatGPT写的网页版贪吃蛇小游戏

chatGPT写的网页版贪吃蛇小游戏 前言网页版贪吃蛇小游戏 前言 之前无聊,让ChatGPT写了一段基于html语言的贪吃蛇小游戏代码 网页版贪吃蛇小游戏 将以下内容复制到记事本,重命名为xxx.html即可打开浏览器游玩 这里是一个使用HTML、CSS和JavaScript编写…

04. Flink的状态管理与容错机制

本文主要介绍下Flink中的状态种类,Flink的检查点机制,状态后端,端到端的一致性保证还有Flink的任务重启和恢复策略 1.Flink中的状态分类 flink的状态主要分为,KeyedState,OperatorState,BroadcastState三类…

ios应用想要下载到手机上只能苹果签名吗

ios APP想要下载到手机上有好几种方式,但是还是需要苹果签名的,苹果签名为ios应用的下载提供了最后一步的帮助,可以说苹果签名就是APP的终点站,是APP的核心。 第一种方式可以采取越狱的方式,但是我们也是知道的&#x…

Maven 依赖管理基础

Maven 是一个强大的构建工具,依赖管理是其核心功能之一。通过 Maven,开发者可以轻松管理项目中的外部库和框架的依赖,自动化地下载、更新和处理这些依赖。在本篇博客中,我们将深入探讨如何在 Maven 中管理项目的依赖,包…

tolua[一]框架搭建,运行example

一.安装tolua https://github.com/topameng/tolua 下载LuaFramework_UGUI的zip 将Assets目录拷贝到项目根目录下 提示确认注册,遇到这个对话框点确定即可 生成如下目录 二.LuaFramework->Build Windows Resource 接下来的目标是将这个main场景跑起来 需要先执行…

【开源免费】基于SpringBoot+Vue.JS健身房管理系统(JAVA毕业设计)

本文项目编号 T 180 ,文末自助获取源码 \color{red}{T180,文末自助获取源码} T180,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…