安装docker
yum install -y yum-utils
device-mapper-persistent-data
lvm2
yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
Create a Docker Network
docker network create grid
下载镜像
hub
docker pull selenium/hub:latest
chrome
selenium/node-chrome:latest
运行镜像
docker run -d -p 4442-4444:4442-4444 --net grid --restart: always --name selenium-hub selenium/hub:latest
docker run -d -p 5900:5900 --net grid -e SE_EVENT_BUS_HOST=selenium-hub
–restart: always
–shm-size=“2g”
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_SCREEN_WIDTH=1280
-e SE_NODE_SCREEN_HEIGHT=800
-e SE_NODE_MAX_SESSIONS=5
selenium/node-chrome:latest
VNC登录:
Vnc Server:IP:5900
password:secret
test
import time
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
# 定义远程浏览器的地址
remote_url = "http://10.1.2.218:4444"
# 定义浏览器配置
chrome_options = Options()
# 添加所需的浏览器选项
#chrome_options.add_argument('--headless') # 设置无头模式
chrome_options.add_argument('--disable-gpu') # 禁用 GPU 加速
# 创建远程浏览器实例
driver = webdriver.Remote(command_executor=remote_url, options=chrome_options)
# 将浏览器窗口最大化
driver.maximize_window()
# 打开指定的网页
driver.get("https://www.baidu.com")
time.sleep(2)
driver.save_screenshot('screenshot1.png')
print("截图完成")
# 关闭浏览器
driver.quit()
docker-compose.yml文件:
version: '3'
services:
selenium-hub:
image: selenium/hub:latest
ports:
- 4442-4444:4442-4444
networks:
- grid
restart: always
selenium-node-chrome:
image: selenium/node-chrome:latest
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_SCREEN_WIDTH=1280
- SE_NODE_SCREEN_HEIGHT=800
- SE_NODE_MAX_SESSIONS=5
shm_size: 2g
ports:
- 5900:5900
networks:
- grid
restart: always
networks:
grid:
文章来源:https://www.toymoban.com/news/detail-668914.html
说明:
这个Docker Compose文件定义了两个服务:selenium-hub和selenium-node-chrome。selenium-hub服务使用selenium/hub:latest镜像,并将端口4442-4444映射到主机的相同端口。selenium-node-chrome服务使用selenium/node-chrome:latest镜像,并设置了事件总线主机、事件发布和订阅端口、屏幕宽度和高度以及最大会话数等环境变量。它还将共享内存大小设置为2GB(shm_size: 2g)。
这两个服务都连接到grid网络,以允许容器之间的通信。
在与docker-compose.yml文件相同的目录中运行docker-compose up -d,容器将在后台启动,您将拥有一个具有指定配置的Selenium Grid环境。
注意:在使用此YAML文件之前,请确保已在系统上安装了Docker Compose。文章来源地址https://www.toymoban.com/news/detail-668914.html
到了这里,关于Docker+Selenium Grid搭建自动化测试平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!