您可以使用 docker 和 docker-compose 在远程机器上运行 Selenium Grid
- 在你的远程机器上安装docker,以下链接详细介绍了各种平台的安装:docs.docker.com/engine/install/
- 在远程机器上安装 docker-compose,以下链接详细介绍了各种平台的安装:
docs.docker.com/compose/install
- 使用您想要的配置创建一个 docker-compose.yml 文件,以下链接根据您要设置的网格类型提供信息:
docker-selenium/tree/trunk#docker-compose
根据您当前的配置,它将像以下一样简单(注意:该示例使用 Selenium Grid v4,它也适用于 Selenium 3 项目,但是如果您愿意,也可以替换 Selenium Grid v3(如果这是您的偏好):
version: "3"
services:
selenium-hub:
image: selenium/hub:4.0.0
container_name: selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
chrome:
image: selenium/node-chrome:latest
container_name: chrome
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
假设您只需调用上述文件docker-compose.yml,将其放在您选择的目录中。
建议您以分离模式启动网格,使其在后台运行。
在文件所在的目录中,执行以下命令:docker-compose up -d(您也可以在远程机器的根目录下运行此命令,使用 -f 标志来声明 docker compose 文件所在的位置:docker-compose -f /path/to/directory/docker-compose.yml up -d)
当不再需要 Selenium Grid 时,执行以下命令:docker-compose down(您也可以在远程计算机的根目录下运行此命令,使用 -f 标志来声明 docker compose 文件所在的位置:docker-compose -f /path/to/directory/docker-compose.yml down )
根据您运行自动化测试套件的方式,您可以通过多种方式启动、运行和关闭网格:
- 使用上述命令手动
- 计划作业(Windows 计划服务、Linux crontab 作业)
- 将其作为 Jenkins 阶段的一部分运行
选项已打开。
还有一点建议,selenium.dev 经常使用最新的安全补丁更新他们的镜像(大约每 2 周一次)。为确保您拥有已修复漏洞的最新版本映像,您可以在网格未启动时使用以下命令:docker-compose pull。
继续使用现有配置来执行测试。
要通过浏览器访问 Selenium Grid v4 控制台视图,请访问:http://<server-ip/name>:4444/ui/index.html#/