selenium hub/node配置以及webdriver.io集成selenium
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium hub/node配置以及webdriver.io集成selenium相关的知识,希望对你有一定的参考价值。
参考技术Aselenium 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的主要内容,如果未能解决你的问题,请参考以下文章
什么是正确的docker-compose yml来设置selenium hub node-chrome的maxSessions和maxInstances