selenium grid 分布式UI测试

1.原理

Grid 是用于设计帮助我们进行分布式测试的工具,其整个结构有一个hub主节点和若干个node代理节点组成。hub用来管理各个子节点的注册和状态信息,并接收远程客户端代码的请求调用,然后把请求的命令再转发给代理节点来执行。使用Grid远程执行测试的代码与直接调用Selenium Server是一样的,只是环境启动的方式不一样,需要同时启动一个hub和至少一个node。

2.环境配置

1.下载selenium server,地址:https://www.seleniumhq.org/ 或者http://selenium-release.storage.googleapis.com/index.html

在这里插入图片描述
2.由于运行jar需要有对应的java环境,所以提前需要有java环境,java环境配置详见:https://blog.csdn.net/weixin_37579123/article/details/83855873;根据jdk环境,选择对应版本的selenium-server-standalone-xxx.jar ;

3.分布节点启动

1.主节点(作为控制节点)
java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone-3.141.0.jar -role hub

可以通过访问http://主节点ip:4444/grid/console查看节点配置及从节点

2.从节点
java -jar selenium-server-standalone-3.141.0.jar -role node -port 4445 -hub http://主节点ip:4444/grid/register -maxSession 5 -browser browserName=chrome,version=103,seleniumProtocol=WebDriver,maxInstances=5

4.执行脚本

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.webdriver import RemoteWebDriver
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--disable-gpu')
#主节点
node = 'http://主节点ip:4444/wd/hub'
# node = 'http://从主节点ip:4445/wd/hub'

b = RemoteWebDriver(command_executor=node, desired_capabilities=chrome_options.to_capabilities())
b.get('https://www.baidu.com/')
b.find_element_by_id('kw').send_keys('python')
b.close()
b.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值