docker selenium grid2 环境搭建

使用Docker部署Selenium Grid服务 ddd 阅读详情

目录

selenium grid2环境搭建

使用docker构建selenium grid分布式环境


selenium grid2环境搭建

Selenium Grid实际它是基于Selenium RC的,而所谓的分布式结构就是由一个hub节点和若干个node代理节点组成。Hub用来管理各个代理节点的注册信息和状态信息,并且接受远程客户端代码的请求调用,然后把请求的命令转发给代理节点来执行。下面结合环境部署来理解Hub与node节点的关系。

环境依赖: Java1.8 运行环境

       选择最新版本的server进行下载

  • 第二步、使用命令启动hub
    下载之后,放置到任意目录,并执行命令 java -jar selenium-server-standalone-3.12.0.jar -role hub,如下图所示,其中

     

  • 第三步、使用命令启动node
    还是使用selenium-server-standalone-3.12.0.jar, 执行命令  

    java -jar selenium-server-standalone-3.12.0.jar -role node -hub http://192.168.xx.xx:4444/grid/register/ -browser browserName=chrome,maxInstances=5 -port 5557

       这里注意下,相应的selenium浏览器驱动比如chromedriver, 必须跟 selenium-server-standalone-xxx-jar 放在同一目录下

  • 命令选项请参考

 

  • 第四步、打开console页面检查

http://192.168.78.12:xxx/grid/console

 

使用docker构建selenium grid分布式环境

docker hub(仓库):

https://hub.docker.com/r/selenium/hub/

 

1、下载主hub镜像

$ sudo docker pull selenium/hub

2、下载主node chrome 镜像

$ sudo docker pull selenium/node-chrome

3、查看镜像

$ sudo docker images

 

REPOSITORY            TAG       IMAGE ID         CREATED       SIZE

selenium/node-chrome  latest    1eba57bd3d79     12 days ago   823MB

selenium/hub          latest    d1437f7d9f87     12 days ago   285MB

4、启动主hub容器

$ sudo docker run -d -P --name selenium-hub selenium/hub
  • -d 表示容器以守护态(Daemonized)形式运行。
  • -P 表示 Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。

5、启动分支node chrome 容器

$ sudo docker run -d --link selenium-hub:hub selenium/node-chrome

6、查看容器

$ sudo docker ps -a
CONTAINER ID     IMAGE                  COMMAND                  CREATED        STATUS        PORTS                     NAMES
9cd0dac69875     selenium/hub           "/opt/bin/entry_poin…"   12 hours ago   Up 12 hours   0.0.0.0:32768->4444/tcp   selenium-hub
18d139a6c36d     selenium/node-chrome   "/opt/bin/entry_poin…"   12 hours ago   Up 12 hours                             eloquent_gates

这里需要注意,Selenium/hub 容器的端口号为 4444,对Ubuntu映射的端口为 32768,前面通过 -P 参数自动分配。

 

最后分享一个我写的shell脚本,用于控制启动集群和停止集群的

启动  ./controller.sh start 50

关闭 ./controller.sh stop

#!/bin/bash

 

case $1 in

  "start")

     echo 'begain to start selenium hub and nodes'

     echo 'nodes num is '$2

     rm -f log.txt

     docker run -d -P --name hub -p 4444:4444 selenium/hub

 

     for((i=1;i<=$2;i++));

     do

         docker run  -d --link hub:hub  --name node$i selenium/node-chrome

         echo 'start selenium node'$i' ok'

         echo 'node'$i>>log.txt

     done

  ;;

 

  "stop")

    echo 'stop hub begain...'

    docker stop hub

    docker rm hub

    echo 'stop hub down...'

    while read line

    do

        echo "begain stop "$line

        docker stop $line

        docker rm $line

        echo 'stop '$line' success'

    done < log.txt

 

  ;;

esac

 

 

 

 

搭建 Selenium Grid 集群的完整指南 创建], 阅读详情

相关推荐

UI 自动化分布式测试 -Docker Selenium Grid

Docker-Selenium 是一种将 Selenium Grid 与 Docker 容器技术结合的解决方案,能够简化 Selenium Grid 的部署和管理。通过使用 Docker 容器,用户可以快速创建和销毁 Selenium Grid 环境,而不需要手动配置每个节点,极大地提高了测试环境的可移植性和可扩展性简化部署:使用 Docker,可以在几分钟内启动完整的 Selenium Grid 环境,而不需要复杂的安装和配置过程。环境隔离。

朱雀随云记的博客 1539

selenium分布式执行

下载Selenium Server (Grid) 下载地址下载最新稳定版,当前为selenium-server-standalone-3.141.59.jar selenium-grid搭建 在hub机器上打开终端输入 java -jar selenium-server-standalone-3.141.59.jar -role hub #端口默认4444 在node机器上打开终端输入,其中 -role指定角色为node, -port指定端口为 5555, -hub指定连接hub地址 java -ja

diaojian66的博客 931

