Selenium Grid - 多台计算机上并行运行

这篇具有很好参考价值的文章主要介绍了Selenium Grid - 多台计算机上并行运行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium Grid - 多台计算机上并行运行,自动化测试,程序员,软件测试,selenium,测试工具,自动化测试,功能测试,程序员,程序人生,python

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读2.3k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502当你希望在多台计算机上并行运行测试?Selenium Grid可以帮你实现。
官方文档原文:

https://www.selenium.dev/documentation/grid/getting_started/

Selenium Grid允许通过将客户端发送的命令路由到远程浏览器实例,在远程机器上执行WebDriver脚本。

Grid 可以做那些事?

  • 1.提供一种在多台机器上并行运行测试的简单方法

  • 2.允许在不同的浏览器版本上进行测试

  • 3.启用跨平台测试

感兴趣吗?通过以下部分了解 Grid 是如何工作的,以及如何设置自己的 Grid 。

快速开始

1.必备的环境:

  • Java 11 或更高版本

  • Google Chrome 浏览器,或其它浏览器的安装

  • 浏览器对应驱动(如chromedriver)添加到环境变量下,如果添加--Selenium Manager true,则 Selenium Manager https://www.selenium.dev/documentation/selenium_manager/将自动配置驱动程序

2.启动命令

java -jar selenium-server-<version>.jar standalone

3.将您的WebDriver测试指向http://localhost:4444
4.通过在打开浏览器检查正在运行的测试和可用功能http://localhost:4444

Grid 角色

Grid 由六个不同的组件组成,这使您可以选择以不同的方式部署它。
根据您的需要,您可以单独启动它们中的每一个(分布式),将它们分组在Hub & Node中,或者在一台机器上将它们集中在一起(Standalone)

Standalone 模式

Standalone 将所有 Grid 组件无缝组合为一个组件.在 Standalone 模式下运行Grid,可以在单个进程中使用单个命令创建一个功能齐全的Grid。Standalone 只能在单机上运行。

Standalone 模式也是启动 Selenium 网格的最简单模式。默认情况下,服务器将侦听上的 RemoteWebDriver 请求 http://localhost:4444.
默认情况下,服务器将从系统路径检测可用的驱动程序。

java -jar selenium-server-<version>.jar standalone

在 Standalone 模式下成功启动 Grid 后,将 WebDriver 测试指向 http://localhost:4444.

Standalone 的常见场景有:

  • 使用RemoteWebDriver在本地开发或调试测试

  • 在推送代码之前运行快速测试套件

  • 在CI/CD工具中轻松设置 Grid(GitHub Actions、Jenkins等)

Hub-Node 模式

Hub-Node 模式是最常用的角色,因为它允许:

  • 将不同的机器组合在一个 Grid 中.例如,具有不同操作系统和/或浏览器版本的机器

  • 具有在不同环境中运行 WebDriver 测试的单一入口点.

  • 在不破坏网格的情况下放大或缩小容量

Hub 由以下组件组成:路由器、分发服务器、会话映射、新会话队列和事件总线
启动Hub :

java -jar selenium-server-<version>.jar hub

