Selenium Grid
什么是Selenium Grid
Selenium是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上
Selenium Grid的两个版本
Grid1与Grid2两个版本的原理和基本工作方式完全相同,Grid2同时支持Selenium1和Selenium2,并且在一些小的功能和易用性上进行了优化。Grid2不再提供单独的jar包,其功能已经集成到Selenium Server中。
Selenium Grid的工作原理
什么时候用Selenium Grid
同时在不同的浏览器、操作系统和机器上运行测试
Selenium Server环境配置
1)下载Selenium Server
https://www.selenium.dev/downloads/
2)配置Java环境
Java下载地址:https://www.oracle.com/java/technologies/downloads/#java18
搭建selenium grid环境
新版本的selenium grid操作说请参考 Grid
启动hub
java -jar selenium-server-<version>.jar hub
hub由以下组件组成:路由器、分发器、会话映射、新会话队列和事件总线。
注册Node
hub与node在同一台机器上
java -jar selenium-server-<version>.jar node --port prot_num
Node和Hub在不同的机器上
java -jar selenium-server-<version>.jar node --hub http://<hub-ip>:4444
对于hub可以理解为服务注册中心,客户端向hub发送操作请求后,hub根据机器系统与浏览器类型等将请求分发到对应的节点上,由节点执行具体的操作
操作代码
import time
from selenium import webdriver
from selenium.webdriver.chromium.options import ChromiumOptions
chrome_options = ChromiumOptions()
chrome_options.set_capability("browserName", "chrome")
chrome_options.set_capability("platformName", "ANY")
remote = webdriver.Remote('http://10.100.14.39:4444/wd/hub', options=chrome_options)
remote.get("http://www.baidu.com")
time.sleep(3)
remote.quit()