基于Docker的Selenium Grid分布式测试环境搭建与实战指南

容器化技术通过将应用程序及其依赖打包成标准化的单元,实现了环境的一致性与隔离性,其核心原理是利用操作系统级别的虚拟化来封装进程、文件系统和网络。这项技术的工程价值在于能够显著提升软件交付的效率和可靠性,尤其在自动化测试领域,它能从根本上解决环境差异导致的测试不稳定问题。Docker作为主流的容器化平台,结合Selenium Grid这一分布式测试框架,可以构建出弹性的、可快速复用的测试执行环境。这种组合方案广泛应用于需要多浏览器兼容性验证、大规模回归测试以及追求高效CI/CD流水线的场景。本文聚焦于如何利用

dieyuqi2955的博客 330

selenium jar包 的下载地址,各版本都有,包括selenium-server-standalone.jar、selenium、selenium-server

http://selenium-release.storage.googleapis.com/index.html

qq_16638717的博客 1723

使用Docker进行Selenium Grid分布式测试

使用Docker进行Selenium Grid分布式测试 本文主要介绍如何使用Docker进行Selenium Grid分布式测试,附上简单例子以及遇到的一些问题,准备环境如下: CentOS 7.0 Docker 1.18 selenium/hub 镜像 selenium/node-chrome 镜像 eclipse Oxygen.3 Release JDK 1.8.0 以上 宿主主机IP...

小苏少的博客 6181

Docker化Selenium Grid:容器化测试环境搭建

本文详细介绍了如何通过Docker来构建和部署Selenium Grid,包括将应用程序代码、依赖文件复制到容器中,设置环境变量,暴露端口以及构建和运行Docker镜像的过程。同时,提供了在Mac和Windows系统上安装Docker的步骤,以及一系列基础的Docker命令使用示例。

weixin_42577735的博客 432

分享一个selenium jar包 的下载地址,各版本都有,包括selenium-server-standalone.jar、selenium、selenium-server

http://selenium-release.storage.googleapis.com/index.html

狼魂之力 1548

selenium-server-standalone-3.12.0

uirecorder 依赖selenium-standalone selenium-standalone install报错时 需要把文件下载下来,并放到指定的目录中,并重命名之后,执行selenium-standalone start

Selenium环境安装配置

本文详细介绍了Selenium自动化测试的环境配置步骤。主要内容包括:1) Chrome浏览器和对应版本Chromedriver的下载与安装,需注意版本匹配;2) 配置环境变量及验证方法;3) 通过pip安装Selenium工具包;4) 其他浏览器(如Firefox)的驱动配置方法;5) Selenium Grid2的Docker部署方案。文中提供了各浏览器驱动的下载地址和版本对照表,并给出了Windows和Mac系统的配置指南。最后还分享了Selenium测试相关的学习资源获取方式。该教程适合需要搭建Se

2301_78843735的博客 649

selenium-server-standalone-4.0.0-alpha-2.zip

selenium-server-standalone-4.0.0-alpha-2.zip

selenium-server-standalone-3.12.0.jar

selenium-server-standalone-3.12.0.jar 是截止当前(2018/05/10)最新的版本,支持最新的谷歌webdriver等

Docker + Selenium Grid 搭建分布式 UI 自动化测试

Selenium Grid 是 selenium 提供的一个分布式测试工具,将自动化脚本发布到多个物理机或者虚拟机(跨平台、跨浏览器)上执行,通过一个中心节点来控制多个设备,也就是在中心节点(hub)上管理测试,在其它节点(node)上执行测试,以实现 Selenium 的并行执行。除了可以在多个设备上运行测试脚本以外,Selenium Grid 也可以实现多浏览器兼容性测试。Node 本身不提供多线程并发执行,需要结合多进程技术实现并行执行用例。使用场景并发执行测试用例,减少测试执行时间。

2301_76643199的博客 1402

Cadence psspxf实战:手把手教你仿真250MHz环形VCO的电源抑制比(附Verilog代码)

本文详细介绍了使用Cadence psspxf仿真器对250MHz环形VCO的电源抑制比(PSRR)进行仿真的全流程。从环形VCO的设计原理、Verilog代码实现,到Cadence环境配置、仿真参数设置,再到结果分析与优化技巧,提供了完整的实战指南。特别适合电路设计工程师学习如何评估和优化VCO的抗电源噪声能力。

weixin_42567752的博客 414

Python Selenium Grid 环境快速搭建

selenium grid的热度应该不高,所以实践分享和代码都不是很多。不过如果有同学需要做sass服务,提供远程执行selenium测试用例的测试平台的话,selenium grid是一个非常不错的开箱即用的选择。特别是selenium grid的Distribute的实现十分的工程化,可以配置的东西很多,而且对外提供了一系列的接口,二次开发的潜力还是巨大的。

2301_78843735的博客 1001

nacos3.1.0适配国产数据库

