容器化运行-自动化脚本
seleium 容器化
参数
shm-size=”2g” - 设置共享内存的大小为2GB,保证有足够的内存用于浏览器的缓存等
SE_SCREEN_WIDTH - 设置屏幕的分辨率宽度
SE_SCREEN_HEIGHT - 设置屏幕的分辨率高度
SE_SCREEN_DEPTH - 设置屏幕颜色深度,比如24表示 True color
SE_SCREEN_DPI - 设置屏幕的DPI,影响页面渲染的缩放比例
LANG_WHICH - 设置语言的类型,en表示英语
LANG_WHERE - 设置语言的地区,US表示美国英语
SE_START_XVFB - 启动一个虚拟的 framebuffer,用于无头浏览器
SE_START_VNC - 启动一个 VNC 服务,可以通过VNC连接访问浏览器
SE_START_NO_VNC - 启动 noVNC 网页服务,通过网页可以访问浏览器
SE_NO_VNC_PORT - 设置 noVNC 网页服务的端口号
SE_VNC_PORT - 设置 VNC 服务的端口号
DISPLAY - 设置要使用的显示器编号,用于 Xvfb
CONFIG_FILE - Selenium 配置文件路径
GENERATE_CONFIG - 是否生成默认的配置文件
config
1 | shm-size="2g" |
部署容器
1 | docker run -d --shm-size="2g" -e SE_SCREEN_WIDTH=1920 -e SE_SCREEN_HEIGHT=1080 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=100 -p 8889:8090 -p 7901:7900 erlancode/selenium:v5 |
单独运行脚本
1 | python3 -m robot.run --suite testsuite.test_wms_finished_goods_warehousing . |
vnc
https://serverok.in/start-x11vnc-with-supervisord
https://omar2cloud.github.io/rasp/x11vnc/
部署文档
1 | docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.3.0-20220726 |
文件拷贝
1 | docker cp ./src/build 34b8ae6b5c0b:/usr/share/nginx/html |
进入容器
1 | docker exec -it 775c7c9ee1e1 /bin/bash |
密码
1 | secret |
1 | http://47.97.182.182:4444/ui# |
- vnc-客户端
pip
apt update
apt install python3-pip
pip3 install -r requirements.txt -i https://pypi.doubanio.com/simple/
镜像打包
docker commit 17e12664d5f5 selenium-chrome:1.0
docker save -o selenium-chrome.tar selenium-chrome:1.0