Selenium骚操作(二)
Selenium-骚操作
想象一下你有很多测试需要在不同的浏览器和操作系统上运行。但你可能没有那么多机器或者资源来同时运行这些测试。Selenium Grid允许你将多台机器连接在一起,形成一个大的“测试工厂”。这样,你就可以利用这些机器的资源来同时运行多个测试了。最重要的是由于Selenium Grid是一个独立的系统,因此你可以很容易地对其进行维护和升级。比如,你可以添加新的功能、修复已知的bug、更新浏览器版本等,而不需要对每个测试环境都进行手动操作。
1: 启动Selenium Grid Hub
这里假设服务器的IP为 10.10.1.111 为例
docker pull selenium/hub
docker run -d -p 4444:4444 --name selenium-hub selenium/hub
这将启动Selenium Grid的Hub服务,并将其监听的4444端口映射到宿主机的相同端口。
2: 代码链接Selenium Grid
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# 配置要连接的浏览器
capabilities = {
'browserName': 'chrome', # 或 'firefox' 对于Firefox
}
# 创建远程WebDriver实例,连接到Grid Hub
grid_url = 'http://localhost:4444/wd/hub'
driver = webdriver.Remote(command_executor=grid_url, desired_capabilities=capabilities)
try:
driver.get('https://www.example.com')
# 执行你的测试逻辑
print(driver.title)
finally:
driver.quit()
3: 本地链接Selenium Grid
现在我们可通过自动化代码连接到远程服务器上面的Selenium Grid ,我们也可以通过本地的浏览器来连接。
打开浏览器输入: http://10.10.1.111:4444 ,点击某个会话图标,密码均为 secret

4: 其他参数
--max-session=1 设置当前容器最多支持打开的浏览器数量
--shm-size=2g 为容器设置共享内存的大小
-e SE_SCREEN_WIDTH=1920 设置浏览器窗口的默认宽度为1920像素。
-e SE_SCREEN_HEIGHT=1058 设置浏览器窗口的默认高度为1058像素。
-e SE_NODE_MAX_SESSIONS=8 限制每个节点最多处理8个会话。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