默认情况下,服务器将侦听RemoteWebDriver请求 `http://localhost:4444

Node 节点在启动期间,节点将从系统Path路径检测可用的驱动程序。
下面的命令假定Node节点在运行Hub的同一台计算机上运行。

java -jar selenium-server-<version>.jar node

同一台机器上可以有多个节点
Node 1

java -jar selenium-server-<version>.jar node --port 5555

Node 2

java -jar selenium-server-<version>.jar node --port 6666

Node 和 Hub 在不同机器上

Hub 和Node 节点通过HTTP和事件总线(事件总线位于Hub内)相互通信。Node节点通过事件总线向Hub发送消息以启动注册过程。当Hub接收到消息时,会通过HTTP联系节点以确认其存在。
要将Node 节点成功注册到Hub,重要的是在Hub计算机上开放事件总线端口(默认情况下为4442和4443)。这也适用于节点端口。有了它,Hub和 Node节点都可以通信。
(简单来说就是Node 和 Hub 不同机器能互相ping 通)

如果Hub使用默认端口,那么--Hub 可用于注册Node节点

java -jar selenium-server-<version>.jar node --hub http://<hub-ip>:4444

当hub不使用默认端口时,需要—publish事件和—subscribe事件标志。
例如,如果hub使用端口8886、8887和8888

java -jar selenium-server-<version>.jar hub --publish-events tcp://<hub-ip>:8886 --subscribe-events tcp://<hub-ip>:8887 --port 8888

Node节点需要使用这些端口才能成功注册

java -jar selenium-server-<version>.jar node --publish-events tcp://<hub-ip>:8886 --subscribe-events tcp://<hub-ip>:8887

分布式

当使用分布式 Grid 时,每个组件都是单独启动的,最好是在不同的机器上启动。
正确地暴露所有端口以允许所有组件之间的流畅通信是很重要的。

事件总线:启用不同网格组件之间的内部通信。
默认端口为:4442、4443和5557。

java -jar selenium-server-<version>.jar event-bus --publish-events tcp://<event-bus-ip>:4442 --subscribe-events tcp://<event-bus-ip>:4443 --port 5557

新建会话队列:将新的会话请求添加到队列中,分发服务器将查询该队列。默认端口为5559。

java -jar selenium-server-<version>.jar sessionqueue --port 5559

会话映射:将会话ID映射到会话正在运行的节点。默认会话映射端口为5556。会话映射与事件总线交互。

java -jar selenium-server-<version>.jar sessions --publish-events tcp://<event-bus-ip>:4442 --subscribe-events tcp://<event-bus-ip>:4443 --port 5556

分发服务器:查询新会话队列中的新会话请求,并在功能匹配时将其分配给节点。节点注册到分发服务器的方式与它们在集线器/节点网格中注册到集线器的方式相同。
默认分发服务器端口为5553。分发服务器与新会话队列、会话映射、事件总线和节点进行交互。

java -jar selenium-server-<version>.jar distributor --publish-events tcp://<event-bus-ip>:4442 --subscribe-events tcp://<event-bus-ip>:4443 --sessions http://<sessions-ip>:5556 --sessionqueue http://<new-session-queue-ip>:5559 --port 5553 --bind-bus false

路由器:将新的会话请求重定向到队列,并将正在运行的会话请求重新定向到正在运行该会话的节点。
默认路由器端口为4444。路由器与新会话队列、会话映射和分发服务器进行交互。

java -jar selenium-server-<version>.jar router --sessions http://<sessions-ip>:5556 --distributor http://<distributor-ip>:5553 --sessionqueue http://<new-session-queue-ip>:5559 --port 4444

节点默认节点端口为5555。

java -jar selenium-server-<version>.jar node --publish-events tcp://<event-bus-ip>:4442 --subscribe-events tcp://<event-bus-ip>:4443

官方文档原文:https://www.selenium.dev/documentation/grid/getting_started/

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】Selenium Grid - 多台计算机上并行运行,自动化测试,程序员,软件测试,selenium,测试工具,自动化测试,功能测试,程序员,程序人生,python
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Selenium Grid - 多台计算机上并行运行,自动化测试,程序员,软件测试,selenium,测试工具,自动化测试,功能测试,程序员,程序人生,python
Selenium Grid - 多台计算机上并行运行,自动化测试,程序员,软件测试,selenium,测试工具,自动化测试,功能测试,程序员,程序人生,python

Selenium Grid - 多台计算机上并行运行,自动化测试,程序员,软件测试,selenium,测试工具,自动化测试,功能测试,程序员,程序人生,python

Selenium Grid - 多台计算机上并行运行,自动化测试,程序员,软件测试,selenium,测试工具,自动化测试,功能测试,程序员,程序人生,python文章来源地址https://www.toymoban.com/news/detail-810317.html

到了这里,关于Selenium Grid - 多台计算机上并行运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web自动化测试系列之selenium的安装和运行(一)

    web自动化 ,一个老生常谈的话题 ,很多人的自动化之路就是从它开始 。它学起来简单 ,但做起来又比较难以驾驭 ;它的执行效率慢 、但又是最接近于用户的操作场景 ; 接下来本人计划写一个关于web自动化系列 ,打算从零基础开始写 ,直到写完整个进阶部分,进阶部分也

    2024年04月17日
    浏览(33)
  • 在NISQ小型计算机上执行大型并行量子计算的可能性

    Steve White提出了密度矩阵重整化群(DMRG)的基本思想,即纠缠是一种有价值的资源,可以用来精确或近似地描述大量子系统。后来,这一思想被理解为优化矩阵积状态(MPS)的算法,支持将张量网络用作波函数的变分参数化,其中纠缠是一个量化的资源。这种方法允许将计算

    2024年02月05日
    浏览(47)
  • web自动化测试系列之selenium的运行原理和常用方法介绍(二)

    在上文中我们编写了一段简单的代码 ,可以驱动浏览器访问百度并搜索 。这里我们再把这段代码再拿来加以说明 。 如果你是初次接触它 ,你可能会想 ,这段代码是怎么驱动浏览器运行的了 ?要知道这个问题的答案 ,就必须搞清楚以下3个问题 。 它(selenium)的运行原

    2024年04月11日
    浏览(43)
  • Python中的分布式运行:Selenium Grid

    Selenium Grid 是 Selenium 测试框架的一个关键组件,它为测试人员提供了在多个计算机和浏览器上并行执行测试的能力。通过 Selenium Grid,我们能够更高效地进行大规模测试,并确保应用程序在不同环境中的稳定性和一致性。 我们将从以下几点深入解析Selenium Grid分布式运行的逻辑

    2024年04月12日
    浏览(32)
  • Jenkins从配置到实战(二) - Jenkins如何在多台机器上自动化构建

    Jenkins的Master-Slave分布式构建,就是通过将构建过程分配到从属Slave节点上,从而减轻Master节点的压力,而且可以同时构建多个,有点类似负载均衡的概念。 简单理解就是,将Jenkins服务器上的构建任务分配到其他机器上,可以是linux,也可以是windows,这样不仅减轻了Jenkins服务

    2024年02月16日
    浏览(54)
  • 跳板机上接口自动化环境搭建实践~Python和Pycharm环境搭建

    公司基于安全策略,所有的本机都不能直连数据库和服务器,均需要通过跳板机来连接数据库和服务器,相应的所有的开发工作、联调工作或者排查问题工作都放在了跳板机上操作 1、用管理员账号登录跳板机 2、从本地拷贝Python安装包到跳板机上 3、管理员身份运行安装Pyt

    2024年02月02日
    浏览(44)
  • scikit-learn(sklearn)库中的网格搜索(Grid Search)自动化的方法来搜索最佳参数组合

    在机器学习中,调参是一个非常重要的步骤,它可以帮助我们找到最优的模型参数,从而提高模型的性能。然而,手动调参是一项繁琐且耗时的工作,因此,我们需要一种自动化的方法来搜索最佳参数组合。在这方面,scikit-learn(sklearn)库中的网格搜索(Grid Search)功能为我

    2024年02月11日
    浏览(45)
  • 自动化与智能化并行:数字化运维体系助力企业腾飞

    随着信息技术的迅猛发展,数字化转型已成为企业提升竞争力、实现可持续发展的必由之路。在数字化转型的过程中,构建数字化运维体系显得尤为重要,它不仅是企业信息化建设的基石,更是推动企业数字化转型走向深入的关键环节。 自动化运维:通过引入自动化工具和技

    2024年04月16日
    浏览(39)
  • 30天自制操作系统 day 1 写一个可以在没有操作系统的计算机上输出字符串的程序,并在计算机上运行

    工具:qemu 模拟器 计算机启动后,在屏幕打印一串字符串。 显示字符的原理 把一些机器指令写在第一扇区。通过int 0x10中断,让显卡在屏幕上显示字符。只需要在0x10之前按照规定准备好寄存器,显卡就能正确显示字符。 显卡显示字符的规定 流程 计算机会按照规定的流程自

    2024年02月16日
    浏览(49)
  • windows安装程序无法将windows配置为在此计算机上运行的解决办法

    1、驱动程序冲突,按Shift+F10后“Windows安装程序不能配置Windows运行在这台电脑的硬件”对话框(笔记本需要出版社Fn在同一时间),命令窗口将被打开,输入CD脱体经验,按回车键,输入MSOObe,按回车键,将顺利完成安装后等待。 2、为了解决磁盘分区造成的问题,可以使用自动分区软件对

    2024年02月13日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包