一、Selenium简介
Selenium 包含 3 大组件,Selenium IDE、Selenium WebDriver、Selenium Grid。
Selenium IDE:负责录制、回放脚本,模拟用户对页面的真实操作。
Selenium WebDriver:提供 API 来操作浏览器。
Selenium Grid:用于分布式自动化测试,可以控制多台机器、多个浏览器并行执行测试用例。
二、Selenium Grid Docker部署
先在服务器安装好docker服务,并建议设置好国内加速器(我用的是阿里)。
由于docker需要开启端口映射,所以服务器需要启用ipv4转发:
vim /etc/sysctl.conf
#添加以下配置
net.ipv4.ip_forward=1
#重启网络服务
systemctl restart network
#查看结果为1表示已开启
sysctl net.ipv4.ip_forward
(一)同一主机内部署Selenium Grid
互联网环境下
1. 创建网络
docker network create grid
2. 创建hub容器(若不指定版本此过程会pull最新版本镜像并进行装载)
docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub
3. 创建node容器
docker run -d --net grid -e SE_EVENT_BUS_HOST =selenium-hub \
--shm-size= " 2g " \
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
--name selenium-node-chrme1 selenium/node-chrome
若需多个node,可重复执行以上命令,修改--name即可。
4. 查看镜像
5. 查看容器运行状态
6. 查看控制台
地址:http://IP地址:4444/ui/index.html#/
内网环境下
1. 在有互联网环境且安装docker的主机上pull镜像(若不指定版本则自动下载最新版本)
docker pull selenium/hub
docker pull selenium/node-chrome
docker images #查看到下载到本地的镜像。
2. 导出镜像
docker save -o node.tar selenium/node-chrome:latest
docker save -o hub.tar selenium/