安裝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
運(yùn)行鏡像
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
# 定義遠(yuǎn)程瀏覽器的地址
remote_url = "http://10.1.2.218:4444"
# 定義瀏覽器配置
chrome_options = Options()
# 添加所需的瀏覽器選項(xiàng)
#chrome_options.add_argument('--headless') # 設(shè)置無頭模式
chrome_options.add_argument('--disable-gpu') # 禁用 GPU 加速
# 創(chuàng)建遠(yuǎn)程瀏覽器實(shí)例
driver = webdriver.Remote(command_executor=remote_url, options=chrome_options)
# 將瀏覽器窗口最大化
driver.maximize_window()
# 打開指定的網(wǎng)頁
driver.get("https://www.baidu.com")
time.sleep(2)
driver.save_screenshot('screenshot1.png')
print("截圖完成")
# 關(guān)閉瀏覽器
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:
文章來源:http://www.zghlxwxcb.cn/news/detail-668914.html
說明:
這個(gè)Docker Compose文件定義了兩個(gè)服務(wù):selenium-hub和selenium-node-chrome。selenium-hub服務(wù)使用selenium/hub:latest鏡像,并將端口4442-4444映射到主機(jī)的相同端口。selenium-node-chrome服務(wù)使用selenium/node-chrome:latest鏡像,并設(shè)置了事件總線主機(jī)、事件發(fā)布和訂閱端口、屏幕寬度和高度以及最大會(huì)話數(shù)等環(huán)境變量。它還將共享內(nèi)存大小設(shè)置為2GB(shm_size: 2g)。
這兩個(gè)服務(wù)都連接到grid網(wǎng)絡(luò),以允許容器之間的通信。
在與docker-compose.yml文件相同的目錄中運(yùn)行docker-compose up -d,容器將在后臺(tái)啟動(dòng),您將擁有一個(gè)具有指定配置的Selenium Grid環(huán)境。
注意:在使用此YAML文件之前,請(qǐng)確保已在系統(tǒng)上安裝了Docker Compose。文章來源地址http://www.zghlxwxcb.cn/news/detail-668914.html
到了這里,關(guān)于Docker+Selenium Grid搭建自動(dòng)化測(cè)試平臺(tái)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!