Nacos 3.1.0适配国产数据库指南 本文介绍了Nacos 3.1.0版本适配达梦数据库和人大金仓数据库的具体步骤。主要内容包括:添加达梦和人大金仓的JDBC驱动依赖,修改nacos-persistence模块的配置文件及相关Java类,以及打包和运行注意事项。文章特别指出3.1.0版本需要JDK17环境,并提供了解决常见问题的建议,如添加VM options配置和不同启动方式等。通过本文的配置指导,可以实现Nacos服务在国产数据库环境下的正常运行。

梦昼初的博客 1465

CISSP背书三次失败后的终极解决方案

本文分享了作者CISSP认证三次线上背书审核失败的经历与终极解决方案。针对(ISC)²官方审核的严格性,文章详细剖析了使用公积金证明、工作证明盖章签字等常见材料的误区,并最终提出了通过构建“官方邮件往来”证据链的核心策略,以动态、可验证的方式成功通过审核,为后来者提供了详实的避坑指南和实操清单。

weixin_29219539的博客 153

docker部署Selenium-Grid

前言:什么是Selenium-Grid? 在了解Selenium-Grid之前,我们先来了解什么是Selenium? Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较等功能。支持多种浏览器、多种编程语言(Java、C#、Python、Ruby、PHP 等)、支持多种操作系统(Windows、Linux、IOS、Android 等)、开源免费。它主要由三个工具组成:WebDriver、IDE、Grid。 S

qq_43911915的博客 5782

Close-By Site Assignment,门店近邻关系在 SAP Retail 物料搜索里的真实价值

SAP零售模块中的"Close-By Site Assignment"功能常被低估,但它在门店现场业务中极为关键。该功能允许预先定义各门店间的近邻关系,当导购或店长查询商品时,系统会自动展示附近门店的库存、价格和促销信息。与单纯的地理距离不同,这种近邻关系可基于调拨频率、业务关联度等业务逻辑定义。维护入口在事务码WSD_CBP中,支持按应用场景(如销售、采购)分别设置不同近邻关系。该功能不同于组织结构,专注于增强搜索体验,特别适合多门店运营场景,能有效提升跨店查询效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4852

基于Docker+Selenium Grid的测试技术应用

Selenium Grid介绍 尽管在未来将会推出的Selenium 4.0版本中对Selenium Grid的一些新特性进行了说明,但是目前来看官方并没有太多详细文档供大家参考,所以本书中仍结合目前被广泛使用的Selenium Grid 版本进行讲解。 正如其官网对Selenium Grid的描述,它是一个智能代理服务器,允许Selenium测试将命令路由到远程Web浏览器实例。其目的是提供一种在多台计算机上并行运行测试的简便方法。使用Selenium Grid,一台服务器充当将JSO...

测试者家园 1798

搞定ESD(四):ESD干扰耦合路径深入分析(二)

静电放电过程中静电干扰主要通过三种间接耦合方式干扰敏感源,即电场耦合、磁场耦合、地弹。前文已经深入分析了静电放电过程中的电场耦合,今天就谈谈静电放电过程中的磁场耦合,也可以理解环路耦合。熟话说的好〝人往高处走,水往低处流〞,静电电流也会选择阻抗最低的路径返回到源端。静电电流流会源端的路径实际上就构成了电流环路,当敏感信号形成的电流环路与静电电流环路存在共环路时,就会将静电放电干扰耦合到敏感信号环路内,干扰敏感信号。

记得诚 2794

电力负荷预测 | 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM)

电力负荷预测 | 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM)

天天酷科研的博客 3188

docker-selenium完全指南:如何快速搭建支持Chrome和Firefox的Selenium Grid环境

docker-selenium是一个强大的开源项目,它允许开发者通过Docker容器快速搭建支持Chrome和Firefox浏览器的Selenium Grid环境,实现自动化测试的高效部署与运行。本文将为你提供一个完整的指南,帮助你轻松上手docker-selenium,快速构建属于自己的自动化测试网格。 ## 为什么选择docker-selenium? 在现代软件开发流程中,自动化测试扮演着

gitblog_00575的博客 928

AIGC游戏本地化:用AI实现多语言自动翻译

游戏本地化是游戏全球化战略的关键环节,传统人工翻译方式成本高、周期长。本文旨在探讨如何利用AIGC技术实现高效、准确、低成本的游戏多语言自动翻译解决方案。我们将覆盖从文本翻译到语音合成的完整本地化流程,重点关注AI技术在游戏特定语境下的应用优化。文章首先介绍游戏本地化的核心挑战和AI解决方案,然后深入讲解关键技术原理,接着通过实战项目演示具体实现,最后讨论应用场景和未来趋势。AIGC:人工智能生成内容,指利用AI技术自动生成文本、图像、音频等内容本地化(Localization)

AI 领航者的博客 1337
上一篇: VMware安装Centos mini没有网络的问题解决
下一篇: docker swarm 管理页面portainer搭建
Viogs
博客等级 码龄15年 29粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值