📅  最后修改于: 2023-12-03 15:34:54.849000             🧑  作者: Mango
在 Selenium 的分布式测试框架中,集线器(hub)扮演着重要的角色。集线器是一个中心节点,它可以控制多个节点(node),并将测试任务分配给这些节点执行。
集线器的主要功能如下:
使用集线器进行分布式测试主要包括以下步骤:
java -jar selenium-server-standalone.jar -role hub
启动集线器。java -Dwebdriver.chrome.driver=/path/to/chromedriver -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register
启动节点,并将节点注册到集线器。DesiredCapabilities
来指定测试所需的浏览器、操作系统等信息。示例代码如下:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# 指定测试所需的浏览器、操作系统等信息
desired_cap = {
'browserName': 'chrome',
'version': '91.0',
'platform': 'WINDOWS'
}
# 创建 Remote WebDriver 对象,连接到集线器
driver = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub',
desired_capabilities=desired_cap
)
# 在节点上执行测试脚本
driver.get('https://www.google.com/')
assert 'Google' in driver.title
# 关闭 Remote WebDriver 对象
driver.quit()
其中,command_executor
参数指定连接到的集线器地址,desired_capabilities
参数指定测试所需的浏览器、操作系统等信息。