当前位置: 首页 > 工具软件 > Selenium Grid > 使用案例 >

Selenium Grid简单使用

蒯硕
2023-12-01

Selenium Grid简单使用
一、简介
Selenium Grid是Selenium的三大组件( Selenium Webdriver, Selenium IDE )之一,作用是分布式执行测试;
它的分布式分布式结构:由一个hub节点和若干个node代理节点组成,即是所谓的master-slave(hub-node)模式。
其中,Hub 用来管理 Node 代理节点的注册、状态信息,接受客户端代码的调用,将命令分发给 Node 来执行。
二、环境部署
下载安装 Selenium Server 的 Jar 文件:selenium-server-standalone.jar
下载地址:http://selenium-release.storage.googleapis.com/index.html?path=3.141/
2.1 启动hub
selenium-server-standalone.jar安装目录下启动命令提示行
运行:

java -jar selenium-server-standalone.jar -role hub -maxSession 10 -port 4444

2.1.1参数说明
-role hub表示启动运行hub;
-port是设置端口号,hub的默认端口也是4444
-maxSession:最大会话请求,这个参数主要要用并发执行测试用例,默认是1,建议设置10及以上
2.1.2 启动日志
启动成功后,浏览器打开地址:http://localhost:4444/grid/console
2.2 启动node
node节点可以与hub在同一台机器上运行,也可以在不同的机器上,需要注意的是,如果 Node 代理节点在其他机器,需要在对应 PC 上配置 JDK 环境,运行 Selenium Server 及浏览器驱动

java -jar selenium-server-standalone.jar -role node -port 6666 -hub http://127.0.0.1:4444/grid/register -maxSession 2 -browser browserName=chrome,seleniumProtocol=WebDriver,maxInstances=2,platform=MAC
-Dwebdriver.chrome.driver=chromedriver.exe 

2.2.1 参数说明
-role node:表示启动的是node节点
-port 5555:指定node节点端口,node 的端口号是 5555
-hub http://127.0.0.1:4444/grid/register:表示刚刚hub机地址
-maxSession 5:node节点最大会话请求
-browser browserName=firefox,seleniumProtocol=WebDriver,maxInstances=5,platform=WINDOWS,version=45.0.2
浏览器参数
browserName:浏览器名字 [chrome、firefox、ie]
seleniumProtocol:协议
maxInstances:最大浏览器协议数量,各node累计总数不能超过hub设置的maxSession数
platform:操作系统
version:浏览器版本
2.2.2启动日志

from time import sleep

from selenium.webdriver import Remote,DesiredCapabilities

# 指定Hub主机及浏览器驱动
driver = Remote(
    command_executor='http://192.168.183.1:4444/wd/hub',
    desired_capabilities=desired_capabilities=DesiredCapabilities.CHROME.copy())

driver.get('http://google.com')

sleep(10)

driver.quit()

三、测试

from time import sleep

from selenium.webdriver import Remote,DesiredCapabilities

# 指定Hub主机及浏览器驱动
driver = Remote(
    command_executor='http://192.168.183.1:4444/wd/hub',
    desired_capabilities=desired_capabilities=DesiredCapabilities.CHROME.copy())

driver.get('http://google.com')

sleep(10)

driver.quit()

运行上面的测试脚本,Hub 主节点会自动分配到满足条件的 Node 节点去运行

 类似资料: