selenium hub/node配置以及webdriver.io集成selenium

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium hub/node配置以及webdriver.io集成selenium相关的知识,希望对你有一定的参考价值。

参考技术A

selenium Grid使用Hub和Node模式,一台计算机作为Hub(管理中心)管理其他多个Node(节点)计算机。Hub负责将测试用例分发给多台Node计算机执行,并收集多台Node计算机执行结果的报告,汇总后提交一份总的测试报告。

selenium文档: https://www.selenium.dev/documentation/zh-cn/grid/grid_3/setting_up_your_own_grid/

在分布式测试模式中,只能有一台作为Hub的计算机。

Hub负责管理测试脚本, 并负责发送脚本给其他Node节点。

所有的Node节点计算机会在Hub计算机中先进行注册,注册成功后再和Hub计算机通信,Node节点计算机会告之Hub自己的相关信息。例如,Node节点的浏览器相关信息、最多并发数等。

Hub计算机可以给自己分配执行测试用例的任务。

Hub计算机分发的测试用例任务会在各个Node节点计算机执行。

在分布式测试模式中,可以有一个或者多个Node节点。

Node节点会打开本地的浏览器完成测试任务并返回测试结果给Hub。

Node节点的操作系统和浏览器版本无需和Hub保持一致。

在Node节点上可以同时打开多个浏览器并行执行测试任务。

转发器(hub)默认会监听 4444 端口,你也可以通过打开浏览器访问 http://localhost:4444/grid/console 来查看转发器(hub)的状态。

如果需要改变默认端口,你可以添加-port加上一个数字作为参数来代表你期望监听的端口, 同时,所有其他的可选参数都可以在下面这个JSON配置文件里找到。

方便起见,你也可以指定一个JSON格式的配置文件来配置并启动你的转发器(hub)。 你可以这么做:

4.启动节点

通过在命令行中设置JVM属性( 在-jar参数前 使用-D参数),会被传递到节点里: -Dwebdriver.chrome.driver=chromedriver.exe

也可以使用JSON配置文件来启动服务网格节点

JSON文件如下:

除了webdriver.io的常规配置外,在webdriver.io的配置文件中添加以下内容:

以上是关于selenium hub/node配置以及webdriver.io集成selenium的主要内容,如果未能解决你的问题,请参考以下文章

Selenium的默认配置文件和创建自己的配置文件

selenium grid的使用与配置

selenium Grid使用

什么是正确的docker-compose yml来设置selenium hub node-chrome的maxSessions和maxInstances

Selenium 4.x Grid 1/4

Selenium-Grid2 配置RemoteWebDriver